花了两三个小时,终于搞清楚了 QQ 机器人的按钮怎么用了

4 条回复
45 次浏览

QQ 机器人基本上名存实亡了,各种限制,搞的没人愿意用,今年龙虾火了,腾讯火速把机器人开放了,然后又装死,SDK 也好久不更新了,文档乱七八糟的。

现在搞成非企业认证都不让其他人私聊,个人机器人加群都有限制(够用,但以后保不齐会变,腾讯不是第一天切香肠了)
image

唯一有个好处,现在 Markdown 开放了,可以直接用了,以前还要做模版还要申请,麻烦的很。
研究了几个小时,终于搞明白了 Markdown 的按钮怎么用了。

https://bot.q.qq.com/wiki/develop/api-v2/server-inter/message/type/markdown.html
image

Markdown 就是正常使用

有个好玩的就是内嵌键盘,主要就是按钮回调。
image
上图中的按钮,不是点击出来文字自己发送,是点击后直接出事件。

我用 Python 写的,就去看了下 SDK
https://github.com/tencent-connect/botpy/
讲个笑话,最后一次更新:2 years ago

image
里面有个互动事件(未启用),所以并没有这个文件,只好自己看看代码。

image
首先需要监听事件
image
interaction=True
然后
async def on_interaction_create(self, interaction: Interaction):
image

on_interaction_result 是为了及时响应,防止客户端一直 loading 的,这个方法下面正常处理事件就好了。
生成键盘的有 demo
image
直接抄就行了,要注意的就是
按钮的 Action 的 type
image
0 为跳转,1 为回调(重要),2 为自动回显到发送框

我们监听的就是 1
我们创建 type 为 1 的按钮就行了。
image
然后正常发个带键盘的 MD 出去
image
腾讯也是有意思,类型不一致,他们自己就是这么用的,我也没管
image
先发消息触发 MD 消息。
然后点击按钮触发回调。
image

还算顺利,实现了我要的效果(总有人发消息不知道格式,用按钮就好了)

感谢分享。怀念之前的 酷 Q,论坛好多有趣的机器人。

前排打手
OP
GRD

现在还是有很多机器人的,不过分两种,一种是官方的,一种是第三方的,很多第三方机器人都兼容 CQ 的 API 和格式。

前排打手
OP
GRD

也不算,这个其实很简单,只是文档太乱了,我用的官方 SDK 也没示例,有些只能自己去找,发出来有兴趣的也可以自己去做,少走点弯路。

发表一个评论

R保持