[avbot] 有个小需求~求帮助 (request)


#1

因为使用 webqq 接入,所以在登陆之时,预读信息时间较长,这段时间内,发送信息可能失效。

需求:可否在 rpc 中,加入 avbot 登陆qq号自己发出的消息。

这样可以侦测是否发出成功。麻烦了。


#2

能否详细一点说一下什么叫“在 rpc 中,加入 avbot 登陆qq号自己发出的消息”。

按照字面理解,你是希望新增一个RPC,能读取到avbot登陆的qq号的什么信息?


#3

抱歉……得病了,说话不大清楚。

就是,avbot 登陆的账号,在qq群内的发言,不会发送到 rpc 上。作为外接的程序,无法收到对应的消息。

所以,当 avbot 发送信息失败时,外接程序不知道。

所以希望不要过滤,全部发送给外接程序。

P.S. 如果再开一个 rpc ,用以发送被过滤掉、没有在现在rpc中的的那部分信息也相当不错!这样,外接程序也不需要知道 avbot 的登陆qq号了。


#4

还是没理解啊!!!


#5

不会吧!!!!!!


#6

建议这样阐述你的需求: 【背景】 【定义】 【场景】 【现状】 【期望】


#7

例如: 【背景】 本地测试avbot_8.0.0.1879在win7 (w64)下的稳定性。 运行环境:

【定义】 avbot_8.0.0.1879 是我自己下载最新源代码本机(既测试机)编译的。 配置文件中只有2行:

qqnum=17601032xx
qqpwd=qq20xx

该qq加入了7个不同人数的群,最少的群只有2个人,多的有300+人。

【场景】

启动avbot_8.0.0.1879后,稍等若干秒,bot显示登录成功,并列出群的名称和号码。

【现状】

1,此时我在一个最小的群里面发出ping指令,多次没有结果。疑似没有实际完成登录或正在登录中。

2,上述状态后几分钟(看了几次,好像都在7、8分钟左右的样子),bot重新开始登录。

重新登陆后,还是不响应命令(这次用的是version,上一次测试ping指令未响应,关闭过了几分钟再启动bot再次测试的时候ping指令有2条响应,但是version指令仍未响应,见下面截图)

【期望/疑问】

1,怎么才能知道bot当前是否登陆好了,可以响应指令了? (比如,命令行多输出一个状态提示?)

2,是否我将配置文件省略得太多了 (最简化到只配置qq号码和密码是否有何不妥?)


#8

(接上)

又7、8分钟了,疑似bot又重新登陆了。但是,第二次登陆没有显示qq群号码,中间还有一个error,且第三次登陆也没有显示qq群号码。


#9

你的网络奇怪了,超级不稳定呢!


#10

如果是网络原因的话,那么真是太惨了。

这几天我在客户现场,家里,宾馆(如家)测试了几次,都是差不多这样。


#11

网络丢包了, 我在使用webqq时,也经常丢包的.

怀疑是腾讯 webqq 没做tcp数据包的人工应答回应包造成的.


#12

虽说是webqq的先天不足,但是我们是否能通过什么办法来减免其导致的异常的发生哪?


#13

如果是防火墙把某个包过滤了,从tcp层面看,整个链路是完好的.

但是服务器收不到你的包.

所以最简单的是 添加接收应答包 .


#14

【背景】

avbot 版本:7.8 / 7.9 / 8.0 都存在同样的问题

系统版本:测试人1,win7(32位)。测试人2,Ubuntu 12.04 LTS 32位。

可见,这是各个版本、各个平台上共同存在的问题

【定义】

win 各个版本的 avbot 都是从官方下载的

linux 各个版本好像是他自己编译的

配置文件是通用的2行格式,现在测试环境一共加群1个,群内有4人。

【场景】

启动 avbot 8.0 后,若干秒,登陆成功,列出群名称、号码

再打开 dungeon toolkit 1.1 ,从 6176 端口收发 avbot 的信息

DT1.1 下载地址:http:// vdisk.weibo.com/s/itgoVCVD6YCD

【现状】

一、一个不成功的发送

通过qq群发送消息 “h” ,avbot 顺利接收到,并顺利发送给 dungeon toolkit

dungeon toolkit 做出反馈,发回 {“protocol”:“rpc”,“channel”:“328188720”,“message”:{“text”:“投骰命令:\nd=1d20, d+5=1d20+5, d 5=1d20+5, d-5=1d20-5\n2d=2d20, d8 5=1d8+5, 2d4=2d4, 3d6-5=3d6-5\n其他帮助:\ncommand/cmd \t- 管理命令的查询\norder/ord \t\t- 发言规则的介绍\nhelp/h\t\t- 两种形态的帮助\nabout\t\t- 这个软件的说明”}}

从 fiddler 查看,数据已经成功从 dungeon toolkit 发出到 avbot 的 6176 端口,不过提示有个错误,错误内容是头长度不对。(不过这一点不影响收发)

但在qq群中无法正常接收到信息。

二、一个成功的发送

在过若干时间之后(数分钟),此期间 avbot 的窗口并没有跳出任何新信息,和之前相同

再次发出 “h” 命令之后,成功获得返回

三、总结描述

特定的信息,如之上两次出现的帮助命令,在某个时间点前后会有发送失败/发送成功两种情况。

而另一些信息,则在任何时间都可正常响应(如 dungeon toolkit 中的 list 命令,即显示发言列表命令)

以上情况在任何版本、平台、用户上都有同样的重现。

【期望】

最佳期望:

完美地在 avbot 开启成功之后都可顺畅收发信息

最低期望一:

外接程序(如此测试中的 dungeon toolkit)可以知道 avbot 登陆qq号(如此例中的 dndbot@qq.com)在群中发送的消息。

这样即使没有发送成功,外接程序也有所准备。

最低期望二:

avbot 所登陆的账号,发送的信息成功与否,通过某种方式告知外接程序

以上两种方式均可