OneTweBot项目文档

项目简介

本项目为一对多转推服务的BOT后端,支持多种订阅形式。目前主要以CQ插件作为载体实现消息推送,服务遵从OneBot及BothBot接口标准,可以适配各类CQHTTP服务。

文档导航

如果您想要为您的组织机构或者个人,配置并部署本BOT服务。请阅读 管理员文档

如果您所属的组织机构正在使用本BOT服务,且您遇到部分使用困难需要阅读帮助文档,请转至 用户文档

如果您是潜在的开发者,或已经基本掌握本BOT服务使用方法,但需要速查速记,请访问 资源

如果您想要与开发者取得联系或了解本项目开发进程,请访问 关于项目仓库

管理员文档

快速入门

准备工作
  • 一台正常运行的服务器(可选)
  • 一个支持CQHTTP的服务端(文档中CoolQ已失效,可参考其他使用CQ标准的项目)
  • 推特开发者账号&TwitterAPI
  • RSSHub账号&AccessToken(与上面二者选一)
  • Tweepy(无需上述两者/待开发)
开始部署
使用CoolQ(已失效)

安装CoolQ并按照帖子内文档部署。

Air Pro Docker

  • Docker中部署Air

    mkdir coolq-data
    docker run --name=coolq -d -p <VNC Port>:9000 -v /root/coolq-data:/home/user/coolq -e VNC_PASSWD=<Password> -e COOLQ_ACCOUNT=<QQ> coolq/wine-coolq
    
  • Docker中部署Pro

    mkdir coolq
    docker run --name=coolq -d -p <VNC Port>:9000 -v `pwd`/coolq:/home/user/coolq -e COOLQ_ACCOUNT=<QQ ID> -e COOLQ_URL=http://dlsec.cqp.me/cqp-full -e VNC_PASSWD=<Password> coolq/wine-coolq
    

※ 其中9000为默认内部端口 映射到指定的VNC端口 故在后面操作图形化界面时 需通过

的地址打开。

如需使用除搬运推文以外的其他功能(烤推等涉及图片发送的功能)

请务必 捐赠CQP项目 以使用 CoolQ Pro

启动CoolQ插件(已失效)
下载CPK依赖
  • Windows平台

下载CQHttpCPK依赖包并安装(放到依赖包位置并初次启动后进行配置)

  • Docker for Linux
wget https://github.com/richardchien/coolq-http-api/releases/download/v4.15.0/io.github.richardchien.coolqhttpapi.cpk

如在Docker中部署请在此处启动插件服务

配置CPK插件

在CQ根目录下data/app/io.github.richardchien.coolqhttpapi/config/文件夹内,找到<QQ号>.json的JSON配置文件(须初次启动后自动生成)

在其中添加两行以打开消息推送

"rate_limit_interval":500,
"enable_rate_limited_actions": true,

本插件支持HTTP和WS两种模式,故可根据官方文档中配置部分进行操作。

绝大部分参数无需修改,但请保证打开http/ws_reverse/ws其中之一,并打开heartbeat以确保全部功能可用。基本操作也可参见Nonebot文档中的基本配置说明

下面给出一个配置范例

{
    "$schema": "https://cqhttp.cc/config-schema.json",
    "host": "0.0.0.0",
    "port": 5700,
    "use_http": true,
    "ws_host": "0.0.0.0",
    "ws_port": 6700,
    "use_ws": false,
    "ws_reverse_url": "ws://127.0.0.1:8087/ws/",
    "ws_reverse_api_url": "",
    "ws_reverse_event_url": "",
    "ws_reverse_reconnect_interval": 3000,
    "ws_reverse_reconnect_on_code_1000": true,
    "use_ws_reverse": true,
    "post_url": "http://0.0.0.0:8890",
    "access_token": "",
    "rate_limit_interval":500,
    "enable_rate_limited_actions": true,
    "enable_heartbeat": true,
    "secret": "",
    "post_message_format": "string",
    "serve_data_files": false,
    "update_source": "global",
    "update_channel": "stable",
    "auto_check_update": false,
    "auto_perform_update": false,
    "show_log_console": true,
    "log_level": "info"
}
配置文件说明

“$schema”: “https://cqhttp.cc/config-schema.json

无需修改

“host”: “0.0.0.0”

HTTP协议 事件上报IP(监听IP)开启时须正确配置

“port”: 5700

HTTP协议 事件上报接口(监听接口)开启时须正确配置

“use_http”: true

启用HTTP 使用时开启

“ws_host”: “0.0.0.0”

正向WS IP

“ws_port”: 6700

正向WS端口

“use_ws”: false

启用正向WS 本项目不使用 建议关闭

“ws_reverse_url”: “ws://127.0.0.1:8087/ws/”

反向WS地址 务必正确填写

“ws_reverse_api_url”: “”

反向WS API地址 如填写反向WS地址则无需填写

“ws_reverse_event_url”: “”

反向WS 事件上报地址 如填写反向WS地址则无需填写

“ws_reverse_reconnect_interval”: 3000

重连间隔 无需修改

“ws_reverse_reconnect_on_code_1000”: true

是否重连 无需修改

“use_ws_reverse”: true

启用反向WS 使用时开启 建议优先使用

“post_url”: “http://0.0.0.0:8890

HTTP POST地址 使用HTTP协议时填写

“access_token”: “”

CQHTTP TOKEN 无需填写

“rate_limit_interval”:500

频率限制 务必添加

“enable_rate_limited_actions”: true

开启频率限制 务必打开

“enable_heartbeat”: true

开启心跳 务必打开

“secret”: “”,
”post_message_format”: “string”,
”serve_data_files”: false,
”update_source”: “global”,
”update_channel”: “stable”,
”auto_check_update”: false,
”auto_perform_update”: false,
”show_log_console”: true,
”log_level”: “info”

各项均可保持默认 无需修改

关于协议

本项目支持使用HTTP或反向WS协议进行通信,其中

  • 使用HTTP协议
    • 事件上报地址 “host”与”port”
    • POST通信地址 “post_url”(host:port)
  • 使用反向WS协议
    • API地址 “ws_reverse_url”

简单来说,HTTP的收发分别使用两个地址,而反向WS协议使用同一个地址。

因此可以通过同时打开HTTP和反向WS协议实现使用一个BOT同时连接两个后端服务。

具体配置过程在`多服务配置 <https://github.com/chenxuan353/tweetToQQbot/blob/master/readme.md#多服务配置>`_中说明。

启动服务
安装依赖
使用PYPI依赖(须提前安装好Python3.7及PIP)

手动安装依赖

pip install nonebot[scheduler] selenium xmltodict threading urllib tweepy

或者可以使用

进行一键安装

如进行一键依赖安装时发送报错 请检查Python版本是否为3.7

Chrome浏览器与ChromeDriver

您可以参考本教程

添加配置

将config_example.py改名为config.py并填写内部的配置信息

mv config_example.py config.py

​```shell vi config.py

启动插件

在Docker指定的端口通过HTTP访问服务器,在浏览器中键入:

服务器IP:指定端口

访问NoVNC控制台。

输入密码后可进入Docker内置的Wine环境,通过可视化方式操作CoolQ客户端,

请登录后在插件管理中打开CQHTTP插件(请确保配置环节中CQHTTP已正确安装)。

运维管理

请在启动服务前将Nonebot_config.py中SUPERUSER指向管理员(比如您自己)的QQ号,之后的各命令,均需要管理员权限方可使用。

问题反馈

通过命令!反馈返回的用户反馈均会以私信形式发送给管理员,如需联系开发者进行解决,请参见关于

用户文档

命令说明

  1. 调用命令实现功能需要以<命令标识符><命令> <参数表>的形式调用,具体格式已在各命令中说明。

    • 默认标识符为!,故在调用时请添加命令标识符,例如使用帮助命令时,请在聊天室(群/私聊)中键入:

      而非仅发送about

    • 关于权限,部分命令由于涉及重要推送设置或推送大量信息。为了保护BOT正常运行以及群内使用体验,故操作需要管理权限(超级管理员/群主/管理员)进行操作才会进行响应。

    • 在权限中有@bot字段的,群聊消息需要在添加标识符的同时@所使用的的BOT账号,如:

  2. 命令和参数表,以及参数表各参数之间需要以一个半角空格作为空格,空参数亦不能省略空格

    • 同义格式可以替换<命令>使用,功能完全相同(通常提供中文支持或缩写)
  3. 参数注释

    • 推文推送命令列表中提到的<推特用户ID>是指由英文数字组成的用户名(即在@时会显示的文本)。
    • 烤推命令列表中提到的<推文ID>为推文status字段后19位(或以上)10进制数码,<压缩推文ID>为推文推送时附带的字符串,可使用相关命令互相转换。
  4. !注意!:如果监听列表里没有监听对象则全局设置会被重置。

命令说明

沟通反馈
帮助 about
  • 命令格式:about
  • 同义格式:帮助关于help
  • 所需权限:无限制
  • 功能说明:返回转推bot的关于消息
信息反馈 feedback
  • 命令格式:feedback <信息>
  • 同义格式:Feedback反馈
  • 所需权限:超级管理员/群管理/群主,@bot
  • 功能说明:所发送的信息将会反馈到后台日志供开发者查看 并可由开发者查看后处理回复反馈
处理反馈 dealfeedback
  • 命令格式:feedback <编号> <反馈内容>
  • 同义格式:处理反馈反馈处理dealFeedback
  • 所需权限:仅开发者
  • 功能说明:开发者用于回复信息反馈内容的命令
反馈完成
  • 命令格式:反馈完成 <反馈ID>
  • 同义格式:反馈处理完成
  • 所需权限:仅开发者
  • 功能说明:开发者用于回复信息反馈内容的命令
反馈列表 feedbacklist
  • 命令格式:feedbacklist [<页码>]
  • 同义格式:反馈列表
  • 所需权限:仅开发者
  • 功能说明:开发者用于回复信息反馈内容的命令
插件例程

示例/测试用插件,用于简单娱乐和检查BOT连通性。

回复233 233
  • 命令格式:233
  • 所需权限:组say233
  • 功能说明:权限组测试,BOT回复233
固定回复
  • 命令格式:233
  • 同义格式:say233
  • 所需权限:无限制
  • 功能说明:BOT回复233
随机回复 爪巴
  • 命令格式:爪巴
  • 所需权限:无限制
  • 功能说明:BOT随机回复
复读 233
  • 命令格式:233
  • 同义格式:say233
  • 所需权限:无限制
  • 功能说明:BOT回复233
报错测试绝活
  • 命令格式:绝活
  • 同义格式:异常无内鬼报个错
  • 所需权限:无限制
  • 功能说明:管理/开发使用,测试后台报错。
消息流管理
查询指定消息流状态
关闭指定消息流
开启指定消息流
消息流状态
关闭消息流
开启消息流
获取消息流组标识
消息流定向放行
消息流定向阻止
消息流放行
消息流阻止
权限管理
获取合法权限组列表 legalGroupList
  • 命令格式:legalGroupList
  • 同义格式:合法组权限列表
  • 所需权限:超级管理员/开发者
  • 功能说明:获取合法可授权模块(合法权限组列表)
获取合法权限列表 legalPermList
  • 命令格式:legalPermList <合法权限组名>
  • 同义格式:合法权限列表
  • 所需权限:超级管理员/开发者
  • 功能说明:获取某合法权限组内具体可用命令(具体合法权限)
查看授权
权限组列表 permGroupList
  • 命令格式:permGroupList <类型> <ID>
  • 同义格式:权限组列表
  • 所需权限:超级管理员/开发者
  • 功能说明:获取某群聊/聊天所有权限组列表
远程授权
远程取消授权
远程授权禁用
查询授权
权限列表 permList

命令格式: permList <权限组名>

同义格式: tgt

  • 所需权限:超级管理员/开发者
  • 功能说明:获取某群聊/聊天权限组内权限列表
添加权限 permAdd
  • 命令格式: permAdd <群号> <权限组名>
  • 同义格式: 添加权限
  • 所需权限:超级管理员/开发者
  • 功能说明:添加某群组/聊天权限
移除权限 permDel
  • 命令格式: permDel <群号> <权限组名>
  • 同义格式: 移除权限
  • 所需权限:超级管理员/开发者
  • 功能说明:移除某群组/聊天权限
插件管理
帮助
全局禁用插件
全局启用插件
禁用插件
启用插件
插件列表
RSS推送
推送插件

订阅、监听、推送的功能插件。

启动监听 runTweetListener
  • 命令格式: runTweetListener
  • 同义格式: 启动监听
  • 所需权限:超级管理员, @bot
  • 功能说明:用于推特流断连后尝试重启监听 如已启动则会警告
移除全部监听 delall
  • 命令格式:delall
  • 同义格式:这里单推bot
  • 所需权限:超级管理员/群主, @bot
  • 功能:移除当前私聊/群的所有监听
查看监听列表 getpushlist
  • 命令格式:getpushlist <页码-可选>
  • 同义格式:DD列表
  • 所需权限:超级管理员/群管理/群主/好友私聊
  • 功能:获取当前私聊/群的监听列表,页数默认为1。
image-20200428114040218
获取用户信息 getuserinfo
  • 命令格式:getuserinfo <推特用户ID>
  • 同义格式:查询推特用户 <推特用户ID>
  • 所需权限:超级管理员/好友私聊/群管理/群主, @bot
  • 功能:获取当前私聊/群的监听列表

例:getuserinfo shiranuiflare

image-20200428113938381
添加监听对象 addone
  • 命令格式:addone <推特用户ID> <称呼> <描述>

  • 同义格式:给俺D一个 <推特用户ID> <称呼> <描述>

  • 所需权限:超级管理员/好友私聊/群管理/群主, @bot

  • 功能说明:添加一个用户到本群监听

  • 使用例:给俺D一个 shirakamifubuki 吹雪 我永远喜欢小狐狸

    (不设置昵称)使用例:给俺D一个 shirakamifubuki  我永远喜欢小狐狸

    (完全无参数)使用例:给俺D一个 shirakamifubuki

    ※ 跨参数设置同样需要空格分割,完全不设置参数时可以不添加空格

image-20200428113806819
删除监听对象 delone
  • 命令格式:delone <推特用户ID>
  • 同义格式:我不想D了
  • 所需权限:超级管理员/群管理/群主/好友私聊, @bot
  • 功能说明:移除一个本群监听的用户
显示BOT推送设置 getGroupSetting
  • 命令格式:getGroupSetting
  • 同义格式:全局设置列表
  • 所需权限:超级管理员/群管理/群主/好友私聊, @bot
  • 功能说明:显示当前私聊/群的全局推送设置
显示推送设置 getSetting
  • 命令格式:getSetting <推特用户ID>
  • 同义格式:对象设置列表
  • 所需权限:超级管理员/群管理/群主/好友私聊, @bot
  • 功能说明:显示当前私聊/群的某个监听对象的推送设置
设置推送属性 setGroupAttr
  • 命令格式:setGroupAttr <属性> <值>
  • 同义格式:全局设置
  • 所需权限:超级管理员/群管理/群主/好友私聊, @bot
  • 功能说明:移除一个本群监听的用户

例:setGroupAttr 转推 关

支持的属性列表(大小写不敏感)

※ 属性名称,别名1,…,别名n

携带图片发送
upimg,图片,img
消息模版(参数为模版字符串)

retweet_template,转推模版

quoted_template,转推并评论模版

reply_to_status_template,回复模版

reply_to_user_template,被提及模版

none_template,发推模版

推特转发各类型开关
  • 属性

retweet,转推

quoted,转推并评论

reply_to_status,回复

reply_to_user,被提及

none,发推

true,开,打开,开启,1

false,关,关闭,0

推特个人信息变动推送开关
属性

change_id,ID改变

change_name,名称改变

change_description,描述改变

change_headimgchange,头像改变

支持的值

true,开,打开,开启,1

false,关,关闭,0

模版字符串说明
默认模版
发推
转推
转发并评论
回复与被提及
模版支持的变量

​ 注:使用\n替代换行符,理论上直接换行也可以但是十分不推荐

$tweet_id 推特ID

$tweet_id_min 压缩推特id

$tweet_nick 操作人昵称

$tweet_user_id 操作人ID

$tweet_text 发送推特的完整内容

$related_user_id 关联用户ID

$related_user_name 关联用户昵称-昵称-昵称查询不到时为ID(被评论/被转发/被提及)

$related_tweet_id 关联推特ID(被评论/被转发)

$related_tweet_id_min 关联推特ID的压缩(被评论/被转发)

$related_tweet_text 关联推特内容(被转发或被转发并评论时存在)

$media_img 推特携带的图片

更改监听对象属性 setAttr
  • 命令格式:setAttr <监听用户UID> <属性> <值>
  • 同义格式:对象设置
  • 所需权限:超级管理员/群管理/群主/好友私聊, @bot
  • 功能说明:设置指定监听对象的属性

例:setGroupAttr 997786053124616192 转推

setGroupAttr 997786053124616192 昵称

setGroupAttr 997786053124616192 昵称 FBKwaring

※ UID可以通过命令getpushlist查看,大部分属性与setGroupAttr命令相同

特有的属性支持

※ 属性名称,别名1,…,别名n

nick,昵称

des,描述

删除推送对象 globalRemove
  • 命令格式:globalRemove 消息类型 Q号/群号
  • 同义格式:全局移除
  • 所需权限:超级管理员/好友私聊, @bot
  • 功能说明:移除某个人或某个群的所有监听,用于修复配置错误(退出群/删除好友时不在线)
消息类型

私聊,好友,private

群聊,群,group

例:globalRemove 群聊 123456

查询推特用户信息 getuserinfo
  • 命令格式:getuserinfo <用户UID/用户ID>
  • 同义格式:查询推特用户
  • 所需权限:超级管理员/好友私聊, @bot
  • 功能说明:查询某个用户的信息,显示的头像将会更新(新增与减少监听不会重新下载头像)
全局移除 globalRemove
  • 命令格式:globalRemove <private/私聊/group/群聊> <QQ号/群号>
  • 同义格式:全局移除
  • 所需权限:超级管理员, @bot
  • 功能说明:移除某个人或某个群的所有监测,用于修复配置错误(退出群/删除好友时不在线)
压缩推特ID entweetid
  • 命令格式:entweetid <推文ID>
  • 同义格式:推特ID压缩压缩ID
  • 所需权限:无限制
  • 功能说明:将推文ID压缩为缩写推文ID
解压推特ID detweetid
  • 命令格式:detweetid <缩写推文ID>
  • 同义格式:推特ID解压解压ID
  • 所需权限:无限制
  • 功能说明:将缩写推文ID解压为推文ID
烤推插件
烤推授权 transswitch
  • 命令格式:globalRemove <private/私聊/group/群聊> <QQ号/群号>
  • 同义格式:ts烤推授权
  • 所需权限:群聊, 群主/超级管理员, @bot
  • 功能说明:为群聊添加/移除烤推授权(开关功能)
翻译推特 trans
  • 命令格式:trans <推文ID/缩写推文ID> <翻译文本>
  • 同义格式:t烤推
  • 所需权限:无限制
  • 功能说明:为某条推文添加翻译,由BOT完成嵌字并返回。翻译文本支持多行,不支持转义字符(TODO: 对emoji的支持尚需完善)
获取推特翻译列表 translist
  • 命令格式:translist <页数>translist(translist默认值为1)
  • 同义格式:tl烤推列表
  • 所需权限:无限制
  • 功能说明:获取已翻译推特列表
获取翻译文本 gettrans
  • 命令格式:gettrans <推文ID/缩写推文ID>
  • 同义格式:gt获取翻译
  • 所需权限:无限制
  • 功能说明:获取某条推文的翻译文本
获取烤推帮助 transabout
  • 命令格式:transabout
  • 同义格式:ta烤推帮助
  • 所需权限:无限制
  • 功能说明:获取烤推流程相关命令帮助说明
按类型获取推文翻译 typeGettrans
  • 命令格式:typeGettrans <推文翻译类型>
  • 同义格式:tgt
  • 所需权限:超级管理员/开发者
  • 功能说明:仅供开发者使用的推文翻译获取方法
翻译插件
翻译功能设置 mtransopt
  • 命令格式:mtransopt <设置>
  • 同义格式:翻译设置
  • 所需权限:@bot
  • 功能说明:进行机器翻译功能设置
机翻功能说明

本BOT提供谷歌和腾讯两种翻译API:

  • 腾讯为自动识别语言 翻译为中文
  • 谷歌可指定源语言与目标语言
设置选项
谷歌翻译

使用例:

!翻译设置 谷歌 中 日

即「使用谷歌API将中文翻译为日文」

腾讯翻译

自动识别默认使用腾讯API

即可

机器翻译 mtrans
  • 命令格式:mtrans <文本内容>
  • 同义格式:机翻翻译mt
  • 所需权限:@bot
  • 功能说明:进行机器翻译

资源

API列表

本列表中各指令按模块划分和排序。

提示

API注记规则

注记 说明 用例
<提示信息> 此处应填入指定内容 !t <编号> <译文> 应填入 !t #1234 早上好
[可选内容] 此处内容可以不填写 !反馈 <反馈标题>[ <反馈内容>] 写入 !反馈 有BUG 使用不了命令!反馈 命令无效 均合法

提示

指令识别规则

  • 指令前方的 ! 为注记符,可以使用全角(中文)的 进行替换。
  • 指令前方的 # 做注记符时,不可以使用全角(日文)的 进行替换。
  • 指令通常有多种表示形式,其功能完全相同。
  • 指令中通常使用半角空格作为分隔符,实际上可以使用回车换行进行分隔,与半角空格等价,但不可以使用全角空格替代。

提示

ToBot * 部分指令为了排除同一群内有多个使用本后端的BOT而导致的冲突问题,因此设置了 ToBot 限制:

  • 群聊中需要@BOT使命令生效
  • 私聊中默认全部命令ToBot有效
  • 在API中以 是/否 进行标明,否即为无需 ToBot ,是即为必须使 ToBot 有效

提示

权限 各指令均有对权限的要求,大致分为 超级管理员 | 管理员 | 用户 三类。

参见

详情参见 权限管理

BOT管理命令
用户反馈

插件:反馈

本插件用于让用户向管理员提出消息反馈,以便项目维护和意见问题收集。

信息反馈

LTS 新版功能.

指令 !反馈 <反馈标题>[ <反馈内容>]
!feedback <反馈标题>[ <反馈内容>]
权限 反馈权限
ToBot
参数 反馈标题 想要反馈的问题标题
反馈内容 想要反馈的问题内容
可选参数默认值 反馈内容

处理反馈

LTS 新版功能.

指令 !处理反馈 <反馈ID> <反馈答复>
!dealfeedback <反馈ID> <反馈答复>
权限 管理权限
ToBot
参数 反馈ID 反馈信息ID(可通过 `反馈列表`_ 查看)
反馈答复 关于反馈信息的答复

完成反馈

v3 新版功能.

指令 !反馈完成 <反馈ID>
!反馈处理完成 <反馈ID>
权限 管理权限
ToBot
参数 反馈ID 反馈信息ID(可通过 `反馈列表`_ 查看)

查看反馈列表

LTS 新版功能.

指令 !反馈列表[ <页码>]
!feedbacklist[ <页码>]
权限 管理权限
ToBot
参数 页码 反馈列表对应的页码(5条/页)
可选参数默认值 页码 1
消息流管理

插件:消息流管理

本插件会对BOT的消息流进行管理,并支持打开/关闭/编辑消息流状态。

查看指定消息流状态

v3 新版功能.

指令 !查询指定信息流状态 <BOT标识> <BOTID>
权限 信息查看权限
ToBot
参数 BOT标识 BOT使用的协议名(cqhttp/dingding)
BOTID BOT编号

提示

消息流默认状态

消息流默认处于开启状态,此时BOT将正常运行。 关闭BOT的消息流后,BOT将不会接收消息,处于禁用状态。

开启指定消息流

v3 新版功能.

指令 !开启指定信息流 <BOT标识> <BOTID>
权限 管理权限
ToBot
参数 BOT标识 BOT使用的协议名(cqhttp/dingding)
BOTID BOT编号

关闭指定消息流

v3 新版功能.

指令 !关闭指定信息流 <BOT标识> <BOTID>
权限 管理权限
ToBot
参数 BOT标识 BOT使用的协议名(cqhttp/dingding)
BOTID BOT编号

查看当前消息流状态

v3 新版功能.

指令 !消息流状态
权限 信息查看权限
ToBot
参数

开启当前消息流

v3 新版功能.

指令 !开启消息流
权限 管理权限
ToBot
参数

关闭当前消息流

v3 新版功能.

指令 !关闭消息流
权限 管理权限
ToBot
参数

获取消息流组标识

v3 新版功能.

指令 !获取消息流组标识
权限 信息查看权限
ToBot
参数

消息流定向放行

v3 新版功能.

指令 !消息流定向放行 <消息来源> <BOTID>
权限 管理权限
ToBot
参数 消息来源 目标放行的(BOT的)消息来源组(群聊/私聊)
BOTID 目标放行的BOT

消息流定向阻止

v3 新版功能.

指令 !消息流定向阻止 <消息来源> <BOTID>
权限 管理权限
ToBot
参数 消息来源 目标阻止的(BOT的)消息来源组(群聊/私聊)
BOTID 目标阻止的BOT

放行当前数据流

v3 新版功能.

指令 !消息流放行
权限 管理权限
ToBot
参数

阻止当前数据流

v3 新版功能.

指令 !消息流阻止
权限 管理权限
ToBot
参数
权限管理

插件:权限管理

本插件用于用户的权限管理,部分命令需要用户持有相应权限才可以触发使用。

提示

关于权限

OneTweBot中各插件权限均保持独立,其中超级管理员拥有最高权限,不受任何权限管理约束(须在启动服务时使用QQ号配置)。 对于用户权限等级做以下划分:

  • 超级管理员
  • 任何人(无需任何授权即可使用)
  • 插件管理者(仅用于超级管理员授权)
  • 临时群聊
  • 临时私聊
  • 群聊
  • 私聊
  • 未知(仅用于事件生成)
  • 未授权(需要授权使用插件的默认值)

各插件均会有初始默认权限,并可以进行授权。 (部分需要使用有限API资源的插件默认权限为 未授权 ,此时必须需要超级管理员授权方可正常使用该插件。例如:烤推插件、推送插件等) 插件在授权后,通常会有两个权限等级:

  • 插件管理员
  • 插件授权用户

在各插件中会使用对应插件的权限等级进行标注和说明。

合法权限组列表

LTS 新版功能.

指令 !合法权限组列表[ <页码>]
权限 信息查看权限
ToBot
参数 页码 反馈列表对应的页码(5条/页)
可选参数默认值 页码 1

查看合法权限组内合法权限列表

指令 !合法权限列表 <合法权限组>[ <页码>]
权限 信息查看权限
ToBot
参数 合法权限组 想要查看的合法权限组
页码 反馈列表对应的页码(5条/页)
可选参数默认值 页码 1

查看授权

LTS 新版功能.

指令 !查看授权 <合法权限组>[ <页码>]
权限 任何人
ToBot
参数 页码 反馈列表对应的页码(5条/页)
可选参数默认值 页码 1

远程授权

v3 新版功能.

指令 !远程授权 <消息来源> <消息来源ID> <权限组>
权限 管理权限
ToBot
参数 消息来源 所要授权的(BOT的)消息来源组(群聊/私聊)
消息来源ID 授权的消息来源组(群聊/私聊)ID
权限组 所要授权权限所在的合法权限组
权限名 所要授权权限的权限名
可选参数默认值 页码 1

远程取消授权

v3 新版功能.

指令 !远程取消授权 <消息来源> <消息来源ID> <权限组>
权限 管理权限
ToBot
参数 消息来源 所要授权的(BOT的)消息来源组(群聊/私聊)
消息来源ID 授权的消息来源组(群聊/私聊)ID
权限组 所要授权权限所在的合法权限组
权限名 所要授权权限的权限名
可选参数默认值 页码 1

远程禁用授权

v3 新版功能.

指令 !远程禁用授权 <消息来源> <消息来源ID> <权限组>
权限 任何人
ToBot
参数 消息来源 所要授权的(BOT的)消息来源组(群聊/私聊)
消息来源ID 授权的消息来源组(群聊/私聊)ID
权限组 所要授权权限所在的合法权限组
权限名 所要授权权限的权限名
可选参数默认值 页码 1

查询授权

LTS 新版功能.

指令 !查询授权 <消息来源> <消息来源ID> <权限组>
权限 任何人
ToBot
参数 消息来源 所要授权的(BOT的)消息来源组(群聊/私聊)
消息来源ID 授权的消息来源组(群聊/私聊)ID
权限组 所要授权权限所在的合法权限组
权限名 所要授权权限的权限名
可选参数默认值 页码 1
插件管理

插件:插件管理

本插件为内置插件管理,可通过远程和本地编辑全局和某一聊天内的插件启用状态。

查看插件帮助信息

v3 新版功能.

指令 !帮助[ <插件名> <页码>]
权限 任何人
ToBot

全局禁用插件

v3 新版功能.

指令 !全局禁用插件 <插件名>
权限 全局管理权限
ToBot

全局启用插件

v3 新版功能.

指令 !全局启用插件 <插件名>
权限 全局管理权限
ToBot

禁用插件

v3 新版功能.

指令 !禁用插件 <插件名>
权限 群聊管理员/群主
ToBot

启用插件

v3 新版功能.

指令 !启用插件 <插件名>
权限 群聊管理员/群主
ToBot

查看插件列表

LTS 新版功能.

指令 !插件列表 <页码>
权限 信息查看权限
ToBot
推送命令
推特推送

插件:推特推送管理

本插件基于推特开发者账号所使用的TwitterAPI进行推文获取和推送,可作为稳定的推特订阅途径。

推特订阅授权

LTS 新版功能.

指令 !转推授权
权限 使用的管理权限
ToBot

取消推特订阅授权

LTS 新版功能.

指令 !取消转推授权
权限 使用的管理权限
ToBot

定向清空转推列表

LTS 新版功能.

指令 !定向清空转推列表 <消息来源标识> <消息来源ID>
权限 任何人
ToBot

定向清空转推对象

LTS 新版功能.

指令 !定向清空转推对象 <用户名>
权限 任何人
ToBot

全局转推列表

LTS 新版功能.

指令 !全局转推列表
权限 任何人
ToBot

添加辅助转推

v3 新版功能.

指令 !添加辅助转推 <用户名>
权限 任何人
ToBot

删除辅助转推

v3 新版功能.

指令 !删除辅助转推 <用户名>
权限 任何人
ToBot

查看辅助转推列表

v3 新版功能.

指令 !辅助转推列表[ <页码>]
权限 获取缓存信息权限
ToBot

启动主监听

v3 新版功能.

关闭主监听

v3 新版功能.

启动辅助监听

v3 新版功能.

关闭辅助监听

v3 新版功能.

获取推文

LTS 新版功能.

指令 !获取推文 <推文ID>
权限 管理权限
ToBot

推送优先级设置列表

v3 新版功能.

指令 !推送优先级设置列表
权限 管理权限
ToBot

设置推送优先级

v3 新版功能.

指令 !设置推送优先级 <用户ID> <优先级>
权限 管理权限
ToBot

查询推特用户

LTS 新版功能.

指令 !查询推特用户 <推特用户ID/推特用户名>
权限 使用权限
ToBot

查看推文列表

LTS 新版功能.

指令 !推文列表[ <推特用户ID/推特用户名> <页码>]
权限 使用权限
ToBot

添加推特账号订阅

LTS 新版功能.

指令 !加推 <用户名>[ <昵称> <描述>]
指令 !addone <用户名>[ <昵称> <描述>]
指令 !D一个 <用户名>[ <昵称> <描述>]
权限 群聊管理员/群主
ToBot

删除推特账号订阅

LTS 新版功能.

指令 !减推 <用户名>[ <昵称> <描述>]
!delone <用户名>[ <昵称> <描述>]
!少D一个 <用户名>[ <昵称> <描述>]
权限 群聊管理员/群主
ToBot

查看当前账号订阅列表

LTS 新版功能.

指令 !转推列表[ <用户名>]
!pushlist[ <用户名>]
!DD列表[ <用户名>]
!单推列表[ <用户名>]
权限 群聊管理员/群主
ToBot

清空当前账号订阅列表

LTS 新版功能.

指令 !清空推送
!delallpush
权限 任何人
ToBot

查看转推设置列表

LTS 新版功能.

指令 !转推设置列表[ <配置名>]
权限 任何人
ToBot

修改转推设置

LTS 新版功能.

指令 !转推设置 <属性> <属性值>
权限 任何人
ToBot

转推单元设置

v3 新版功能.

指令 !转推单元设置 <对象ID> <属性> <属性值>
权限 任何人
ToBot

转推单元设置列表

v3 新版功能.

指令 !转推单元设置列表 <用户名> <配置名>
权限 任何人
ToBot

压缩推特ID

LTS 新版功能.

指令 !64进制编码 <推文ID>
!2t64编码 <推文ID>
!压缩推文ID <推文ID>
权限 任何人
ToBot

解压推特ID

LTS 新版功能.

指令 !64进制解码 <推文ID>
!2t64解码 <推文ID>
!解压推文ID <推文ID>
权限 任何人
ToBot
RSS订阅

插件:RSShub推送管理

本插件基于RSSHub,支持一切合法RSS订阅。同时针对Bilibili直播/动态与推特时间线,支持直接使用主页/直播间地址进行订阅。

RSS订阅授权

LTS 新版功能.

指令 !RSS订阅授权
权限 管理授权开关权限
ToBot

取消RSS订阅授权

LTS 新版功能.

指令 !取消RSS订阅授权
权限 管理授权开关权限
ToBot

启动RSS监听

LTS 新版功能.

指令 !启动RSS监听
权限 管理权限
ToBot

关闭RSS监听

LTS 新版功能.

指令 !关闭RSS监听
权限 管理权限
ToBot

设置RSS优先级

v3 新版功能.

指令 !设置RSS优先级 <RSS订阅地址> <优先级>
权限 管理权限
ToBot

RSS优先级设置列表

v3 新版功能.

指令 !RSS优先级设置列表
权限 管理权限
ToBot

添加RSS订阅

LTS 新版功能.

指令 !订阅 <RSS订阅地址>[ <昵称> <推送描述> <选项>]
权限 使用权限
ToBot

取消RSS订阅

LTS 新版功能.

指令 !取消订阅 <RSS订阅地址>
权限 任何人
ToBot

订阅源解码

LTS 新版功能.

指令 !订阅源解码 <RSS订阅地址>
权限 群聊管理员/群主
ToBot

查看订阅列表

LTS 新版功能.

指令 !订阅列表 <页码>
权限 群聊管理员/群主
ToBot

清空订阅列表

LTS 新版功能.

指令 !清空订阅
权限 群聊管理员/群主
ToBot
翻译命令
推特翻译

插件:烤推

本插件主要实现的功能是对推特推文的人工翻译自动嵌字, 可通过消息中的文本生成含有翻译的图片,支持使用自定义 的嵌字模板。

推特翻译授权

LTS 新版功能.

指令 !烤推授权
权限 管理权限
ToBot

取消推特翻译授权

LTS 新版功能.

指令 !取消烤推授权
权限 管理权限
ToBot

设置烤推模板

v3 新版功能.

指令 !设置烤推模板 <模板内容>
!设置烤推模版 <模板内容>
权限 群聊管理员/群主
ToBot

发起推特翻译

LTS 新版功能.

指令 !烤推 <推文标识> <推文译文>
!t <推文标识> <推文译文>
#<推文临时ID> <推文译文>
权限 使用权限
ToBot

已翻译推特列表

LTS 新版功能.

指令 !烤推列表
!tl
权限 使用权限
ToBot

获取最新推特翻译结果

LTS 新版功能.

指令 !烤推结果
权限 使用权限
ToBot

获取指定推特翻译结果

LTS 新版功能.

指令 !推文任务
权限 使用权限
ToBot

显示推特翻译帮助信息

LTS 新版功能.

指令 !烤推帮助
权限 使用权限
ToBot
机器翻译

插件:翻译翻译

本插件通过调用各翻译引擎的公开API进行机器翻译,用以为推文翻译提供参考。

警告

API限额

本插件所使用的API为免费版本的公开API,故存在翻译限额,使用时请节约流量。

手动机器翻译

v3 新版功能.

指令 翻译[ <翻译引擎> <源语言> <目标语言>] <待翻译文本>
!机翻[ <翻译引擎> <源语言> <目标语言>] <待翻译文本>
机翻[ <翻译引擎> <源语言> <目标语言>] <待翻译文本>
权限 翻译权限
ToBot

启用流式翻译

v3 新版功能.

指令 !启动流式翻译 <对象> [ <翻译引擎> <源语言> <目标语言>]
权限 设置流式翻译的权限
ToBot

关闭流式翻译

v3 新版功能.

指令 !关闭流式翻译 <对象> [ <翻译引擎> <源语言> <目标语言>]
权限 设置流式翻译的权限
ToBot

显示流式翻译列表

v3 新版功能.

指令 !流式翻译列表
权限 设置流式翻译的权限
ToBot

清空流式翻译列表

v3 新版功能.

指令 !清空流式翻译列表
权限 设置流式翻译的权限
ToBot
其他功能

内置的周边功能,欢迎使用BothBot协议进行个性化开发!

测试插件

插件:插件例程

本插件的示例插件。目前内置的示例可用于BOT收发测试的功能,主要目的为测试联通性。

权限组测试

v3 新版功能.

指令 !233
权限 使用233的权限
ToBot

固定回复测试

v3 新版功能.

指令 !爬
权限 任何人
ToBot

图片传输测试

v3 新版功能.

指令 !来图
权限 任何人
ToBot

随机回复测试

LTS 新版功能.

指令 !爪巴
权限 任何人
ToBot

消息解析测试

v3 新版功能.

指令 !复读 <复读内容>
权限 任何人
参数 复读内容 需要BOT复读的内容
ToBot

异常返回测试

LTS 新版功能.

指令 !绝活
!异常
!无内鬼报个错
权限 任何人
ToBot

拓展资料阅读

部分部署时需要的前置知识相关资料,在此罗列以供阅读。

关于

关于本项目

版本动态

目前主要维护两个版本:

  • v3 活跃迭代更新的框架,目前重构自LTS版本,支持更多功能和自定义插件,能够和主流CQ框架进行适配。

  • LTS(Master) 稳定使用的框架,可以在CoolQ-CQHTTP框架下稳定运行,支持目前仍在维护的Go语言重构版本 go-cqhttp

    警告

    由于众所周知的原因CoolQ已停止维护,因此目前更建议使用V3版本,本文档中全部命令均支持V3版本,部分不支持原有LTS版本。

项目进度&注意事项

支持多个bot远程连接此后端,已经对可能的冲突进行了处理。

目前推特的推送流异常后将尝试5次重启(重启前等待十秒),五次重启均失败时需要手动重启。

对监听的修改将立刻保存至文件中。

已经保证了每个群就算是多个BOT同时存在也只会添加一个相同监听对象的推送。

现在配置文件读取后会以JSON的形式输出到日志中,如果丢失了配置文件,可以凭日志回档。

并且在退群时会自动卸载监听(需要bot在线),配置异常时可以手动清除检测。

注记
  • 接收推送的接口已经二次封装,只要事件符合推送事件处理器的数据格式,就可以正常推送。
  • 为了保证推送的正常运行使用了多线程。
  • 安装思源黑体CN之后可以修复字体问题。
基于本服务的扩展功能

欢迎基于本通用代码框架进行其他插件的开发!

目前可以使用的仓库有:

联系我们

欢迎通过 ISSUES 向我们提交问题反馈和建议!

加入我们

危险

快来817874522(大雾)

欢迎通过 电子邮件 联系我们!

提示

如有需要可考虑开设售后群,届时请Feel Free在ISSUE中提出。

特别鸣谢

特别感谢 richardchienMrs4s 对CQHTTP的巨大贡献。

免责声明

本项目仅用于学习与交流,并遵守MIT协议,保留署名权。

本服务支持RSS及推特API订阅,推荐将本服务部署在服务器上以供长时服务。

在使用时请务必遵守所在地区法律及相关规定,违规使用所产生的法律纠纷本项目概不负责。