Skip to main content

Bilibili activity monitor plugin for nonebot

Project description

Bilibili Activity Monitor

B 站用户监视器,自动监控用户的动态和直播状态,在有新动态和直播状态改变时向关注群发送提示信息。

可多群共用,每个群可以有不同的关注列表。自带数据落地存储机制,重启后可保留各群关注状态。

0.2.0 版本已支持 NoneBot2 2.0 正式版 API,依赖 OneBot V11 Adapter。

功能示例

直播提醒

screenshot-live

动态提醒

screenshot-act-normal

screenshot-act-repost

特定用户 at 特定群友功能暂时没来得及做命令,目前需要直接改数据库,目前可以假装这个功能不存在。

使用

poetry add nonebot-plugin-bam
import nonebot
from nonebot.adapters.onebot.v11 import Adapter

nonebot.init(_env_file=".env")

driver = nonebot.get_driver()
driver.register_adapter(Adapter)

nonebot.load_builtin_plugins()

# load other plugins

# bam need this to manage background tasks
nonebot.load_plugin("nonebot_plugin_apscheduler")
nonebot.load_plugin("nonebot_plugin_bam")

nonebot.run()

其中 .env 文件除了 nonebot 的常规配置项外,还有可添加以下配置属性(下面展示的是默认值):

# 我个人喜欢用 / 来做分隔符,下面的命令列表也是以 / 为例,可以按照自己喜欢的调整
COMMAND_START=["/"]
COMMAND_SEP=["/"]

# 数据落地文件路径,建议设置一下。
# 用默认值(储存在内存中)的话一重启数据就没了
BAM_DB_FILE=":memory:"

# 重启时将所有用户的直播状态设置为未开播,而不是使用上次记录的状态。
# 正常使用不要打开此选项,是调试用的
BAM_ON_STARTUP_CLEAN_LIVE_STATUS=false 

# 监控任务的间隔,这里设置的是每个用户间的间隔,而不是一轮的间隔。
# 所以如果一共关注了 N 个人(多个群关注同一个人只算一个)
# 那对于每个人来说,两次检测之间的间隔就是 N * interval
# 一般来说不要设置在 5 以下,可能会被 B 站 API 反爬而拒绝响应
BAM_MONITOR_TASK_INTERVAL=5
# 单独设置每个任务的间隔,如果没有设置,或者设置成 <= 0 的值,就会用上面那个
BAM_ACTIVITY_MONITOR_TASK_INTERVAL=0
BAM_LIVE_MONITOR_TASK_INTERVAL=0

# 使用那一个直播间状态查询 API,默认为 2,如果发现被封禁了可以临时调到 1 试试
BAM_LIVE_API=2

# 动态内容在发送到 QQ 时的最大长度,超过长度会截断,设置为 0 或负数表示不截断
BAM_ACTIVITY_CONTENT_MAX_LENGTH=0

命令列表

点击展开

群相关

群初始化

命令:@bot /bam/group/add [superuser_qq]

SUPERUSER ONLY,GROUP ONLY。

在机器人加入群之后,首先使用此命令将群加入服务列表。

参数:

  • superuser_qq:此群的 SUPERUSER,可以管理 Bot 在这个群的行为。可选参数,不填时则设置为使用此命令的人。

删除群

命令:@bot /bam/group/remove

SUPERUSER ONLY,GROUP ONLY。

将当前群从服务列表中删除。

群列表

命令:/bam/group/list

SUPERUSER ONLY,PRIVATE ONLY。

显示当前机器人服务的群列表。

关注相关

添加关注

命令:[@bot] /bam/follower/add [qq_group_id] <bilibili_uid>

SUPERUSER ONLY, PRIVATE OR GROUP

为群 qq_group_id 添加对 B 站用户 bilibili_uid 的监控。

参数:

  • qq_group_id:操作群号。可选参数,如果在群聊中使用此命令则不能加此参数,默认为当前群。
  • bilibili_uid:B 站用户 UID,必填。

注:[@bot] 表示在私聊中使用时不用(无法) at 机器人,下略。

删除关注

命令:[@bot] /bam/follower/remove [qq_group_id] <bilibili_uid>

SUPERUSER ONLY, PRIVATE OR GROUP

为群 qq_group_id 删除对 B 站用户 bilibili_uid 的监控。

参数:

  • qq_group_id:操作群号。可选参数,如果在群聊中使用此命令则不能加此参数,默认为当前群。
  • bilibili_uid:B 站用户 UID,必填。

群关注列表

命令:[@bot] /bam/follower/list [qq_group_id]

SUPERUSER ONLY, PRIVATE OR GROUP

列出群 qq_group_id 的关注列表。

参数:

  • qq_group_id:操作群号。可选参数,如果在群聊中使用此命令则不能加此参数,默认为当前群。

B 站相关

获取/更新用户数据

命令:[@bot] /bam/user/fetch <bilibili_uid>

SUPERUSER ONLY, PRIVATE OR GROUP

获取或更新 B 站用户 bilibili_uid 的信息。

参数:

  • bilibili_uid:B 站用户 UID,必填。

获取一个动态信息

命令:[@bot] /bam/act <bilibili_activity_id>

ANYONE

获取 B 站动态 bilibili_activity_id 的信息。

参数:

  • bilibili_activity_id:B 站动态 ID。

LICENSE

MIT.

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_bam-0.2.1.tar.gz (19.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_bam-0.2.1-py3-none-any.whl (26.6 kB view details)

Uploaded Python 3

File details

Details for the file nonebot_plugin_bam-0.2.1.tar.gz.

File metadata

  • Download URL: nonebot_plugin_bam-0.2.1.tar.gz
  • Upload date:
  • Size: 19.8 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: poetry/1.5.1 CPython/3.11.3 Darwin/22.5.0

File hashes

Hashes for nonebot_plugin_bam-0.2.1.tar.gz
Algorithm Hash digest
SHA256 357496f51364f88b27544e0e85859883c054e994cdcaccecce531c5f609677b5
MD5 4f953c7c519b5a338b7cb8bdfe3125b6
BLAKE2b-256 90299736bb05054e904ce74ce030e69b96797ba3b1c759c8f5a9fa8c217cfa20

See more details on using hashes here.

File details

Details for the file nonebot_plugin_bam-0.2.1-py3-none-any.whl.

File metadata

  • Download URL: nonebot_plugin_bam-0.2.1-py3-none-any.whl
  • Upload date:
  • Size: 26.6 kB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? No
  • Uploaded via: poetry/1.5.1 CPython/3.11.3 Darwin/22.5.0

File hashes

Hashes for nonebot_plugin_bam-0.2.1-py3-none-any.whl
Algorithm Hash digest
SHA256 31f799e1ceda75163eaf84664236aa7b21cc9961a831aa7e9c6e4a650d784e11
MD5 bd5bf899c7a3fb4030db29244fef14e7
BLAKE2b-256 e801e9042853b795fbff0956e1e7dd1c7fd5da1be9417aaae4ed1b5ef06c5c81

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