Skip to content

Latest commit

 

History

History
980 lines (618 loc) · 19.8 KB

EXAMPLE.md

File metadata and controls

980 lines (618 loc) · 19.8 KB

命令详细介绍及用法示例

本介绍并不要求您拥有编程能力,但如果有,您会非常容易理解(因为命令的格式被设计为贴近shell命令)。

介绍时默认bot的命令触发前缀为/,如果您修改了命令前缀,请以您修改后的为准。

命令基本格式

bot只在群聊内工作,除特殊标注外,私聊命令无效

/主命令 [命令选项 [选项参数 ...] ...] [主命令参数 ...]

例子:

我买了海盗床,我要车爽哥,如何使用watch命令订阅爽哥b站直播信息?

  • 进入爽哥b站个人空间主页

  • 找到爽哥的UID1472906636

/watch --site bilibili --type live 1472906636

在这个例子中,主命令为watch,它包含两个命令选项,分别是--site--type,两个命令选项的参数分别是bilibililive,有一个主命令参1472906636

--site用来指定订阅网站,--type用来指定订阅类型,所以上面的命令表示:订阅b站的UID为1472906636的用户的直播信息。

命令选项有长和短两种模式,两种模式效果相同,这个例子中使用的是长模式,它的格式为--加上单词,短模式格式为-加上单个字母。

大多数长模式都可以用-加上单词的首字母简写成短模式。

例如--site简写成-s--type简写成-t,那么命令可以写成:

/watch -s bilibili -t live 1472906636

更进一步,对于watch命令来说,-s的默认参数是bilibili-t的默认参数是live。也就是说,如果不指定-s,那么默认网站是bilibili;如果不指定-t,那么默认类型是live ,所以命令进一步简写成:

/watch 1472906636

命令帮助信息

几乎所有命令都带有自身的帮助信息,您可以使用选项参数-h/--help查看命令的帮助信息。

watch命令为例,输入/watch -h或者/watch --help (短模式和长模式),会输出:

Usage: watch <id>

Arguments:
  <id>

Flags:
  -h, --help               Show context-sensitive help.
  -s, --site="bilibili"    bilibili / douyu / youtube / huya
  -t, --type="live"        news / live

Flags里展示了watch命令的三个命令参数,分别是-s/--site-t/--type-h/--help,其中--site="bilibili"表示-s/--site 的默认参数是bilibili,而后面bilibili / douyu / youtube / huya部分则表示--site可以指定为这四个网站。

-t/--type同理。

Arguments: <id>表示watch命令需要一个主命令参数,在例子1中为爽哥的UID1472906636

DDBOT的命令格式皆遵守这个规则。

命令详细介绍

/watch

默认使用权限 默认启用 是否可禁用
QQ群管理员 / bot群管理员

该命令与unwatch命令共享权限

订阅推送,支持推送b站直播,b站动态,斗鱼直播,YTB视频,YTB直播,虎牙直播

一些例子:

  • 订阅b站UID为2的用户的直播信息
/watch 2
  • 订阅b站UID为2的用户的动态信息
/watch -t news 2
  • 订阅斗鱼6655直播间 钢之魂,我的钢之魂
/watch -s douyu 6655
/watch -s youtube UCvEX2UICvFAa_T6pqizC20g
/watch -s youtube -t news UCvEX2UICvFAa_T6pqizC20g
/watch -s huya xiaoleyan
/watch -s weibo 5462373877

/watch (私聊版本)

  • 在QQ群123456内订阅b站UID为2的用户的动态信息
/watch -g 123456 -t news 2

一句话来说,用法同群聊一样,只是需要增加-g 要操作的qq群号码参数。

/unwatch

默认使用权限 默认启用 是否可禁用
QQ群管理员 / bot群管理员

该命令与watch命令共享权限

取消订阅推送,和watch用法一样

一些例子:

  • 取消订阅b站UID为2的用户的直播信息
/unwatch 2
  • 取消订阅b站UID为2的用户的动态信息
/unwatch -t news 2
/unwatch -s youtube UCvEX2UICvFAa_T6pqizC20g
/unwatch -s youtube -t news UCvEX2UICvFAa_T6pqizC20g
/unwatch -s huya xiaoleyan

一句话来说,把watch命令原封不动的复制过来,并把watch替换成unwatch即可取消订阅。

/unwatch (私聊版本)

  • 在QQ群123456内取消订阅b站UID为2的用户的动态信息
/unwatch -g 123456 -t news 2

一句话来说,用法同群聊一样,只是需要增加-g 要操作的qq群号码参数。

/list

默认使用权限 默认启用 是否可禁用
所有人

查看当前订阅列表,同时会展示订阅的id,可以用来取消订阅。

  • 查看订阅列表,会展示所有网站的所有订阅
/list
  • 查看订阅列表,只查询bilibili的订阅
/list -s bilibili

/list(私聊版本)

  • 查询QQ群123456的订阅列表
/list -g 123456
  • 查询QQ群123456的订阅列表,只查询bilibili的订阅
/list -g 123456 -s bilibili

一句话来说,用法同群聊一样,只是需要增加-g 要操作的qq群号码参数。

/config

默认使用权限 默认启用 是否可禁用
QQ群管理员 / bot群管理员

定制BOT,目前支持设置:

  • 配置启用@全体成员,默认不@
  • 配置@特定成员(已成功@全体成员时不会生效),默认不@
  • 配置启用直播间标题更新推送,默认不推送
  • 配置下播推送,默认不推送

配置@全体成员

同一个主播每2小时内只会@全体成员一次

  • 推送b站UID为2的用户的直播信息时,同时@全体成员(需要将BOT设置为管理员,否则配置后无法@全体成员)
/config at_all --site bilibili 2 on
  • 取消上面的配置,不再@全体成员
/config at_all --site bilibili 2 off

配置@特定成员

  • 推送b站UID为2的用户直播信息时,当@全体成员无法生效时(包括未设置@全体成员配置,未被设置管理员权限,@全员剩余次数为0等情况),@特定成员
# 配置@QQ号为10000和10001的成员,QQ号可以一次填多个
/config at --site bilibili 2 add 10000 10001
  • 删除配置中的特定成员
# 取消配置@QQ号为10000和10001的成员,QQ号可以一次填多个
/config at --site bilibili 2 remove 10000 10001
  • 查看配置的成员列表
/config at --site bilibili 2 show
  • 清空配置的成员列表
/config at --site bilibili 2 clear

配置推送直播间标题更改

  • 推送b站UID为2的用户的直播信息时,每当他的直播间标题更改时重新进行推送。
/config title_notify --site bilibili 2 on

配置下播推送

  • 推送b站UID为2的用户的直播信息时,当他下播时也进行推送。
/config offline_notify --site bilibili 2 on

配置b站动态推送过滤器

只能同时设置一种过滤器,如果多次设置,则以最后一次为准

  • 只推送指定种类的动态
/config filter type 97505 图片 文字 专栏 投稿
  • 不推送指定种类的动态
/config filter not_type 97505 转发
  • 动态关键字,只推送包含任意关键字的动态
/config filter text 97505 关键字1 关键字2
  • 查看当前过滤器配置
/config filter show 97505
  • 清空当前过滤器配置
/config filter clear 97505

(b站动态种类繁多,无法全部列举,此处只支持部分常见类型)

支持的动态类型:

  • 专栏
  • 转发
  • 投稿
  • 文字
  • 图片
  • 直播分享

/config(私聊版本)

在QQ群123456内设置,推送b站UID为2的用户的直播信息时,同时@全体成员(需要将BOT设置为管理员,否则配置后无法@全体成员)

/config -g 123456 at_all --site bilibili 2 on
  • 在QQ群123456内取消上面的配置,不再@全体成员
/config -g 123456 at_all --site bilibili 2 off
  • 其他配置类似,不再重复列出

一句话来说,用法同群聊一样,只是需要增加-g 要操作的qq群号码参数。

/grant

默认使用权限 默认启用 是否可禁用
QQ群管理员 / bot群管理员

给予或撤销其他成员命令权限或者角色权限。

一些例子:

  • 给予QQ号为123456的成员使用/watch命令的权限
/grant -c watch 123456
  • 给予QQ号为123456的成员bot群管理员权限(触发命令的人必须有bot群管理员权限)
/grant -r GroupAdmin 123456
  • 撤销QQ号为123456的成员使用/watch命令的权限
/grant -d -c watch 123456

一句话来说,把grant命令原封不动的复制过来,并加上-d命令选项即可撤销权限。

/grant (私聊版)

  • 在QQ群654321内给予QQ号为123456的成员使用/watch命令的权限
/grant -g 654321 -c watch 123456

一句话来说,用法同群聊一样,只是需要增加-g 要操作的qq群号码参数。

/enable 与 /disable

默认使用权限 默认启用 是否可禁用
bot群管理员

启用命令与禁用命令,两者配套使用。

一些例子:

  • 禁用watch命令,调用/watch不再有任何反应,之前watch过的仍然正常推送,即无法新增订阅
/disable watch
  • 禁用unwatch命令,调用/unwatch不再有任何反应,即无法取消订阅
/disable unwatch
  • 启用watch命令,调用/watch恢复正常使用,即允许新增订阅
/enable watch

/enable 与 /disable (私聊版)

  • 在QQ群123456内禁用watch命令,调用/watch不再有任何反应,之前watch过的仍然正常推送,即无法新增订阅
/disable -g 123456 watch
  • 在QQ群123456内启用watch命令,调用/watch恢复正常使用,即允许新增订阅
/enable -g 123456 watch

一句话来说,用法同群聊一样,只是需要增加-g 要操作的qq群号码参数。

/help

默认使用权限 默认启用 是否可禁用
所有人

打印帮助信息,可以帮助宣传本项目。

现在可以禁用help命令了

一些例子:

/help

/roll

默认使用权限 默认启用 是否可禁用
所有人

产生随机数,或者从多个选择中随机返回一个

一些例子:

  • 生成一个1~100范围的随机数
/roll
  • 生成一个1~10范围的随机数
/roll 10
  • 生成一个100~200范围的随机数
/roll 100-200
  • 画画不画明天再画三个中随机返回一个
/roll 画画 不画 明天再画

/倒放

默认使用权限 默认启用 是否可禁用
所有人

只对gif生效,生成倒放过的gif。

触发方式有两种:

/倒放 [图片]

由于手机端不太好使用上面的格式,因此也支持回复触发

【回复图片消息】/倒放

/签到

默认使用权限 默认启用 是否可禁用
所有人

每天可签到1次,获得1积分(目前积分暂无其他用处)

一些例子:

/签到

/色图

默认使用权限 默认启用 是否可禁用
所有人

该命令默认关闭,需要手动使用enable命令开启

由于该功能已有失控的趋势,现在不能再指定数量和图片tag了。

【更新】该命令在官方bot上停止使用。

返回p站图片(NSFW但非r18),一次最多10张

如果你发现图片有某种倾向,那它就是。

一些例子:

  • 返回一张图片
/色图
该功能已删除
  • 返回3张图片tag包含刻晴的p站图片
/色图 -t 刻晴 3

/silence

默认使用权限 默认启用 是否可禁用
bot群管理员

从v0.1.3版本开始支持

设置沉默模式,将在群内减少一些输出信息,不再显示的范围:

  • 命令权限不够
  • 命令被禁用
  • 命令语法错误(不包括参数错误)
  • 命令帮助 (-h参数)

例子:

  • 在群内开启沉默模式
/silence
  • 在群内取消沉默模式
/silence -d

/silence (私聊版)

默认使用权限 默认启用 是否可禁用
bot群管理员

从v0.1.3版本开始支持

设置沉默模式,将在群内减少一些输出信息,不再显示的范围:

  • 命令权限不够
  • 命令被禁用
  • 命令语法错误(不包括参数错误)
  • 命令帮助 (-h参数)

例子:

  • 在群123456内开启沉默模式
/silence -g 123456
  • 在群内取消沉默模式
/silence -d -g 123456

管理员命令

管理员命令,仅限于管理员使用,主要面向私有部署场景

所有管理员命令只能私聊使用

/whosyourdaddy

用于初次启动bot时设置管理员,只能在bot没有管理员的时候使用,成功后发送命令的帐号将成为bot管理员。

后续使用此命令无效。

例子:

/whosyourdaddy

/sysinfo

用于管理员查询bot当前好友数、群组数、订阅数量

例子:

/sysinfo

返回结果:

当前好友数:88
当前群组数:84
当前Bilibili订阅数:207
当前Douyu订阅数:2
当前YTB订阅数:28
当前Huya订阅数:1

/disable --global 与 /enable --global

用于管理员控制命令的启停

注意:

该命令不会覆盖单个群的设置,即:

假设命令C在A群被禁用,在B群开启,被全局禁用后在AB群均无法使用,此时再次全局启用,仍然保持A群禁用,B群启用的状态。

一些例子:

  • 全局禁用help命令,在群组内无法再使用/help命令
/disable --global help
  • 全局禁用watch命令,无法再使用/watch命令
/disable --global watch
  • 全局启用watch命令,可以正常使用/watch命令
/enable --global watch

/log

用于管理员临时查询bot日志

一些例子:

  • 查询最后10条日志
/log 10
  • 查询包含有关键字error的日志,返回其中的最后20条 (先按关键字过滤,再按条数过滤)
/log 20 -k error

/ping

用于管理员ping bot

例子:

/ping

返回:

pong

/quit

用于管理员控制bot退出群聊,或者清除未正常退出的群的数据

例子:

  • 退出群123456,如果bot未在群内,则无效果
/quit 123456
  • 退出群123456,同时强制清除数据库内的数据,不管bot是否在群内。

强制清除用于维护数据库,如果退群事件没有正常触发,则需要用到强制清除,例如群被封,bot掉线期间被踢,等情况。

如果bot持续向一个已经不存在的群发数据,可能会导致被封。

/quit 123456 -f

/mode

从v0.1.0版本开始支持

用于管理员设置bot的工作模式,目前有 公开 私人 审核 三种。

如果要使用工作模式,请把bot帐号加好友权限设置为需要审核。

您也可以直接设置为不允许任何人加好友,则工作模式功能无效。

公开模式下bot会自动同意好友申请与加群邀请。

私人模式下bot会自动拒绝好友申请与加群邀请。(群人数较少等情况下加群邀请会自动同意,因此存在无法拒绝加群邀请的情况)

审核模式下bot会保留好友申请与加群邀请,可以用/好友申请/群邀请命令管理。(存在加群邀请自动同意的情况)

例子:

  • 查看当前工作模式
/mode
  • 切换到私人模式
/mode 私人
  • 切换到审核模式
/mode 审核

/好友申请

从v0.1.0版本开始支持

用于管理员在审核模式下管理好友申请。(需要把bot的QQ帐号的加好友的权限设置为需要审核才能管理)

例子:

  • 查看当前好友申请
/好友申请
  • 同意申请ID为10000的好友申请(申请ID会在查看申请时展示)
/好友申请 10000
  • 拒绝申请ID为10000的好友申请(申请ID会在查看申请时展示)
/好友申请 --reject 10000
  • 同意所有好友申请
/好友申请 --all
  • 拒绝所有好友申请
/好友申请 --all --reject

/群邀请

从v0.1.0版本开始支持

用于管理员在审核模式下管理群邀请。(存在自动同意的情况,并非所有请求都可以管理)

用法大致与好友申请相同

  • 查看加群邀请
/群邀请
  • 同意邀请ID为10000的群邀请(申请ID会在查看群邀请时展示)
/群邀请 10000
  • 拒绝邀请ID为10000的群邀请(申请ID会在查看群邀请时展示)
/群邀请 --reject 10000
  • 同意所有群邀请
/群邀请 --all
  • 拒绝所有群邀请
/群邀请 --all --reject

/admin

从v0.1.3版本开始支持

用于查看当前的Admin权限,显示所有拥有Admin权限的人。

  • 查看Admin
/admin

/silence

从v0.1.3版本开始支持

设置沉默模式,将在群内减少一些输出信息,不再显示的范围:

  • 命令权限不够
  • 命令被禁用
  • 命令语法错误(不包括参数错误)
  • 命令帮助 (-h参数)

管理员可私聊设置全局沉默

例子:

  • 设置全局沉默模式
/silence
  • 对群123456设置沉默模式
/silence -g 123456
  • 取消沉默模式
/silence -d
/silence -d -g 123456

/检测异常订阅

从v1.0.8版本开始支持

由于一些情况无法正常退出Q群(比如群被封,或者bot离线期间被t出群),此时无法自动清除bot在该群内的订阅,bot会向不存在的群推送,可能增加bot的不稳定。

这个命令可以查询是否存在有订阅但BOT不在群内的情况。

例子:

  • 检测异常订阅
/检测异常订阅

/清除订阅

从v1.0.8版本开始支持

这个命令用于清除异常订阅,或者清除指定群的订阅,还可以指定清除某个网站和种类的订阅。

清除订阅无法撤销,但是可以重新订阅

例子:

  • 清除异常订阅
/清除订阅 --abnormal
  • 清除异常的bilibili订阅
/清除订阅 --abnormal --site bilibili
  • 清除异常的bilibili直播订阅
/清除订阅 --abnormal --site bilibili --type live
  • 清除异常的直播订阅
/清除订阅 --abnormal --type live
  • 清除群123456和群223456的订阅
/清除订阅 -g 123456,223456 
  • 清除群123456和群223456的bilibili订阅
/清除订阅 -g 123456,223456 --site bilibili 
  • 清除群123456和群223456的bilibili直播订阅
/清除订阅 -g 123456,223456 --site bilibili --type live