@@ -11,7 +11,7 @@ import (
11
11
)
12
12
13
13
func CreateMeeting (ctx context.Context , startDate string , endDate string ) (models.DiscordResponses , error ) {
14
- startDateTime , err := time .Parse ("2006-01-02" , startDate )
14
+ startDateTime , err := time .Parse ("2006-01-02" , startDate ) //YYYY-MM-DD
15
15
if err != nil {
16
16
return models.DiscordResponses {}, fmt .Errorf ("failed converting startDate: %v" , err )
17
17
}
@@ -24,26 +24,72 @@ func CreateMeeting(ctx context.Context, startDate string, endDate string) (model
24
24
days := endDateTime .Sub (startDateTime ).Hours () / 24
25
25
daysInt := int (math .Round (days ))
26
26
var responseMessages []discordgo.Message
27
+ initialMessage := discordgo.Message {
28
+ Content : "Please react with your availability during the following days. Try to react with as many emojis as possible." ,
29
+ }
30
+ responseMessages = append (responseMessages , initialMessage )
27
31
for i := 0 ; i < daysInt ; i ++ {
28
32
displayDateTime := startDateTime .AddDate (0 , 0 , i )
29
33
dayName := displayDateTime .Weekday ()
30
- fmt .Println (dayName )
31
34
35
+ formattedDisplayDate := displayDateTime .Format ("2006-01-02" )
36
+
37
+ firstReactions := createFirstHalfReactionsList ()
32
38
messageReturnFirstHalf := discordgo.Message {
33
- Content : "Please fill in your available time slots for first half of" + dayName .String () + ", date : " + displayDateTime . String () ,
39
+ Content : "First half of " + dayName .String () + "\n date(YYYY-MM-DD) : " + formattedDisplayDate + " \n All times are in GMT" ,
34
40
// TODO: start from here
35
- // Reactions: &[]discordgo.MessageReaction{} ,
41
+ Reactions : firstReactions ,
36
42
}
43
+
44
+ secondReactions := createSecondHalfReactionsList ()
37
45
messageReturnSecondHalf := discordgo.Message {
38
- Content : "Please fill in your available time slots for second half of" + dayName .String () + ", date: " + displayDateTime .String (),
46
+ Content : "Second half of " + dayName .String () + "\n date(YYYY-MM-DD): " + formattedDisplayDate + "\n All times are in GMT" ,
47
+ Reactions : secondReactions ,
39
48
}
40
49
41
- responseMessages [2 * i ] = messageReturnFirstHalf
42
- secondIndex := (2 * i ) + 1
43
- responseMessages [secondIndex ] = messageReturnSecondHalf
50
+ responseMessages = append (responseMessages , messageReturnFirstHalf )
51
+ responseMessages = append (responseMessages , messageReturnSecondHalf )
44
52
}
45
53
response := models.DiscordResponses {
46
54
Responses : responseMessages ,
47
55
}
48
56
return response , nil
49
57
}
58
+
59
+ func createFirstHalfReactionsList () []* discordgo.MessageReactions {
60
+ emojiList := []string {":12to1am:1001391717376860211" , ":1to2am:1001391662674739271" , ":2to3am:1001391667061989376" , ":3to4am:1001391671914811422" , ":4to5am:1001391676180414644" , ":5to6am:1001391680747995246" ,
61
+ ":6to7am:1001391686104133633" , ":7to8am:1001391690822729739" , "8to9am:1001391696279502859" , ":9to10am:1001391700972929034" ,
62
+ ":10to11am:1001391706522009611" , ":11to12noon:1001391714826735686" }
63
+ var response []* discordgo.MessageReactions
64
+ for _ , emojiName := range emojiList {
65
+ discordEmoji := discordgo.Emoji {
66
+ Name : emojiName ,
67
+ }
68
+
69
+ discordReaction := discordgo.MessageReactions {
70
+ Emoji : & discordEmoji ,
71
+ }
72
+
73
+ response = append (response , & discordReaction )
74
+ }
75
+ return response
76
+ }
77
+
78
+ func createSecondHalfReactionsList () []* discordgo.MessageReactions {
79
+ emojiList := []string {":1to2pm:1001391664805462046" , ":2to3pm:1001391669574373386" , ":3to4pm:1001391673982599189" ,
80
+ ":4to5pm:1001391678688600144" , ":5to6pm:1001391683054862386" , ":6to7pm:1001391688641675364" , ":7to8pm:1001391693322530847" ,
81
+ ":8to9pm:1001391698594762774" , ":9to10pm:1001391703632125952" , ":10to11pm:1001391709130862694" , ":11to12mid:1001391712108822549" }
82
+ var response []* discordgo.MessageReactions
83
+ for _ , emojiName := range emojiList {
84
+ discordEmoji := discordgo.Emoji {
85
+ Name : emojiName ,
86
+ }
87
+
88
+ discordReaction := discordgo.MessageReactions {
89
+ Emoji : & discordEmoji ,
90
+ }
91
+
92
+ response = append (response , & discordReaction )
93
+ }
94
+ return response
95
+ }
0 commit comments