This commit is contained in:
cdle
2021-09-18 11:24:33 +08:00
parent a94cf8f3d9
commit ed2c08f5ee
2 changed files with 31 additions and 1 deletions
+6
View File
@@ -224,6 +224,11 @@ func start() {
c.MarkPrivateMessageReaded(m.Sender.Uin, int64(m.Time))
}
}
onTempMessage := func(c *client.QQClient, e *client.TempMessageEvent) {
core.Senders <- &Sender{
Message: e.Message,
}
}
OnGroupMessage := func(_ *client.QQClient, m *message.GroupMessage) {
core.Senders <- &Sender{
Message: m,
@@ -231,6 +236,7 @@ func start() {
}
bot.Client.OnPrivateMessage(onPrivateMessage)
bot.Client.OnGroupMessage(OnGroupMessage)
bot.Client.OnTempMessage(onTempMessage)
if qq.Get("onself", "true") == "true" {
bot.Client.OnSelfPrivateMessage(onPrivateMessage)
bot.Client.OnSelfGroupMessage(OnGroupMessage)
+25 -1
View File
@@ -25,6 +25,8 @@ func (sender *Sender) GetContent() string {
switch sender.Message.(type) {
case *message.PrivateMessage:
text = coolq.ToStringMessage(sender.Message.(*message.PrivateMessage).Elements, 0, true)
case *message.TempMessage:
text = coolq.ToStringMessage(sender.Message.(*message.TempMessage).Elements, 0, true)
case *message.GroupMessage:
m := sender.Message.(*message.GroupMessage)
text = coolq.ToStringMessage(m.Elements, m.GroupCode, true)
@@ -37,6 +39,8 @@ func (sender *Sender) GetUserID() int {
switch sender.Message.(type) {
case *message.PrivateMessage:
id = int(sender.Message.(*message.PrivateMessage).Sender.Uin)
case *message.TempMessage:
id = int(sender.Message.(*message.TempMessage).Sender.Uin)
case *message.GroupMessage:
id = int(sender.Message.(*message.GroupMessage).Sender.Uin)
}
@@ -46,7 +50,6 @@ func (sender *Sender) GetUserID() int {
func (sender *Sender) GetChatID() int {
id := 0
switch sender.Message.(type) {
case *message.PrivateMessage:
case *message.GroupMessage:
id = int(sender.Message.(*message.GroupMessage).GroupCode)
}
@@ -62,6 +65,8 @@ func (sender *Sender) GetMessageID() int {
switch sender.Message.(type) {
case *message.PrivateMessage:
id = int(sender.Message.(*message.PrivateMessage).Id)
case *message.TempMessage:
id = int(sender.Message.(*message.TempMessage).Id)
case *message.GroupMessage:
id = int(sender.Message.(*message.GroupMessage).Id)
}
@@ -73,6 +78,8 @@ func (sender *Sender) GetUsername() string {
switch sender.Message.(type) {
case *message.PrivateMessage:
name = sender.Message.(*message.PrivateMessage).Sender.Nickname
case *message.TempMessage:
name = sender.Message.(*message.TempMessage).Sender.Nickname
case *message.GroupMessage:
name = sender.Message.(*message.GroupMessage).Sender.Nickname
}
@@ -129,6 +136,8 @@ func (sender *Sender) IsAdmin() bool {
if m.Target == m.Sender.Uin {
return true
}
case *message.TempMessage:
return false
case *message.GroupMessage:
m := sender.Message.(*message.GroupMessage)
sid = m.Sender.Uin
@@ -158,6 +167,21 @@ func (sender *Sender) Reply(msgs ...interface{}) error {
if content != "" {
bot.SendPrivateMessage(m.Sender.Uin, int64(qq.GetInt("groupCode")), &message.SendingMessage{Elements: []message.IMessageElement{&message.TextElement{Content: content}}})
}
case *message.TempMessage:
m := sender.Message.(*message.TempMessage)
content := ""
switch msg.(type) {
case string:
content = msg.(string)
case []byte:
content = string(msg.([]byte))
case *http.Response:
data, _ := ioutil.ReadAll(msg.(*http.Response).Body)
bot.SendPrivateMessage(m.Sender.Uin, int64(qq.GetInt("groupCode")), &message.SendingMessage{Elements: []message.IMessageElement{&coolq.LocalImageElement{Stream: bytes.NewReader(data)}}})
}
if content != "" {
bot.SendPrivateMessage(m.Sender.Uin, int64(qq.GetInt("groupCode")), &message.SendingMessage{Elements: []message.IMessageElement{&message.TextElement{Content: content}}})
}
case *message.GroupMessage:
var id int32
m := sender.Message.(*message.GroupMessage)