Skip to main content

监控特朗普 Truth Social 动态并推送到订阅群

Project description

nonebot-plugin-trumpwatcher

✨ 监控特朗普 Truth Social 动态并推送到订阅群 ✨

license pypi python

📖 介绍

一个用于监控特朗普 Truth Social 动态的 NoneBot2 插件,支持自动拉取、群组订阅推送和 AI 翻译总结。

💿 安装

使用 nb-cli 安装(推荐)

在 NoneBot2 项目的根目录下打开命令行,输入以下指令即可安装:

nb plugin install nonebot-plugin-trumpwatcher
使用包管理器安装

在 NoneBot2 项目的插件目录下,打开命令行,根据你使用的包管理器,输入相应的安装命令:

pip
pip install nonebot-plugin-trumpwatcher
pdm
pdm add nonebot-plugin-trumpwatcher
poetry
poetry add nonebot-plugin-trumpwatcher
conda
conda install nonebot-plugin-trumpwatcher

打开 NoneBot2 项目根目录下的 pyproject.toml 文件,在 [tool.nonebot] 部分追加写入:

plugins = ["nonebot_plugin_trumpwatcher"]

🎉 数据源

📝 依赖

注意: 本插件不指定 NoneBot2 驱动器依赖,请根据你的需求在主项目中配置驱动器。

例如,在 .env 文件中配置:

DRIVER=~fastapi+~httpx+~websockets

并在主项目的 pyproject.toml 中安装对应的驱动器包(如果使用 poetry):

poetry add nonebot2[fastapi,websockets]

⚙️ 配置

在 NoneBot2 项目的 .env 文件中添加以下配置项(未配置则使用默认值):

基础配置

配置项 类型 默认值 说明
TRUMPWATCHER_SOURCE_URL str https://ix.cnn.io/data/truth-social/truth_archive.json 数据源地址
TRUMPWATCHER_FETCH_LIMIT int 20 每次拉取并比对的最大条数(1-100)
TRUMPWATCHER_TIMEOUT float 20.0 拉取数据超时(秒)
TRUMPWATCHER_FORWARD_USER_ID int 10000 合并转发节点显示的 QQ 号
TRUMPWATCHER_FORWARD_NICKNAME str 特朗普观察员 合并转发节点显示昵称

AI 翻译总结配置

配置项 类型 默认值 说明
TRUMPWATCHER_AI_SUMMARY_ENABLED bool false 是否启用 AI 翻译总结
TRUMPWATCHER_AI_SUMMARY_MAX_POSTS int 3 每次拉取最多对前 N 条追加 AI 总结(0-100)
TRUMPWATCHER_AI_API_BASE str https://dashscope.aliyuncs.com/compatible-mode/v1 AI API Base URL
TRUMPWATCHER_AI_API_KEY str "" AI API Key(开启 AI 时必填)
TRUMPWATCHER_AI_MODEL str qwen-plus AI 模型名
TRUMPWATCHER_AI_TIMEOUT float 20.0 AI 请求超时(秒)
TRUMPWATCHER_AI_TEMPERATURE float 0.2 AI 生成温度(0-2)
TRUMPWATCHER_AI_MAX_CHARS int 2000 单条动态送入 AI 的最大字符数(200-20000)
TRUMPWATCHER_AI_MULTIMODAL_ENABLED bool true 是否启用图片多模态输入
TRUMPWATCHER_AI_MULTIMODAL_MAX_IMAGES int 3 单条动态最多传入的图片 URL 数量(0-10)

内容过滤配置

配置项 类型 默认值 说明
TRUMPWATCHER_SKIP_EMPTY_CONTENT bool true 是否跳过无正文且无图片的空白动态

自动推送配置

配置项 类型 默认值 说明
TRUMPWATCHER_AUTO_FETCH_ENABLED bool false 是否启用自动拉取并推送
TRUMPWATCHER_AUTO_FETCH_CRON str */10 * * * * 自动拉取 cron(5 段 crontab 表达式)
TRUMPWATCHER_AUTO_FETCH_TIMEZONE str Asia/Shanghai 自动拉取时区

配置示例

# 基础配置
TRUMPWATCHER_FETCH_LIMIT=20
TRUMPWATCHER_TIMEOUT=20.0

# 启用 AI 翻译总结
TRUMPWATCHER_AI_SUMMARY_ENABLED=true
TRUMPWATCHER_AI_API_KEY=your_api_key_here
TRUMPWATCHER_AI_MODEL=qwen-plus

# 启用自动推送(每 5 分钟)
TRUMPWATCHER_AUTO_FETCH_ENABLED=true
TRUMPWATCHER_AUTO_FETCH_CRON=*/5 * * * *

🎮 使用

命令列表

命令 别名 权限 说明
trump社媒拉取 trump / trump_fetch / trumpwatcher_fetch 任意群成员 拉取最新动态、归档并推送到所有订阅群
trump社媒订阅 trump_sub / trumpwatcher_sub 群管理员/群主/SUPERUSER 当前群加入推送列表
trump社媒取消订阅 trump_unsub / trumpwatcher_unsub 群管理员/群主/SUPERUSER 当前群移出推送列表
trump社媒状态 trump_status / trumpwatcher_status 任意群成员 查看当前群订阅状态和上次拉取时间
trump社媒订阅列表 trump_list / trumpwatcher_list SUPERUSER 查看所有订阅群列表

使用流程

  1. 订阅推送: 在需要接收推送的群中发送 trump社媒订阅
  2. 查看状态: 发送 trump社媒状态 查看当前群订阅状态
  3. 管理订阅: SUPERUSER 发送 trump社媒订阅列表 查看所有订阅群
  4. 手动拉取: 发送 trump社媒拉取 立即拉取最新动态
  5. 自动推送: 配置 TRUMPWATCHER_AUTO_FETCH_ENABLED=true 启用定时自动推送
  6. 取消订阅: 发送 trump社媒取消订阅 停止接收推送

🔧 数据库迁移

首次启用或升级表结构后执行:

nb orm upgrade

涉及表:

  • trumpwatcher_post_archive: 动态归档
  • trumpwatcher_notify_group: 订阅群列表

💡 AI 翻译总结说明

  • 默认使用千问(Qwen)兼容接口
  • 启用后会在转发内容前插入 AI 生成的标题和概要
  • 支持多模态图片输入(需模型支持)
  • 如果模型不支持图片,会自动降级为纯文本总结
  • AI 输出解析失败自动重试 3 次,仍失败则使用时间戳作为标题
  • 请求失败时自动降级为仅发送原始消息,不影响主流程

📄 许可证

本项目使用 MIT 许可证。

📦 发布信息

🔧 开发者须知

如果你想参与开发或了解插件的最佳实践,请查看 MAINTENANCE.md

🙏 致谢

Project details


Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

nonebot_plugin_trumpwatcher-1.1.1.tar.gz (12.8 kB view details)

Uploaded Source

Built Distribution

If you're not sure about the file name format, learn more about wheel file names.

nonebot_plugin_trumpwatcher-1.1.1-py3-none-any.whl (15.8 kB view details)

Uploaded Python 3

File details

Details for the file nonebot_plugin_trumpwatcher-1.1.1.tar.gz.

File metadata

  • Download URL: nonebot_plugin_trumpwatcher-1.1.1.tar.gz
  • Upload date:
  • Size: 12.8 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: poetry/2.3.2 CPython/3.11.3 Windows/10

File hashes

Hashes for nonebot_plugin_trumpwatcher-1.1.1.tar.gz
Algorithm Hash digest
SHA256 b576ddc73e8c19e495d84328f45d49526be1985c99c28d23a603fcf45e71722e
MD5 0c657e398aa421e1afaff1904376e24f
BLAKE2b-256 2d60a680f47e9322e879b49262bac779d3d7b962dd7248c6d01a65904e10d537

See more details on using hashes here.

File details

Details for the file nonebot_plugin_trumpwatcher-1.1.1-py3-none-any.whl.

File metadata

File hashes

Hashes for nonebot_plugin_trumpwatcher-1.1.1-py3-none-any.whl
Algorithm Hash digest
SHA256 1755cc051d5fd40c8e7896c71f8ba3613e6ce2ab5e2b843f54b61e078751645f
MD5 0ff3527250a196965fbd6a834f2a28ea
BLAKE2b-256 2004d94a6bf6ac777d4833bcc36034a9b99391dbe28eed47647e8b2b2228e9b7

See more details on using hashes here.

Supported by

AWS Cloud computing and Security Sponsor Datadog Monitoring Depot Continuous Integration Fastly CDN Google Download Analytics Pingdom Monitoring Sentry Error logging StatusPage Status page