一个基于 OneBot API 的简易异步 QQ 群批量发消息脚本
可能更好的阅读体验:文档
亮点
- 高效异步执行
- 自带进度条
- 支持随机选择信息
- 易于使用
- 轻量 - 仅引用两个第三方库(一个用于异步发送请求,另一个用于显示进度条)
注意:为适配自动化框架,程序将在运行结束 30 秒后自动退出。
使用这个脚本前要部署完成实现了 OneBot API 的软件
一种 onebot api 的实现软件:NapCat | NapCatQQ | 开始安装
运行脚本前请记得创建\开启 http 服务器,开启 0.0.0.0:3000
作为服务器地址(http://localhost:3000
地址是默认的地址,如果你开启的是 0.0.0.0:3000
,那么下面示例配置文件的 onebot_api_http_server
这一项无需修改)
需要在脚本同目录创建 config.json
作为配置文件
onebot_api_http_server
:指的是 http 服务器 地址
group_id_list
:指的是你要发送信息的群
messages
:指的是从其中随机选一个消息发送
(注意:"messages": [ "" ]
,将不会发出任何消息。如果设置为 "messages": [ "打卡", "" ]
那将会有 50% 的概率发送打卡消息)
(编辑配置文件的时候请注意在 JSON 中,尾随逗号(即在最后一个元素后添加的逗号)是不被允许的。建议在编辑完之后使用在线 JSON 检查工具检查正确性)
以下是一个示例配置文件,请将 onebot_api_http_server
和 group_id_list
改为实际的地址和实际的目标群号。
{
"onebot_api_http_server": "http://localhost:3000",
"group_id_list": [
"123123125",
"123123124",
"123123123"
],
"messages": [
"冒泡睡觉🌙",
"打卡睡觉🌙",
"群友晚安🌙",
"碎觉时间到🌙"
]
}
下载地址:软件发布页
点击 qqbot-auto-send-message-to-group.exe
下载即可
- 代码中抛弃了
await response.text()
的返回值,因为在 NapCat 实现中,发现返回值为{"status":"failed","retcode":200,"data":null,"message":"Timeout: NTEvent serviceAndMethod:NodeIKernelMsgService/sendMsg ListenerName:NodeIKernelMsgListener/onMsgInfoListUpdate EventRet:\n{\n \"result\": 0,\n \"errMsg\": \"\"\n}\n","wording":"Timeout: NTEvent serviceAndMethod:NodeIKernelMsgService/sendMsg ListenerName:NodeIKernelMsgListener/onMsgInfoListUpdate EventRet:\n{\n \"result\": 0,\n \"errMsg\": \"\"\n}\n","echo":null}
而不是类似{"status":"ok","retcode":0,"data":{"message_id":409173648},"message":"","wording":"","echo":null}
但是消息依然是发送成功的,所以我选择忽略此返回值。 - 无法设置每日自动某时刻发送消息。此处我选择通过外部软件进行定时任务设置,如 Windows 的“任务计划程序”。
见 Releases