Skip to content

About

基于 ZeroBot 的 OneBot 插件

Resources

Stars

0 stars

Watchers

0 watching

Forks

 
 

Latest commit

 

History

2,611 Commits

Folders and files

NameName
Last commit message
Last commit date
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

本地机器人管理后台 v0.1

本分支增加本机管理后台,支持连接、插件、AI、日志与配置备份。仅监听本机回环地址,默认端口为3010。

文档导航 · 使用指南 · 第一版说明 · 开发与验证


椛 zbp-uwu

ZeroBot-Plugin

“椛椛是真寻的好朋友!”

ZeroBot-Plugin 是 ZeroBot 的 实用插件合集


miraigo oicq mirai

go onebot zerobot

license tencent-qq tencent-guild telegram

本项目符合 OneBot 标准,可基于以下项目与机器人框架/平台进行交互

项目地址 平台 核心作者 备注
LLOneBot NTQQ linyuchen 目前推荐使用
go-cqhttp MiraiGo Mrs4s 因签名原因不再维护
onebot-kotlin Mirai yyuueexxiinngg 不再积极维护
oicq/http-api OICQ takayama 已归档不再维护

Star Trend

专为后 go-cqhttp 时代开发迁移的类zbp新机器人现已出炉,基于官方api,稳定不风控: NanoBot-Plugin

如果您对开发插件感兴趣,欢迎加入ZeroBot-Plugin-Playground

webui持续开发中, 欢迎加入ZeroBot-Plugin-Webui

命令行参数

[]代表是可选参数

zerobot [-h] [-m] [-n nickname] [-t token] [-u url] [-g url] [-p prefix] [-d|w] [-c|s config.json] [-l latency] [-r ringlen] [-x max process time] [-mirror] [qq1 qq2 qq3 ...] [&]
  • -h: 显示帮助
  • -m: 不自动标记消息为已读
  • -n nickname: 设置默认昵称,默认为椛椛
  • -t token: 设置AccessToken,默认为空
  • -u url: 设置Url,默认为ws://127.0.0.1:6700
  • -g url(默认禁用): 设置webui url,默认为127.0.0.1:3000
  • -p prefix: 设置命令前缀,默认为/
  • -d|w: 开启 debug | warning 级别及以上日志输出
  • -c config.json: 从config.json加载bot配置
  • -s config.json: 保存现在bot配置到config.json
  • -l latency: 全局处理延时 (ms)
  • -r ringlen: 接收消息环缓冲区大小,0为不设缓冲,并发处理
  • -x max process time: 最大处理时间 (min)
  • -mirror: 直接使用镜像懒加载数据站而不尝试访问源站
  • qqs: superusers 的 qq 号
  • &: 驻留在后台,必须放在最后,仅Linux下有效

默认配置文件格式如下。当选择从配置文件加载时,将忽略相应命令行参数。

{
  "zero": {
    "nickname": ["椛椛", "ATRI", "atri", "亚托莉", "アトリ"],
    "command_prefix": "/",
    "super_users": [],
    "ring_len": 4096,
    "latency": 233000000,
    "max_process_time": 240000000000,
    "mark_message": true
  },
  "ws": [{ "Url": "ws://127.0.0.1:6700", "AccessToken": "" }],
  "wss": null
}

功能

在编译时,以下功能除插件控制外,均可通过注释main.go中的相应import而物理禁用,减小插件体积。

通过插件控制,还可动态管理某个功能在某个群的打开/关闭。

插件的优先级为import的先后顺序。

webui默认禁用不编译,打开后会增加程序体积。

插件控制
  • /响应 (在发送的群/用户开始工作)

  • /沉默 (在发送的群/用户停止工作)

  • /全局响应 (在所有位置开始工作,无视单独的沉默)

  • /全局沉默 (在所有本应沉默的位置停止工作,显式指定启用的位置不受影响)

  • /启用 xxx (在发送的群/用户启用xxx)

  • /禁用 xxx (在发送的群/用户禁用xxx)

  • /此处启用所有插件

  • /此处禁用所有插件

  • /全局启用 xxx

  • /全局禁用 xxx

  • /还原 xxx (在发送的群/用户还原xxx的开启状态到初始状态)

  • 注:当全局未配置或与默认相同时,状态取决于单独配置,后备为默认配置;当全局与默认不同时,状态取决于全局配置,单独配置失效。

  • /改变默认启用状态 xxx

  • /禁止 service qq1 qq2... (禁止 qqs 使用服务 service)

  • /允许 service qq1 qq2... (重新允许 qqs 使用服务 service)

  • /封禁 qq1 qq2... (禁止 qqs 使用全部服务)

  • /解封 qq1 qq2... (允许 qqs 使用全部服务)

  • /用法 xxx

  • /服务列表

  • /设置服务列表显示行数 xx (默认值为 9, 该设置仅运行时有效, zbp 重启后重置)

  • (默认禁用) /设置webui用户名 zerobot 密码 123456

  • (默认禁用) /webui启动

  • (默认禁用) /webui停止

  • @Bot 插件冲突检测 (会在本群发送一条消息并在约 1s 后撤回以检测其它同类 bot 中已启用的插件并禁用)

动态加载插件

import _ "github.com/FloatTech/ZeroBot-Plugin-Dynamic/dyloader"

高优先级

戳一戳互动

戳一戳机器人即可触发。插件 chat 独立开关;固定基础回应和群空调已删除。

睡眠管理

import _ "github.com/FloatTech/ZeroBot-Plugin/plugin/sleep_manage"

  • 早安 | 晚安
违禁词检测

import _ "github.com/FloatTech/ZeroBot-Plugin/plugin/antiabuse"

  • 添加违禁词

  • 删除违禁词

  • 查看违禁词

群管

import _ "github.com/FloatTech/ZeroBot-Plugin/plugin/manager"

自动撤回已并入群管,保留独立会话开关:开启自动撤回、关闭自动撤回、查看群管功能开关。见群管说明。

  • 禁言[@xxx][分钟]

  • 解除禁言[@xxx]

  • 我要自闭 | 禅定 x [分钟 | 小时 | 天]

  • 开启全员禁言

  • 解除全员禁言

  • 升为管理[@xxx]

  • 取消管理[@xxx]

  • 修改名片[@xxx][xxx]

  • 修改头衔[@xxx][xxx]

  • 申请头衔[xxx]

  • 踢出群聊[@xxx]

  • 退出群聊[群号]@Bot

  • *入群欢迎

  • *退群通知

  • 设置欢迎语[欢迎~] 可选添加 [{at}] [{nickname}] [{avatar}] [{id}]

  • 在[MM]月[dd]日的[hh]点[mm]分时(用[url])提醒大家[xxx]

  • 在[MM]月[每周 | 周几]的[hh]点[mm]分时(用[url])提醒大家[xxx]

  • 取消在[MM]月[dd]日的[hh]点[mm]分的提醒

  • 取消在[MM]月[每周 | 周几]的[hh]点[mm]分的提醒

  • 在"cron"时(用[url])提醒大家[xxx]

  • 取消在"cron"的提醒

  • 列出所有提醒

  • 翻牌

  • 赞我

  • 群签到

  • [开启 | 关闭]入群验证

  • [开启 | 关闭]gist加群自动审批

  • 对信息回复:[设置 | 取消]精华

  • 取消精华 [信息ID]

  • /精华列表

  • 同意好友请求

  • 对信息回复: 撤回

  • 警告[@xxx]

  • 注:使用gist加群自动审批,请在群介绍添加以下说明,同时开启需要回答问题并由管理员审核:加群请在github新建一个gist,其文件名为本群群号的字符串的md5(小写),内容为一行,是当前unix时间戳(10分钟内有效)。然后请将您的用户名和gist哈希(小写)按照username/gisthash的格式填写到回答即可。

  • 设置欢迎语可选添加参数说明:{at}可在发送时艾特被欢迎者 {nickname}是被欢迎者名字 {avatar}是被欢迎者头像 {uid}是被欢迎者QQ号 {gid}是当前群群号 {groupname} 是当前群群名

群应用:AI声聊

import _ "github.com/FloatTech/ZeroBot-Plugin/plugin/airecord"

  • 设置AI语音群号1048452984(tips:机器人任意所在群聊即可)

  • 设置AI语音模型

  • 查看AI语音配置

  • 发送AI语音xxx

定时指令触发器

import _ "github.com/FloatTech/zbputils/job"

  • 注意:触发器具有限速,每 2s 仅允许最多一次触发

  • 记录以"完全匹配关键词"触发的(代表我执行的)指令

  • 取消以"完全匹配关键词"触发的(代表我执行的)指令

  • 记录在"cron"触发的(别名xxx的)指令

  • 取消在"cron"触发的指令

  • 查看所有触发指令

  • 查看在"cron"触发的指令

  • 查看以"完全匹配关键词"触发的(代表我执行的)指令

  • 注入指令结果:任意指令

  • 执行指令:任意指令

  • 注:任意指令可以使用形如?::参数1提示语::1!,?::参数2提示语::2!,?::?可选参数3提示语,不回答将填入空值::3!,!::从url获取的参数::4!,!::?可选的从url获取的参数,出错将填入空值::5!的未定参数,在注入时一一匹配

  • 一些示例

每日12:00以1/2概率执行一言指令

记录在"0 12 * * *"触发的指令
注入指令结果:>runcoderaw py
from random import random
if random() > 0.5: print('一言')
else: print('今天没有一言哦~')

每日15:00询问设置定时者否想看一言

记录在"0 15 * * *"触发的指令
注入指令结果:>runcoderaw py
if '?::想看一言吗?::1!' == '想': print('一言')
else: print('好吧')

自行编写简易的选择困难症助手小插件

记录以"简易的选择困难症助手"触发的指令
执行指令:>runcoderaw py
from random import random
if random() > 0.5: print('您最终会选?::请输入您的选择1::1!')
else: print('您最终会选?::请输入您的选择2::2!')
简易的选择困难症助手

自行编写随机b站404页趣图插件

记录以"随机b站404页趣图"触发的代表我执行的指令
注入指令结果:>runcoderaw py
import json
j = json.loads(r'''!::https://api.iyk0.com/bili_chart::1!''')
print("run[CQ:image,file="+j["img"]+"]")
随机b站404页趣图

随机b站404页趣图

  • [我|大家|有人][说|问][正则表达式]你[答|说|做|执行][模版]

  • [查看|看看][我|大家|有人][说|问][正则表达式]

  • 删除[大家|有人|我][说|问|让你做|让你执行][正则表达式]

  • 注:模版是指含有$1 $2这样的未定参数,会在正则匹配时按顺序填入子匹配对应值

中优先级

AIfalse

import _ "github.com/FloatTech/ZeroBot-Plugin/plugin/ai_false"

  • 查询计算机当前活跃度: [检查身体 | 自检 | 启动自检 | 系统状态]

  • 设置默认限速为每 m [分钟 | 秒] n 次触发

aiimage

import _ "github.com/FloatTech/ZeroBot-Plugin/plugin/aiimage"

B站资料查询、链接解析与订阅推送

import _ "github.com/FloatTech/ZeroBot-Plugin/plugin/bilibiliparse"

  • 统一B站资料查询、链接解析与动态/直播订阅(P019/P021并入P020)

  • 解析、动态推送、直播推送分别开关,旧查询及订阅命令保留

  • 使用说明:统一B站功能

  • t.bilibili.com/642277677329285174 | bilibili.com/read/cv17134450 | bilibili.com/video/BV13B4y1x7pS | live.bilibili.com/22603245

漂流瓶

import _ "github.com/FloatTech/ZeroBot-Plugin/plugin/drift_bottle"

  • @Bot pick (随机捞一个漂流瓶)

  • @Bot throw xxx (投递内容xxx,支持图片文字,投递内容需要大于10个字符或者带有图片)

好友申请及群聊邀请事件处理

import _ "github.com/FloatTech/ZeroBot-Plugin/plugin/event"

  • [开启|关闭]自动同意[申请|邀请|主人]

  • [同意|拒绝][申请|邀请][flag]

  • flag跟随事件一起发送, 默认同意主人的事件

kokomi原神面板

import _ "github.com/FloatTech/ZeroBot-Plugin/plugin/kokomi"

  • kokomi菜单

  • XX面板

  • 注:本插件未并入主仓库,需自行安装(须源码方式运行才能添加插件),安装地址kokomi-原神面板查询插件

钓鱼模拟器

import _ "github.com/FloatTech/ZeroBot-Plugin/plugin/mcfish"

  • 钓鱼商店
  • 购买xxx [数量]
  • 出售[xxx [数量]|所有垃圾]
  • 钓鱼背包
  • 装备[xx竿|三叉戟|美西螈]
  • 附魔[诱钓|海之眷顾]
  • 修复鱼竿
  • 合成[xx竿|三叉戟]
  • 进行钓鱼
  • 进行n次钓鱼
Minecraft服务器监控&订阅

import _ "github.com/FloatTech/ZeroBot-Plugin/plugin/minecraftobserver"

  • mc服务器状态 [服务器IP/URI]
  • mc服务器添加订阅 [服务器IP/URI]
  • mc服务器取消订阅 [服务器IP/URI]
  • mc服务器订阅拉取 (需要插件定时任务配合使用,全局只需要设置一个)
    • 使用job插件设置定时, 对话例子如下::
      • 记录在"@every 1m"触发的指令
      • (机器人回答:您的下一条指令将被记录,在@@every 1m时触发)
      • mc服务器订阅拉取
一群一天一夫一妻制群老婆

import _ "github.com/FloatTech/ZeroBot-Plugin/plugin/qqwife"

  • 引入好感度系统,好感度越高,自由恋爱成功率越高

  • 设置CD为xx小时

  • [允许|禁止]自由恋爱

  • [允许|禁止]牛头人

  • 娶群友

  • [娶|嫁][@对方QQ]

  • 当[对方Q号|@对方QQ]的小三

  • 做媒 @攻方QQ @受方QQ

  • 买礼物给[对方Q号|@对方QQ]

  • 群老婆列表

  • 查好感度[对方Q号|@对方QQ]

  • 好感度列表

  • 重置花名册

签到与钱包

import _ "github.com/FloatTech/ZeroBot-Plugin/plugin/score"

  • 签到
  • 获得签到背景[@xxx] | 获得签到背景
  • 设置签到预设(0~3)
  • 查看等级排名
  • 注:跨群排行
  • 查看我的钱包 / 查看钱包余额[@xxx]
  • 钱包转账金额[@xxx](群内)
  • 设置硬币名称XX / 管理钱包余额[+金额|-金额][@xxx](主人)
  • 使用说明:签到与钱包
  • 查看钱包排名
  • 注:本群排行,若群人数太多不建议使用该功能!!!
抽塔罗牌

import _ "github.com/FloatTech/ZeroBot-Plugin/plugin/tarot"

  • 抽[塔罗牌|大阿卡纳|小阿卡纳]
  • 抽n张[塔罗牌|大阿卡纳|小阿卡纳]
  • 解塔罗牌[牌名]
  • [塔罗|大阿卡纳|小阿卡纳|混合]牌阵[圣三角|时间之流|四要素|五牌阵|吉普赛十字|马蹄|六芒星]
vtb语录

import _ "github.com/FloatTech/ZeroBot-Plugin/plugin/vtb_quotation"

  • vtb语录

  • 随机vtb

  • 更新vtb

角色库:每日抽取、自定义角色与猜角色

import _ "github.com/FloatTech/ZeroBot-Plugin/plugin/wife"

  • 抽老婆:当前群自定义库优先,无自定义角色时使用内置库
  • 抽内置老婆:明确使用内置库
  • 抽wife、添加wife、删除wife:兼容原群自定义角色命令
  • 猜老婆:保留内置角色猜题
  • 权限、素材与开关见角色库说明
聊天热词

import _ "github.com/FloatTech/ZeroBot-Plugin/plugin/word_count"

  • 热词 [消息数目]|热词 1000
猜单词

import _ "github.com/FloatTech/ZeroBot-Plugin/plugin/wordle"

  • 中文成语与英文单词统一入口、开关和群内对局互斥

  • 个人/团队猜词 中文;个人/团队猜词 英文;结束猜词

  • 使用说明:猜词游戏

  • 个人猜单词

  • 团队猜单词

  • 团队六阶猜单词

  • 团队七阶猜单词

鬼东西

import _ "github.com/FloatTech/ZeroBot-Plugin/plugin/wtf"

  • 鬼东西列表

  • 查询鬼东西[序号][@xxx]

  • 注:由于需要科学,默认注释。

低优先级

AI中心:聊天、Agent、GPT与群聊总结

插件 aichat 统一控制。私聊发送文字、群内@机器人、/gpt 问题或群聊总结 10。原AI配置命令保留,详见 AI中心与群互动。

打断复读

import _ "github.com/FloatTech/ZeroBot-Plugin/plugin/breakrepeat"

  • (打断三次以上的复读)

三种使用方法,推荐第一种

1. 使用稳定版/测试版 (推荐)

可以前往Release页面下载对应系统版本可执行文件,编译时开启了全部插件。

2. 本地直接运行

  1. 下载安装最新 Go 环境
  2. 下载本项目压缩包,本地解压
  3. 编辑 main.go 文件,内容按需修改
  4. 运行 OneBot 框架
  5. Windows下双击 run.bat 文件,Linux下使用 run.sh 运行本插件

3. 编译运行

a. 利用 Actions 在线编译

  1. 点击右上角 Fork 本项目,并转跳到自己 Fork 的仓库
  2. 点击仓库上方的 Actions 按钮,确认使用 Actions
  3. 编辑 main.go 文件,内容按需修改
  4. 前往 Release 页面发布一个 Release,tag形如v1.2.3,以触发稳定版编译流程
  5. 点击 Actions 按钮,等待编译完成,回到 Release 页面下载编译好的文件
  6. 运行 OneBot 框架,并同时运行本插件
  7. 啾咪~

b. 本地编译/交叉编译

  1. 下载安装最新 Go 环境
  2. clone 并进入本项目,下载所需包
git clone --depth=1 https://github.com/FloatTech/ZeroBot-Plugin.git
cd ZeroBot-Plugin
go version
go env -w GOPROXY=https://goproxy.cn,direct
go env -w GO111MODULE=auto
go mod tidy
go generate main.go
  1. 编辑 main.go 文件,内容按需修改
  2. 按照平台输入命令编译,下面举了一些例子
# 本机平台
go build -ldflags "-s -w" -o zerobot -trimpath
# x64 Linux 平台 如各种云服务器
GOOS=linux GOARCH=amd64 go build -ldflags "-s -w" -o zerobot -trimpath
# x64 Windows 平台 如大多数家用电脑
GOOS=windows GOARCH=amd64 go build -ldflags "-s -w" -o zerobot.exe -trimpath
# armv6 Linux 平台 如树莓派 zero W
GOOS=linux GOARCH=arm GOARM=6 CGO_ENABLED=0 go build -ldflags "-s -w" -o zerobot -trimpath
# (由于引入了github.com/fumiama/sqlite3,本项不再可用)mips Linux 平台 如 路由器 wndr4300
GOOS=linux GOARCH=mips GOMIPS=softfloat CGO_ENABLED=0 go build -ldflags "-s -w" -o zerobot -trimpath
  1. 运行 OneBot 框架,并同时运行本插件

特别感谢

同时感谢以下开发者对 ZeroBot-Plugin 作出的贡献:

About

基于 ZeroBot 的 OneBot 插件

Resources

Stars

0 stars

Watchers

0 watching

Forks

Releases

Packages

Contributors

Languages