/nonebot-bison

A nonebot2 plugin to repost social media posts to QQ group

Primary LanguagePythonMIT LicenseMIT

logo

Bison

✨ 通用订阅推送插件 ✨

license pypi python black ruff
codecov action pre-commit ruff
📖 官方文档   |   🚀 快速开始   |   💬 讨论交流

简介

一款自动爬取各种站点,社交平台更新动态,并将信息推送到 QQ 的机器人。 基于 NoneBot2 开发(诞生于明日方舟的蹲饼活动)

本项目原名 nonebot-hk-reporter

寓意本 Bot 要做全世界跑的最快的搬运机器人,后因名字过于暴力改名

本项目名称来源于明日方舟角色拜松——一名龙门的信使,曾经骑自行车追上骑摩托车的德克萨斯

支持的平台:

  • 微博
  • Bilibili
  • Bilibili 直播
  • RSS
  • 明日方舟
  • 网易云音乐
  • FF14

功能

  • 定时爬取指定网站
  • 通过图片发送文本,防止风控
  • 使用队列限制发送频率
  • 使用网页后台管理 Bot 订阅
  • 使用可以设置权重的调度器按时间调节不同账号的权重

使用方法

Warning

如果要使用后台管理功能请使用 pypi 版本或者 docker 版本,如果直接 clone 源代码,需要按下面方式进行 build

cd ./admin-frontend
pnpm && pnpm run build

可以使用 Docker,docker-compose,作为插件安装在 NoneBot 中,或者直接运行

在群里 @Bot 或者直接私聊 Bot 发送 “添加订阅”,按照提示输入需要订阅的账号,就可以愉快接收消息了。

参考文档

FAQ

  1. 报错 TypeError: 'type' object is not subscriptable
    本项目使用了 Python 3.10 的语法,请将 Python 版本升级到 3.10 及以上,推荐使用 docker 部署
  2. bot 不理我
    请确认自己是群主或者管理员,并且检查 COMMAND_START 环境变量是否设为 [""] 或者按照 COMMAND_START 中的设置添加命令前缀,例: COMMAND_START=["/"] 则应发送 /添加订阅
  3. 微博漏订阅了 微博更新了新的风控措施,某些含有某些关键词的微博会获取不到。
  4. 无法使用后台管理页面
    1. 确认自己正确配置了 NoneBot 的端口,如果在远程或容器外访问网页请确保 HOST=0.0.0.0
    2. 确认自己的云服务器的防火墙配置正确
    3. 确认自己使用了正确的方法安装插件

参与开发

欢迎各种 PR,参与开发本插件很简单,只需要对相应平台完成几个接口的编写就行。你只需要一点简单的爬虫知识就行。

如果对整体框架有任何意见或者建议,欢迎 issue。

鸣谢

License

MIT