@@ -33,7 +33,7 @@ func (robo *Robot) tmiMessage(ctx context.Context, send chan<- *tmi.Message, msg
33
33
log := slog .With (slog .String ("trace" , m .ID ), slog .String ("in" , ch .Name ))
34
34
log .InfoContext (ctx , "privmsg" , slog .Duration ("bias" , time .Since (m .Time ())))
35
35
defer log .InfoContext (ctx , "end" )
36
- if ch .Ignore [m .Sender ] {
36
+ if ch .Ignore [m .Sender . ID ] {
37
37
log .InfoContext (ctx , "message from ignored user" )
38
38
return
39
39
}
@@ -42,7 +42,7 @@ func (robo *Robot) tmiMessage(ctx context.Context, send chan<- *tmi.Message, msg
42
42
return
43
43
}
44
44
if cmd , ok := parseCommand (robo .tmi .name , m .Text ); ok {
45
- robo .command (ctx , log , ch , m , m . Sender , cmd )
45
+ robo .command (ctx , log , ch , m , cmd )
46
46
return
47
47
}
48
48
ch .History .Add (m .Time (), m )
@@ -56,7 +56,7 @@ func (robo *Robot) tmiMessage(ctx context.Context, send chan<- *tmi.Message, msg
56
56
m .Text = t
57
57
}
58
58
robo .learn (ctx , log , ch , robo .hashes (), m )
59
- switch err := ch .Memery .Check (m .Time (), m .Sender , m .Text ); err {
59
+ switch err := ch .Memery .Check (m .Time (), m .Sender . ID , m .Text ); err {
60
60
case channel .ErrNotCopypasta : // do nothing
61
61
case nil :
62
62
// Meme detected. Copypasta.
@@ -142,20 +142,20 @@ func (robo *Robot) tmiMessage(ctx context.Context, send chan<- *tmi.Message, msg
142
142
robo .sendTMI (ctx , send , out )
143
143
}
144
144
145
- func (robo * Robot ) command (ctx context.Context , log * slog.Logger , ch * channel.Channel , m * message.Received [string ], from , cmd string ) {
145
+ func (robo * Robot ) command (ctx context.Context , log * slog.Logger , ch * channel.Channel , m * message.Received [message. User ] , cmd string ) {
146
146
robo .Metrics .TMICommandCount .Observe (1 )
147
147
var c * twitchCommand
148
148
var args map [string ]string
149
149
level := "any"
150
150
switch {
151
- case from == robo .tmi .owner :
151
+ case m . Sender . ID == robo .tmi .owner :
152
152
c , args = findTwitch (twitchOwner , cmd )
153
153
if c != nil {
154
154
level = "owner"
155
155
break
156
156
}
157
157
fallthrough
158
- case ch .Mod [from ], m .IsModerator :
158
+ case ch .Mod [m . Sender . ID ], m .IsModerator :
159
159
c , args = findTwitch (twitchMod , cmd )
160
160
if c != nil {
161
161
level = "mod"
@@ -192,12 +192,12 @@ func (robo *Robot) command(ctx context.Context, log *slog.Logger, ch *channel.Ch
192
192
}
193
193
194
194
// learn learns a given message's text if it passes ch's filters.
195
- func (robo * Robot ) learn (ctx context.Context , log * slog.Logger , ch * channel.Channel , hasher userhash.Hasher , msg * message.Received [string ]) {
195
+ func (robo * Robot ) learn (ctx context.Context , log * slog.Logger , ch * channel.Channel , hasher userhash.Hasher , msg * message.Received [message. User ]) {
196
196
if ! ch .Enabled .Load () {
197
197
log .DebugContext (ctx , "not learning in disabled channel" )
198
198
return
199
199
}
200
- switch err := robo .privacy .Check (ctx , msg .Sender ); err {
200
+ switch err := robo .privacy .Check (ctx , msg .Sender . ID ); err {
201
201
case nil : // do nothing
202
202
case privacy .ErrPrivate :
203
203
log .DebugContext (ctx , "private sender" )
@@ -214,12 +214,11 @@ func (robo *Robot) learn(ctx context.Context, log *slog.Logger, ch *channel.Chan
214
214
log .DebugContext (ctx , "no learn tag" )
215
215
return
216
216
}
217
- user := hasher .Hash (msg .Sender , msg .To , msg .Time ())
217
+ user := hasher .Hash (msg .Sender . ID , msg .To , msg .Time ())
218
218
m := brain.Message {
219
219
ID : msg .ID ,
220
220
To : msg .To ,
221
221
Sender : user ,
222
- Name : msg .Name ,
223
222
Text : msg .Text ,
224
223
Timestamp : msg .Timestamp ,
225
224
IsModerator : msg .IsModerator ,
0 commit comments