自搭建 qq 定时推送
本帖最后由 三滑稽甲苯 于 2022-6-1 17:28 编辑# 自搭建 qq 定时推送
本文以 ubuntu 为例说明如何自搭建 qq 定时推送。
## 前提
* 一台云服务器或者 24h 开机的联网电脑(以 ubuntu 为例)。
* 一台电脑/一部手机,用于连接服务器。
* 一个 QQ 号(废话)。
* 一双手。
* 一个脑子。
## 步骤
1. 前往 (https://github.com/Mrs4s/go-cqhttp/releases) 下载对应系统版本的可执行文件/压缩包。本文中以 `go-cqhttp_linux_amd64.tar.gz` 为例。
2. 把文件移至一个方便的地方,解压 (`tar -xf go-cqhttp_linux_amd64.tar.gz`) ,得到以下文件:
* README.md
* LICENSE
* go-cqhttp
3. 赋予执行权限 `chmod +x ./go-cqhttp` 。
4. 执行 `./go-cqhttp` ,选择需要的方式。一般来说 `http` 适合定时任务, `ws-reverse` 适合交互式机器人。本文以 `http` 讲解。
5. 编辑生成的 `config.yml` 。
* `account/uin` 改为 qq 号。
* `message/post-format` 改为 `array` 。(推荐,非必需)
* `servers/http` 下 `host` 改为 `127.0.0.1` , `port` 改为任意空闲端口。
6. 再次运行可执行文件 `./go-cqhttp` ,扫码登录。登录成功后给此 qq 号发消息,终端内应该有显示。
7. `ctrl+c` 中断,使用 `screen` 或其他命令让其后台运行。
8. 推送消息的示例 Python 脚本(自行修改 `<PORT>` 为前文提到的端口, `<qq>` 为要推送到的 qq 号):
```python
from requests import post
def report(msg: str) -> bool:
r = post('http://127.0.0.1:<PORT>/send_private_msg', data={'user_id': <qq>, 'message': msg})
return r.json().get('status') == 'ok'
report('Hello world!')
```
9. 一切无误后即可自行编写推送脚本,并使用 `crontab` 定时执行。
## 常见问题
Q: 所给链接 (https://github.com/Mrs4s/go-cqhttp/releases) 进不去?
A: 网络问题,考虑打开代{过}{滤}理/使用 (https://pro-2684.lanzouf.com/b011o8t7g)(密码 `9867`) 改善连接。
Q: 有微信的吗?
A: 目前暂未找到高效的个人微信机器人库,企业微信应该有对应的api。
待补充... https://docs.go-cqhttp.org/api/#%E5%93%8D%E5%BA%94%E8%AF%B4%E6%98%8E已经找到了,是这个 15820394839 发表于 2022-5-31 12:18
楼主,比如要监控QQ群的聊天信息,然后根据聊天信息返回对应的消息,可以做到不?
可以,选方式时选`ws-reverse`,然后搭配Python库`aiocqhttp`使用即可。 没看懂,可以说说,qq 定时推送,适合啥样需求的人吗 微信可以吗 定时发送讯息对不对啊能群发吗 ? 就相当于一个机器人了 xglys 发表于 2022-5-31 10:17
定时发送讯息对不对啊能群发吗 ?
可以,把 post 接口修改一下即可 老脸绯红 发表于 2022-5-31 10:16
微信可以吗
普通的微信目前没有成熟的框架,企业微信的话应该有接口 leevingroom 发表于 2022-5-31 10:15
没看懂,可以说说,qq 定时推送,适合啥样需求的人吗
比如说每日天气推送,定时任务运行情况推送等等,应用面挺广泛的 QQ群发会不会风控?gocq我记得会风控 本来就是网络小白。大哥。你这说的太简单更看不懂了。