@@ -101,64 +101,64 @@ func init() {
101101// required, running any commands the User may have called.
102102// It also accepts a boolean indicating if the line of input is from slack, in
103103// which case some commands will not be run (such as ./tz and ./exit)
104- func runCommands (line string , u * User ) {
105- line = rmBadWords (line )
104+ func runCommands (msg Message ) {
105+ msg . text = rmBadWords (msg . text )
106106
107- if u .IsMuted {
108- u . writeln (NewMessage (u . Name , line ))
107+ if msg . sender .IsMuted {
108+ msg . sender . writeln (NewMessage (msg . sender , msg . text ))
109109 return
110110 }
111111
112- if line == "" {
112+ if msg . text == "" {
113113 return
114114 }
115115 defer protectFromPanic ()
116- currCmd := strings .Fields (line )[0 ]
117- if u .messaging != nil && currCmd != "=" && currCmd != "cd" && currCmd != "exit" && currCmd != "pwd" { // the commands allowed in a private dm room
118- dmRoomCMD (line , u )
116+ currCmd := strings .Fields (msg . text )[0 ]
117+ if msg . sender .messaging != nil && currCmd != "=" && currCmd != "cd" && currCmd != "exit" && currCmd != "pwd" { // the commands allowed in a private dm room
118+ dmRoomCMD (msg . text , msg . sender )
119119 return
120120 }
121- if strings .HasPrefix (line , "=" ) && ! u .isBridge {
122- dmCMD (strings .TrimSpace (strings .TrimPrefix (line , "=" )), u )
121+ if strings .HasPrefix (msg . text , "=" ) && ! msg . sender .isBridge {
122+ dmCMD (strings .TrimSpace (strings .TrimPrefix (msg . text , "=" )), msg . sender )
123123 return
124124 }
125125
126126 switch currCmd {
127127 case "hang" :
128- hangCMD (strings .TrimSpace (strings .TrimPrefix (line , "hang" )), u )
128+ hangCMD (strings .TrimSpace (strings .TrimPrefix (msg . text , "hang" )), msg . sender )
129129 return
130130 case "cd" :
131- cdCMD (strings .TrimSpace (strings .TrimPrefix (line , "cd" )), u )
131+ cdCMD (strings .TrimSpace (strings .TrimPrefix (msg . text , "cd" )), msg . sender )
132132 return
133133 case "shrug" :
134- shrugCMD (strings .TrimSpace (strings .TrimPrefix (line , "shrug" )), u )
134+ shrugCMD (strings .TrimSpace (strings .TrimPrefix (msg . text , "shrug" )), msg . sender )
135135 return
136136 case "mute" :
137- muteCMD (strings .TrimSpace (strings .TrimPrefix (line , "mute" )), u )
137+ muteCMD (strings .TrimSpace (strings .TrimPrefix (msg . text , "mute" )), msg . sender )
138138 return
139139 case "clear" :
140- if clear_if_rest_empty (strings .TrimSpace (strings .TrimPrefix (line , "clear" )), u ) {
140+ if clear_if_rest_empty (strings .TrimSpace (strings .TrimPrefix (msg . text , "clear" )), msg . sender ) {
141141 return
142142 }
143143 }
144144
145- if u .isBridge {
146- u . room .broadcastNoBridges (NewMessage ( u . Name , line ) )
145+ if msg . sender .isBridge {
146+ msg . sender . room .broadcastNoBridges (msg )
147147 } else {
148- u . room .broadcast (NewMessage ( u . Name , line ) )
148+ msg . sender . room .broadcast (msg )
149149 }
150150
151- devbotChat (u . room , line )
151+ devbotChat (msg . sender . room , msg . text )
152152
153- args := strings .TrimSpace (strings .TrimPrefix (line , currCmd ))
153+ args := strings .TrimSpace (strings .TrimPrefix (msg . text , currCmd ))
154154
155- if runPluginCMDs (u , currCmd , args ) {
155+ if runPluginCMDs (msg . sender , currCmd , args ) {
156156 return
157157 }
158158
159159 if cmd , ok := getCMD (currCmd ); ok {
160160 if cmd .argsInfo != "" || args == "" {
161- cmd .run (args , u )
161+ cmd .run (args , msg . sender )
162162 }
163163 }
164164}
@@ -175,21 +175,21 @@ func dmCMD(rest string, u *User) {
175175 return
176176 }
177177 msg := strings .TrimSpace (strings .TrimPrefix (rest , restSplit [0 ]))
178- u .writeln (NewPrivateMessage (peer . Name , msg , true ))
178+ u .writeln (NewPrivateMessage (peer , msg , true ))
179179 if u == peer {
180180 devbotRespond (u .room , []string {"You must be really lonely, DMing yourself." ,
181181 "Don't worry, I won't judge :wink:" ,
182182 "srsly?" ,
183183 "what an idiot" }, 30 )
184184 return
185185 }
186- peer .writeln (NewPrivateMessage (u . Name , msg , false ))
186+ peer .writeln (NewPrivateMessage (u , msg , false ))
187187}
188188
189189func hangCMD (rest string , u * User ) {
190190 if len ([]rune (rest )) > 1 {
191191 if ! u .isBridge {
192- u .writeln (NewMessage (u . Name , "hang " + rest ))
192+ u .writeln (NewMessage (u , "hang " + rest ))
193193 u .writeln (NewDevbotMessage ("(that word won't show dw)" ))
194194 }
195195 hangGame = & hangman {rest , 15 , " " } // default value of guesses so empty space is given away
@@ -198,7 +198,7 @@ func hangCMD(rest string, u *User) {
198198 return
199199 }
200200 if ! u .isBridge {
201- u .room .broadcast (NewMessage (u . Name , "hang " + rest ))
201+ u .room .broadcast (NewMessage (u , "hang " + rest ))
202202 }
203203 if strings .Trim (hangGame .word , hangGame .guesses ) == "" {
204204 u .room .broadcast (NewDevbotMessage ("The game has ended. Start a new game with hang <word>" ))
@@ -248,15 +248,15 @@ func usersCMD(_ string, u *User) {
248248}
249249
250250func dmRoomCMD (line string , u * User ) {
251- u .writeln (NewPrivateMessage (u .messaging . Name , line , true ))
251+ u .writeln (NewPrivateMessage (u .messaging , line , true ))
252252 if u == u .messaging {
253253 devbotRespond (u .room , []string {"You must be really lonely, DMing yourself." ,
254254 "Don't worry, I won't judge :wink:" ,
255255 "srsly?" ,
256256 "what an idiot" }, 30 )
257257 return
258258 }
259- u .messaging .writeln (NewPrivateMessage (u . Name , line , false ))
259+ u .messaging .writeln (NewPrivateMessage (u , line , false ))
260260}
261261
262262// named devmonk at the request of a certain ced
@@ -382,14 +382,14 @@ func cdCMD(rest string, u *User) {
382382 }
383383 }
384384 if rest == ".." { // cd back into the main room
385- u .room .broadcast (NewMessage (u . Name , "cd " + rest ))
385+ u .room .broadcast (NewMessage (u , "cd " + rest ))
386386 if u .room != MainRoom {
387387 u .changeRoom (MainRoom )
388388 }
389389 return
390390 }
391391 if strings .HasPrefix (rest , "#" ) {
392- u .room .broadcast (NewMessage (u . Name , "cd " + rest ))
392+ u .room .broadcast (NewMessage (u , "cd " + rest ))
393393 if len (rest ) > MaxRoomNameLen {
394394 rest = rest [0 :MaxRoomNameLen ]
395395 u .room .broadcast (NewDevbotMessage ("Room name lengths are limited, so I'm shortening it to " + rest + "." ))
@@ -403,7 +403,7 @@ func cdCMD(rest string, u *User) {
403403 return
404404 }
405405 if rest == "" {
406- u .room .broadcast (NewMessage (u . Name , "cd " + rest ))
406+ u .room .broadcast (NewMessage (u , "cd " + rest ))
407407 type kv struct {
408408 roomName string
409409 numOfUsers int
@@ -756,7 +756,7 @@ func pwdCMD(_ string, u *User) {
756756}
757757
758758func shrugCMD (line string , u * User ) {
759- u .room .broadcast (NewMessage (u . Name , line + ` ¯\\_(ツ)_/¯` ))
759+ u .room .broadcast (NewMessage (u , line + ` ¯\\_(ツ)_/¯` ))
760760}
761761
762762func pronounsCMD (line string , u * User ) {
@@ -949,7 +949,7 @@ func eightBallCMD(_ string, u *User) {
949949 }
950950 go func () {
951951 time .Sleep (time .Second * time .Duration (rand .Intn (10 )))
952- u .room .broadcast (NewMessage ("8ball" , responses [rand .Intn (len (responses ))]+ u .Name ))
952+ u .room .broadcast (NewFakeUserMessage ("8ball" , responses [rand .Intn (len (responses ))]+ u .Name , u . room ))
953953 }()
954954}
955955
0 commit comments