RT,还尝试过用warning插件,但是那个插件错误码变成500,不熟悉js,看错误记录好像是发送DMS的时候出的问题?
一般是你没有权限导致的。
在intents里除了 OPEN_FORUMS_EVENT、PUBLIC_GUILD_MESSAGES、USER_MESSAGE都钩了,是要向开发者平台申请开放吗,还是说得要机器人正式上线才能发?
你「没有权限」的情况太多了,跟 intents 没有关系。
举几个例子:
- QQ 群私信需要在机器人达到一定的活跃度以后私聊开发者社区里的腾讯运营开通;
- 频道私信无法主动发送,即机器人给用户发消息只能是推送,不能主动发消息
- 沙箱环境只能给沙箱环境发消息,不管是否上线;
- 未上线的机器人不能给沙箱环境以外的环境发消息。
这些都是可能导致无法发送消息的原因,需要自己排查。
现在我这里主要是出现了一个问题,主账号在测试频道私信的时候发送给机器人消息3条,但是没有正常回复,现在只能切另外一个QQ号来测试频道私聊环境,所以想通过机器人主动从频道私聊推送一条消息,能用是能用,就是得切小号有点麻烦
你陷入了死区。由于你只能向机器人发送三条消息,所以你必须确保在三条消息之内就成功搭建好机器人并能够正常回复,否则就将无法再发送消息。
目前没有特别好的解决方法。换小号临时用用吧。
是的,所以现在就在用小号了,在考虑删除机器人,感谢大佬
同样的问题我也遇到过,qqbot的这个设计我感觉很不合理,至少应该设置一个超时时间。 我是用官方给的python的sdk专门写了一段代码让机器人给我发送了一个主动消息解决了这个问题
兄弟,求一下代码,我实在是玩不转这东西
安装Python SDK 需要Python3.8+
pip install qq-botpy
import botpy
from botpy.message import Message
class MyClient(botpy.Client):
async def on_at_message_create(self, message: Message):
await self.api.post_message(channel_id="xxxx", content="我™活啦!")
intents = botpy.Intents(public_guild_messages=True)
client = MyClient(intents=intents)
client.run(appid={appid}, token={token})
修改里面的appid
token
改成你的机器人的配置,然后翻看你以前的日志找到你私聊的channel_id
然后根据你的情况 修改一下这个代码 想办法触发这个方法就可以了
这段代码不保证没有问题 只提供一个思路,我当初的代码已经删掉了。这段代码是我从文档里直接修改粘贴过来的,并没有运行过
主动消息不行的吧,echo 指令发的消息就是主动消息
用 echo 发的就是主动消息。但你不能直接在群里 at 用户,因为对同一个用户,群里和私聊时候的 ID 也是不一样的。先找到那个用户的私聊 ID,然后再 echo。
现在的问题是我连channel_id都没有的情况下就满3条,大抵是寄了
你先用websocket拿一下子频道id 和用户ID 然后用post工具手动发生一条私信