openwechat
openwechat copied to clipboard
func (m *Message) ReplyText(content string) (*SentMessage, error) 报错 Ret(1204)
Bot.MessageHandler // 注册消息处理函数 类似下面这样
func m2essageHandler(msg *openwechat.Message) {
sentMsg, err := msg.ReplyText("filehelper")
if err != nil {
log.Print(err)
}else{
log.Printf("[自动回复]: %v --> %v %v", sentMsg.SendMessage.FromUserName, sentMsg.SendMessage.ToUserName, sentMsg.SendMessage)
}
}
在log.Print(err)
返回了Ret(1204)
我不清楚是怎么回事
但是使用 Self.SendTextToFriend函数可以成功发送消息 msg.Bot.GetCurrentUser().SendTextToFriend(friend *Friend, text string) (*SentMessage, error) 类似下面这样
func m2essageHandler(msg *openwechat.Message) {
self, _ = msg.Bot.GetCurrentUser()
sentMsg2, err := self.SendTextToFriend(openwechat.NewFriendHelper(self), "pong") // 给文件助手发消息
}
不是所有的消息都是可以回复的,有的是系统消息 你下面的那种写法是只发送给文件传输助手
@eatmoreapple 你好,我也遇到了相同的问题,是在对我自己发送消息时出现的
@eatmoreapple 你好,我也遇到了相同的问题,是在对我自己发送消息时出现的
我也遇到了,你解决了吗
遇到了同样的问题,复现方式:登陆 a 账号之后,再登陆 b 账号,b 账号接收消息报错 Ret(1204)
我收到群里面自己的消息,然后回复 就会报错1204,msg.IsComeFromGroup()这里返回的是true 但是获取到的nickname是我自己的昵称不是群的昵称
我也遇到了,msg.ReplyText 回复自己的消息就会报错
我也遇到了,msg.ReplyText 回复自己的消息就会报错
我自己改了改代码解决了。。
@riba2534 怎么修改的求教
无法发送消息给自己,否则会返回1204的错误
在发送ReplyText之前判断一下,如果是自己发送的,给一个另外的识别码。方法均来自mssage.go(/usr/local/go/bin/pkg/mod/github.com/eatmoreapple/[email protected]/message.go) if reply != nil { msg.FromUserName = func() string { s := msg.FromUserName if msg.IsSendBySelf() { s = msg.ToUserName } return s }() _, err = msg.ReplyText(*reply) if err != nil { log.Println(err) } return err }