Metadata-Version: 2.1
Name: nonebot-bison
Version: 0.9.5
Summary: Subscribe message from social medias
Home-page: https://github.com/felinae98/nonebot-bison
License: MIT
Keywords: nonebot,nonebot2,qqbot
Author: felinae98
Author-email: felinae225@qq.com
Requires-Python: >=3.10,<4.0.0
Classifier: Development Status :: 4 - Beta
Classifier: License :: OSI Approved :: MIT License
Classifier: Operating System :: MacOS
Classifier: Operating System :: Microsoft :: Windows
Classifier: Operating System :: POSIX :: Linux
Classifier: Programming Language :: Python :: 3
Classifier: Programming Language :: Python :: 3.10
Classifier: Programming Language :: Python :: 3.11
Classifier: Programming Language :: Python :: 3.12
Classifier: Programming Language :: Python :: Implementation :: CPython
Provides-Extra: all
Provides-Extra: cli
Provides-Extra: yaml
Requires-Dist: beautifulsoup4 (>=4.12.3)
Requires-Dist: expiringdictx (>=1.1.0,<2.0.0)
Requires-Dist: feedparser (>=6.0.11,<7.0.0)
Requires-Dist: hishel (>=0.0.30,<0.0.31)
Requires-Dist: httpx (>=0.27.2)
Requires-Dist: lxml (>=5.3.0)
Requires-Dist: nonebot-adapter-onebot (>=2.4.5,<3.0.0)
Requires-Dist: nonebot-plugin-apscheduler (>=0.5.0)
Requires-Dist: nonebot-plugin-datastore (>=1.3.0,<2.0.0)
Requires-Dist: nonebot-plugin-htmlrender (>=0.3.5)
Requires-Dist: nonebot-plugin-send-anything-anywhere (>=0.7.1,<0.7.2)
Requires-Dist: nonebot2[fastapi] (>=2.3.3,<3.0.0)
Requires-Dist: pillow (>=10.4.0,<11.0)
Requires-Dist: pydantic (>=2.9.2,<3.0.0)
Requires-Dist: pyjwt (>=2.9.0,<3.0.0)
Requires-Dist: python-socketio (>=5.11.4,<6.0.0)
Requires-Dist: qrcode (>=7.4.2,<8.0.0)
Requires-Dist: rapidfuzz (>=3.9.7,<4.0.0)
Requires-Dist: tinydb (>=4.8.0,<5.0.0)
Requires-Dist: yarl (>=1.11.1)
Description-Content-Type: text/markdown

<div align="center">
  <a href="https://v2.nonebot.dev/store">
    <img src="https://nonebot-bison.netlify.app/logo.svg" width="200" alt="logo">
  </a>
</div>

<div align="center">

# Bison

_✨ 通用订阅推送插件 ✨_

<a href="https://raw.githubusercontent.com/MountainDash/nonebot-bison/main/LICENSE">
    <img src="https://img.shields.io/github/license/MountainDash/nonebot-bison" alt="license">
</a>
<a href="https://pypi.python.org/pypi/nonebot-bison">
    <img src="https://img.shields.io/pypi/v/nonebot-bison?logo=python&logoColor=edb641" alt="pypi">
</a>
<img src="https://img.shields.io/badge/python-3.10+-blue?logo=python&logoColor=edb641" alt="python">
<a href="https://github.com/psf/black">
    <img src="https://img.shields.io/badge/code%20style-black-000000.svg?logo=python&logoColor=edb641" alt="black">
</a>
<a href="https://github.com/astral-sh/ruff">
    <img src="https://img.shields.io/endpoint?url=https://raw.githubusercontent.com/charliermarsh/ruff/main/assets/badge/v2.json" alt="ruff">
</a>
<br />
<a href="https://codecov.io/gh/MountainDash/nonebot-bison">
    <img src="https://codecov.io/gh/MountainDash/nonebot-bison/branch/main/graph/badge.svg?token=QCFIODJOOA" alt="codecov"/>
</a>
<a href="https://github.com/MountainDash/nonebot-bison/actions/workflows/main.yml.yml">
    <img src="https://github.com/MountainDash/nonebot-bison/actions/workflows/main.yml/badge.svg?branch=main&event=push" alt="action"/>
</a>
<a href="https://results.pre-commit.ci/latest/github/MountainDash/nonebot-bison/main">
    <img src="https://results.pre-commit.ci/badge/github/MountainDash/nonebot-bison/main.svg" alt="pre-commit" />
</a>
<a href="https://github.com/MountainDash/nonebot-bison/actions/workflows/ruff.yml">
    <img src="https://github.com/MountainDash/nonebot-bison/actions/workflows/ruff.yml/badge.svg?branch=main&event=push" alt="ruff">
</a>

<br />
<a href="https://nonebot-bison.netlify.app/" target="__blank">
    <strong>📖 官方文档</strong>
  </a>
  &nbsp;&nbsp;|&nbsp;&nbsp;
  <a href="https://nonebot-bison.netlify.app/usage/easy-use.html" target="__blank">
    <strong>🚀 快速开始</strong>
  </a>
  &nbsp;&nbsp;|&nbsp;&nbsp;
  <a href="https://qm.qq.com/q/7DH4H3hbaw" target="__blank">
    <strong>💬 讨论交流</strong>
  </a>

</div>

## 简介

一款自动爬取各种站点，社交平台更新动态，并将信息推送到 QQ 的机器人。
基于 [`NoneBot2`](https://github.com/nonebot/nonebot2) 开发（诞生于明日方舟的蹲饼活动）

<details>
<summary>本项目原名 nonebot-hk-reporter</summary>

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

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

支持的平台：

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

## 功能

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

## 使用方法

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

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

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

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

参考[文档](https://nonebot-bison.netlify.app/usage/#%E4%BD%BF%E7%94%A8)

## 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。

## 鸣谢

- [`go-cqhttp`](https://github.com/Mrs4s/go-cqhttp)：简单又完善的 cqhttp 实现
- [`NoneBot2`](https://github.com/nonebot/nonebot2)：超好用的开发框架
- [`HarukaBot`](https://github.com/SK-415/HarukaBot/): 借鉴了大体的实现思路
- [`rsshub`](https://github.com/DIYgod/RSSHub)：提供了大量的 api

## License

MIT

