Skip to content
This repository has been archived by the owner on Jul 9, 2020. It is now read-only.

发送消息失败 #11

Open
zzx0421 opened this issue May 16, 2016 · 25 comments
Open

发送消息失败 #11

zzx0421 opened this issue May 16, 2016 · 25 comments

Comments

@zzx0421
Copy link

zzx0421 commented May 16, 2016

调用SmartQQClient.sendMessageToFriend出现:发送失败,Api返回码[{"retcode":1202,"errmsg":""}]
偶尔又可以发送成功,这是什么情况?

@ScienJus
Copy link
Owner

Yinzo/SmartQQBot#56

可以看看是否与这个issue中的提到的方式有关

@88250
Copy link
Contributor

88250 commented May 18, 2016

@ScienJus 这个问题我这边也遇到了,我观察一下看看。

@ScienJus
Copy link
Owner

from [email protected]

以前几乎不会出现,最近两个月出现的特别频繁。而且不像是文本信息的问题,因为有的时候返回1202消息也能发送成功。

我怀疑是一种类似503错误,就是smartqq服务端处理不过来了。不过最恶心的是1202有的时候会发送成功,也就是没办法针对1202进行重试。

@cosineyan
Copy link

最终的解决方案:在群里起两个进程,一个用于发送消息,另一个用于监控消息是否收到。

@hexsum
Copy link
Contributor

hexsum commented Jun 4, 2016

就算能监控到消息发送失败也没用什么用、因为就是发不出去

@coswell
Copy link

coswell commented Jun 4, 2016

这个问题我是直接碰上1202就重新发送...直到发送成功或者达到一定的尝试次数才停止..

@williamybs
Copy link

最终还是能发的出去的。感觉是服务器不稳定而不是什么敏感词。碰到1202就重新发送--那你碰到一条信息重复发的情况肯定不大少。

@hexsum
Copy link
Contributor

hexsum commented Jun 4, 2016

这样会导致重复发送很多相同消息、用户体验不好

@88250
Copy link
Contributor

88250 commented Jun 6, 2016

@cosineyan 两个 QQ 就能解决问题么?

@cosineyan
Copy link

@88250 一个QQ用于发送消息,发送时如果遇到1202错误,保存记录到一个内存结构或者数据库里,标识时间,以及状态为等待consume。while循环sleep一秒,刷新这条记录的状态,如果是确认成功,则break,否则重发。再设定一个重试次数或时间。
另外一个QQ只用来监控1号QQ发出的群信息,如果有收到,并且同样的内容在最近一分钟内出现且状态为等待,则标识该记录为确认成功。
亲测可用。有时会造成用户问个问题时,机器人貌似考虑一小段时间再回答的诡异现象。。。

@88250
Copy link
Contributor

88250 commented Jun 6, 2016

@cosineyan 好的,多谢思路

@smaer780
Copy link

请求失败,Api返回码[103] 这个是什么情况呢

@hejianjun
Copy link

checkSendMsgResult方法里的LOGGER.error(String.format("发送失败,Api返回码[%d]", json.getInteger("retcode")));没有写条件呢?这样不是总是执行了么?

@hejianjun
Copy link

我这里老是提示“发送失败,Api返回码[null]”

@ScienJus
Copy link
Owner

@hejianjun 很无法理解的是,我完全没有印象我是这么写的…ORZ我去改一下…

@88250
Copy link
Contributor

88250 commented Jul 7, 2016

@ScienJus 这个 PR #22 里面我帮你修复了。

顺便感谢 @hejianjun 的反馈 🍇

@ScienJus
Copy link
Owner

ScienJus commented Jul 8, 2016

@88250 心酸…拖延症和健忘症并发…感谢…

@88250
Copy link
Contributor

88250 commented Jul 8, 2016

@ScienJus 注意身体,不要太忙哦....

@williamybs
Copy link

你们俩真是好基友啊

@kilingzhang
Copy link

kilingzhang commented Aug 2, 2016

额,今天使用的时候我也发现这个问题了。
然而我的状态码返回的是0

{u'msg':` u'send ok', u'errCode': 0}

但是我还是接收不到消息。无奈我刷屏才会成功返回我一两条消息。
最可气的是1202时我接收到消息了!不知道 怎么解决。

@ELLIEbleu
Copy link

我发现有时日志上显示机器人发群消息成功,但群里未收到消息。这是怎么回事??

@kookob
Copy link

kookob commented Jan 6, 2017

@88250
1202的问题,我测试了一种情况,发现是因为登录了太多次导致的。
然后我在w.qq.com上面登录一下,再退出账号,然后再用程序发送,就可以发送成功。

@88250
Copy link
Contributor

88250 commented Jan 7, 2017

@kookob 1202 很多可能性,能用就好 :)

@zxbit2011
Copy link

1 similar comment
@zxbit2011
Copy link

Sign up for free to subscribe to this conversation on GitHub. Already have an account? Sign in.
Labels
None yet
Projects
None yet
Development

No branches or pull requests