Skip to content

fppgga/ZeroBot-Plugin

 
 

Repository files navigation

看板娘

ZeroBot-Plugin

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


miraigo oicq mirai

go onebot zerobot license tencent-qq telegram

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

项目地址 平台 核心作者
Mrs4s/go-cqhttp MiraiGo Mrs4s
yyuueexxiinngg/cqhttp-mirai Mirai yyuueexxiinngg
takayama-lily/onebot OICQ takayama

如果您不知道什么是 OneBot 或不希望运行多个程序,还可以直接前往 gocqzbpRelease 页面下载单一可执行文件或前往 Packages 页面使用docker,运行后按提示登录即可。

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

命令行参数

[]代表是可选参数

zerobot [-c config.json] [-h] [-s config.json] [-t token] [-u url] [-n nickname] [-p prefix] [-d|w] [qq1 qq2 qq3 ...] [&]
  • -c config.json: 从config.json加载bot配置
  • -h: 显示帮助
  • -s config.json: 保存现在bot配置到config.json
  • -t token: 设置AccessToken,默认为空
  • -u url: 设置Url,默认为ws://127.0.0.1:6700
  • -n nickname: 设置默认昵称,默认为椛椛
  • -p prefix: 设置命令前缀,默认为/
  • -d|w: 开启 debug | warning 级别及以上日志输出
  • qqs: superusers 的 qq 号
  • &: 驻留在后台,必须放在最后,仅Linux下有效

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

{
    "zero": {
        "nickname": [
            "椛椛",
            "ATRI",
            "atri",
            "亚托莉",
            "アトリ"
        ],
        "command_prefix": "/",
        "super_users": []
    },
    "ws": [
        {
            "Url": "ws://127.0.0.1:6700",
            "AccessToken": ""
        }
    ]
}

功能

在编译时,以下功能除插件控制外,均可通过注释main.go中的相应import而物理禁用,减小插件体积。 通过插件控制,还可动态管理某个功能在某个群的打开/关闭。 插件的优先级为import的先后顺序

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

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

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

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

  • /启用 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

  • /服务列表

  • /服务详情

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

动态加载插件

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

高优先级

聊天

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

  • [BOT名字]

  • [戳一戳BOT]

  • 空调开

  • 空调关

  • 群温度

  • 设置温度[正整数]

睡眠管理

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

  • 早安 | 晚安
ATRI

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

  • 具体指令看 /用法 atri

  • 注:本插件基于 ATRI ,为 Golang 移植版

群管

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加群自动审批

  • 同意好友请求

  • 撤回[@xxx] [xxx]

  • 警告[@xxx]

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

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

词典匹配回复

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

  • @Bot 关键词
定时指令触发器

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

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

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

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

  • 记录在"cron"触发的指令

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

  • 查看所有触发指令

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

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

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

  • 执行指令:任意指令

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

  • 一些示例

每日9:30推送摸鱼人日历

记录在"30 9 * * *"触发的指令
run[CQ:image,file=https://api.vvhan.com/api/moyu]

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

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

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

记录在"0 15 * * *"触发的指令
注入指令结果>runcoderaw py
if '?::想看coser吗?::1!' == '想': print('coser')
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 次触发

AIWife

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

base16384加解密

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

  • 加密xxx

  • 解密xxx

  • 用yyy加密xxx

  • 用yyy解密xxx

百度一下

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

  • 百度下[xxx]
bilibili

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

  • >vup info [xxx]

  • >user info [xxx]

  • 查成分 [xxx]

  • 设置b站cookie SESSDATA=82da790d,1663822823,06ecf*31

  • 更新vup

b站视频链接解析

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

书评

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

  • 书评[xxx]

  • 随机书评

藏头诗

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

  • 藏头诗[xxx]

  • 藏尾诗[xxx]

选择困难症帮手

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

  • 选择[选择项1]还是[选项2]还是[更多选项]
抽象话

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

  • 抽象翻译[xxx]
coser

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

  • coser
cp短打

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

  • 组cp[@xxx][@xxx]

  • 磕cp大老师 雪乃

DeepDanbooru二次元图标签识别

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

  • 鉴赏图片[图片]
嘉然

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

  • 小作文

  • 发大病

  • 教你一篇小作文[作文]

  • [回复]查重

漂流瓶

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

  • (在群xxx)丢漂流瓶(到频道xxx) [消息]

  • (从频道xxx)捡漂流瓶

  • @BOT 创建频道 xxx

  • 跳入(频道)海中

  • 注:不显式限制时,私聊发送可在所有群抽到,群聊发送仅可在本群抽到,默认频道为 global

一群一天一夫一妻制群老婆

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

  • 娶群友

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

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

  • 群老婆列表

合成emoji

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

  • [emoji][emoji]
城市疫情查询

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

  • xxx疫情
渲染任意文字到图片

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

  • (用[终末体|终末变体|紫罗兰体|樱酥体|Consolas体|苹方体])渲染文字xxx
每日运势

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

  • 运势 | 抽签

  • 设置底图[车万 DC4 爱因斯坦 星空列车 樱云之恋 富婆妹 李清歌 公主连结 原神 明日方舟 碧蓝航线 碧蓝幻想 战双 阴阳师 赛马娘 东方归言录 奇异恩典 夏日口袋 ASoul]

笑话

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

  • 讲个笑话[@xxx|qq号|人名] | 夸夸[@xxx|qq号|人名]
原神抽卡

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

  • 切换原神卡池

  • 原神十连

gif

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

GitHub仓库搜索

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

  • >github [xxx]

  • >github -p [xxx]

猜歌

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

  • 猜歌插件(该插件依赖ffmpeg)

  • 个人猜歌

  • 团队猜歌

  • 设置猜歌缓存歌库路径 [绝对路径]

  • 设置猜歌本地 [true/false]

  • 设置猜歌Api [true/false]

  • 注:默认歌库为网易云热歌榜

  • 1.可在后面添加“-动漫”进行动漫歌猜歌(这个只能猜歌名和歌手)

  • 2.可在后面添加“-动漫2”进行动漫歌猜歌(这个可以猜番名,但歌手经常“未知”)

炉石

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

百人一首

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

  • 百人一首

  • 百人一首之n

关键字搜图

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

  • 来张 [xxx]
注入指令

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

  • run[CQ码]
煎蛋网无聊图

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

  • 来份[屌|弔|吊]图

  • 更新[屌|弔|吊]图

绝绝子

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

  • 喝奶茶绝绝子 | 绝绝子吃饭
lolicon

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

  • 来份萝莉

  • 设置随机图片地址[http...]

  • 每一小时发一张图

记录在"@every 1h"触发的指令
来份萝莉
简易midi音乐制作

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

  • midi制作 CCGGAAGR FFEEDDCR GGFFEEDR GGFFEEDR CCGGAAGR FFEEDDCR

  • 个人听音练习

  • 团队听音练习

  • *.mid (midi 转 txt)

  • midi制作*.txt (txt 转 midi)

  • 设置音色40 (0~127)

  • 注: 该插件需要安装timidity,linux安装脚本可参考 https://gitcode.net/anto_july/midi/-/raw/master/timidity.sh , windows安装脚本可参考 https://gitcode.net/anto_july/midi/-/raw/master/timidity.bat , windows需要管理员模式运行

  • 符号说明: C5是中央C,后面不写数字,默认接5,Cb6<1,b代表降调,#代表升调,6比5高八度,<1代表音长×2,<3代表音长×8,<-1代表音长×0.5,<-3代表音长×0.125,R是休止符

摸鱼

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

  • /启用 moyu

  • /禁用 moyu

记录在"0 10 * * *"触发的指令
摸鱼提醒
摸鱼人日历

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

  • /启用 moyucalendar

  • /禁用 moyucalendar

记录在"30 8 * * *"触发的指令
摸鱼人日历
点歌

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

  • 点歌[xxx]

  • 网易点歌[xxx]

  • 酷我点歌[xxx]

  • 酷狗点歌[xxx]

本地涩图

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

  • 本地[xxx]

  • 刷新本地[xxx]

  • 设置本地setu绝对路径[xxx]

  • 刷新所有本地setu

  • 所有本地setu分类

  • 注:刷新文件夹较慢,请耐心等待刷新完成,会提示“成功”。

抽wife

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

  • 抽wife[@xxx]

  • 添加wife[名字][图片]

  • 删除wife[名字]

  • [让 | 不让]所有人均可添加wife

  • 注:不同群添加后不会重叠

拼音首字母释义工具

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

  • ?? [缩写]
小说

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

  • 小说[xxx]
nsfw图片识别

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

  • nsfw打分[图片]

  • 当图片属于非 neutral 类别时自动发送评价(默认禁用,启用输入 /启用 nsfwauto)

浅草寺求签

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

  • 求签 | 占卜

  • 解签

投胎

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

  • reborn

  • 注:本插件来源于tgbot

在线代码运行

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

  • > runcode [language] help

  • > runcode [language] [code block]

  • > runcoderaw [language] [code block]

搜图

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

  • 以图搜图 | 搜索图片 | 以图识图[图片]

  • 搜图[P站图片ID]

叔叔的AI二次元图片放大

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

  • 放大图片[图片]
签到得分

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

  • 签到
  • 获得签到背景[@xxx] | 获得签到背景
沙雕app

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

  • 哄我
  • 渣我
  • 来碗绿茶
  • 发个朋友圈
  • 来碗毒鸡汤
  • 讲个段子
  • 马丁路德骂我
shindan

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

  • 今天是什么少女[@xxx]

  • 异世界转生[@xxx]

  • 卖萌[@xxx]

  • 抽老婆[@xxx]

  • 黄油角色[@xxx]

抽塔罗牌

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

  • 抽塔罗牌
  • 抽n张塔罗牌
  • 解塔罗牌[牌名]
  • 塔罗牌阵[圣三角|时间之流|四要素|五牌阵|吉普赛十字|马蹄|六芒星]"
搜番

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

  • 搜番 | 搜索番剧[图片]
猜单词

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

  • 个人猜单词

  • 团队猜单词

翻译

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

  • >TL 你好
vtb语录

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

  • vtb语录

  • 随机vtb

  • 更新vtb

网易云音乐热评

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

  • 来份网易云热评
月幕galgame图

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

  • 随机galCG

  • 随机gal表情包

  • galCG[xxx]

  • gal表情包[xxx]

  • 更新gal

舔狗日记

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

  • 舔狗日记
聊天热词

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

  • 热词 [群号] [消息数目]|热词 123456 1000
鬼东西

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

  • 鬼东西列表

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

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

b站推送

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

  • 添加b站订阅[uid]

  • 取消b站订阅[uid]

  • 取消b站动态订阅[uid]

  • 取消b站直播订阅[uid]

  • b站推送列表

  • 注:由于需要安装Chrome,默认注释,具体看这里

低优先级

骂人

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

  • 骂我

  • 大力骂我

人工智能回复

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

  • @Bot 任意文本(任意一句话回复)

  • 设置回复模式[青云客 | 小爱]

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

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

可以前往Release页面下载对应系统版本可执行文件,编译时开启了全部插件。您还可以选择 gocqzbpReleasePackage,它是 Mrs4s/go-cqhttp 与本插件的合体。

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
  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 框架,并同时运行本插件

特别感谢

About

基于 ZeroBot 的 OneBot 插件

Resources

License

Stars

Watchers

Forks

Packages

No packages published

Languages

  • Go 100.0%