|
6 năm trước cách đây | |
---|---|---|
dist | 6 năm trước cách đây | |
src | 6 năm trước cách đây | |
.gitignore | 6 năm trước cách đây | |
LICENSE | 6 năm trước cách đây | |
README.md | 6 năm trước cách đây | |
config.example.json | 6 năm trước cách đây | |
package.json | 6 năm trước cách đây | |
tsconfig.json | 6 năm trước cách đây | |
tslint.json | 6 năm trước cách đây | |
yarn.lock | 6 năm trước cách đây |
是一个可以订阅 Twitter 并转发到 QQ 的 Bot。
npm i -g cqhttp-twitter-bot
当然还需要配合 coolq-http-api 和 酷Q 才能工作。
它们是什么?
观察它们的文档:https://cqhttp.cc/ https://cqp.cc/t/15124
$ cqhttp-twitter-bot config.json
它会从命令传入的 JSON 配置文件里读取配置,配置说明如下
配置项 | 说明 | 默认 |
---|---|---|
cq_ws_host | CQHTTP Websocket 服务端地址 | 127.0.0.1 |
cq_ws_port | CQHTTP Websocket 服务端口 | 6700 |
cq_access_token | CQHTTP access_token | (空) |
twitter_consumer_key | Twitter App consumer_key | (必填) |
twitter_consumer_secret | Twitter App consumer_secret | (必填) |
twitter_access_token_key | Twitter App access_token_key | (必填) |
twitter_access_token_secret | Twitter App access_token_secret | (必填) |
work_interval | 对单个订阅两次拉取更新的最少间隔时间(秒) | 60 |
webshot_delay | 抓取网页截图时等待网页加载的延迟时长(毫秒) | 5000 |
lockfile | 本地保存订阅信息以便下次启动时恢复 | subscriber.lock |
loglevel | 日志调试等级 | info |
示例文件在 config.example.json
Bot 启动了以后就可以在 QQ 里用命令了。命令有:
链接可以是一个个人的时间轴或者是列表, 例如:
个人:https://twitter.com/Saito_Shuka
列表:https://twitter.com/rikakomoe/lists/lovelive
必须是这个模式才行 qvq
Twitter 这两个(时间轴和列表) API 对单个应用的限制是 900次/15min, 也就是最快可以 1s 一次。这个 Bot 的工作方式是轮流拉取,即: 每次从队首拿出任务,完成后放到队尾。在不达到 1s 一次的前提下, 总体请求速度会随着订阅量的增加而加快:例如当 work_interval 设置为 60 时, 如果只有 1 个订阅,那么每分钟只有 1 个请求。如果有 2 个订阅,每分钟则有 2 个请求。 如果有 70 个订阅,每分钟仍然只有 60 个请求。
上面说的每分钟之类指的是休眠的时长,工作时间不算在内。因此实际的 API 调用 频率要比这个低。
webshot_delay 如果设成 0 的话肯定不行的,会出现正在加载的界面。这个具体多 少最合适可以自己试,5 秒应该是比较保险了。
如果在同一个聊天里的会话有重复,不会被去重。例如在某聊天中同时订阅了特朗普和 包含特朗普的列表 A,那么每次特朗普发推你都会收到两条一样的推送。这个是因为 API 的构造 本身决定的,要是给你去重的话还得存给你推过哪些,很麻烦,懒得做,意义不大,就注意不要 这样就好了。
列表中是没有回复的。实际上你看 Twitter 的列表本来也没有回复。个人的时间轴会显示 回复。