瀏覽代碼

ensure IsBot gets propagated into history

tags/v2.6.0-rc1
Shivaram Lingamneni 3 年之前
父節點
當前提交
88b877fce4
共有 2 個檔案被更改,包括 6 行新增2 行删除
  1. 4
    1
      irc/channel.go
  2. 2
    1
      irc/nickname.go

+ 4
- 1
irc/channel.go 查看文件

@@ -1288,6 +1288,7 @@ func (channel *Channel) SetTopic(client *Client, topic string, rb *ResponseBuffe
1288 1288
 		Nick:        details.nickMask,
1289 1289
 		AccountName: details.accountName,
1290 1290
 		Message:     message,
1291
+		IsBot:       isBot,
1291 1292
 	}, details.account)
1292 1293
 
1293 1294
 	channel.MarkDirty(IncludeTopic)
@@ -1370,6 +1371,7 @@ func (channel *Channel) SendSplitMessage(command string, minPrefixMode modes.Mod
1370 1371
 	}
1371 1372
 
1372 1373
 	details := client.Details()
1374
+	isBot := client.HasMode(modes.Bot)
1373 1375
 	chname := channel.Name()
1374 1376
 
1375 1377
 	if !client.server.Config().Server.Compatibility.allowTruncation {
@@ -1402,7 +1404,7 @@ func (channel *Channel) SendSplitMessage(command string, minPrefixMode modes.Mod
1402 1404
 	rb.addEchoMessage(clientOnlyTags, details.nickMask, details.accountName, command, chname, message)
1403 1405
 
1404 1406
 	var cache MessageCache
1405
-	cache.InitializeSplitMessage(channel.server, details.nickMask, details.accountName, client.HasMode(modes.Bot), clientOnlyTags, command, chname, message)
1407
+	cache.InitializeSplitMessage(channel.server, details.nickMask, details.accountName, isBot, clientOnlyTags, command, chname, message)
1406 1408
 	for _, member := range channel.Members() {
1407 1409
 		if minPrefixMode != modes.Mode(0) && !channel.ClientIsAtLeast(member, minPrefixMode) {
1408 1410
 			// STATUSMSG or OpModerated
@@ -1430,6 +1432,7 @@ func (channel *Channel) SendSplitMessage(command string, minPrefixMode modes.Mod
1430 1432
 			Nick:        details.nickMask,
1431 1433
 			AccountName: details.accountName,
1432 1434
 			Tags:        clientOnlyTags,
1435
+			IsBot:       isBot,
1433 1436
 		}, details.account)
1434 1437
 	}
1435 1438
 }

+ 2
- 1
irc/nickname.go 查看文件

@@ -85,12 +85,14 @@ func performNickChange(server *Server, client *Client, target *Client, session *
85 85
 		return err
86 86
 	}
87 87
 
88
+	isBot := !isSanick && client.HasMode(modes.Bot)
88 89
 	message := utils.MakeMessage("")
89 90
 	histItem := history.Item{
90 91
 		Type:        history.Nick,
91 92
 		Nick:        origNickMask,
92 93
 		AccountName: details.accountName,
93 94
 		Message:     message,
95
+		IsBot:       isBot,
94 96
 	}
95 97
 	histItem.Params[0] = assignedNickname
96 98
 
@@ -102,7 +104,6 @@ func performNickChange(server *Server, client *Client, target *Client, session *
102 104
 			target.server.snomasks.Send(sno.LocalNicks, fmt.Sprintf(ircfmt.Unescape("Operator %s changed nickname of $%s$r to %s"), client.Nick(), details.nick, assignedNickname))
103 105
 		}
104 106
 		target.server.whoWas.Append(details.WhoWas)
105
-		isBot := !isSanick && client.HasMode(modes.Bot)
106 107
 		rb.AddFromClient(message.Time, message.Msgid, origNickMask, details.accountName, isBot, nil, "NICK", assignedNickname)
107 108
 		for session := range target.Friends() {
108 109
 			if session != rb.session {

Loading…
取消
儲存