/PaimengBot

派蒙Bot:一个使用Onebot协议、基于ZeroBot的QQ娱乐机器人,支持30余种功能,可以大大丰富你的QQ体验或群活跃度,欸嘿。支持多种数据库(包括SQLite、Postgresql、Mysql等)

Primary LanguageGoGNU Affero General Public License v3.0AGPL-3.0

派蒙机器人

一个使用Onebot协议、基于ZeroBot的QQ娱乐机器人,支持20余种功能,可以大大丰富你的QQ体验或群活跃度,欸嘿。

推荐使用go-cqhttp作为QQ前端,推荐安装在Ubuntu中,推荐使用PostgreSQL作为数据库,但若你没有数据库基础也无需担心,派蒙Bot支持SQLite:一种轻型、无需配置的单文件式数据库。

安装与配置时需要少量的命令行操作基础,一般来说,计算机纯小白也可以在30分钟内完成配置,进行愉快的玩耍。

声明

本项目与米哈游(Mihoyo)公司旗下的原神(Genshin Impact)没有任何联系,仅为我个人开发出来作学习、娱乐所用,本项目没有任何内容用于商业用途,没有任何收费项,注意辨别,特此声明。

若有任何侵犯米哈游(Mihoyo)公司或原神(Genshin Impact)游戏权益的内容,请务必与我联系,我将立马删除整改,谢谢。

功能

功能列表

行尾括号内为插件Key,对应着配置文件config-plugin.yaml中各个插件的根配置项key

基本功能

  • 权限管理与鉴权 (auth):各功能可分权限使用
  • 功能开关与封(解)禁 (ban):可按功能封人、封群
  • 加群\好友申请事件处理\推送 (event)
  • 帮助 (help)
  • 功能CD限流 (limiter)
  • 用户昵称系统 (nickname)
  • 签到与财富 (sc)

一般功能

  • 聊天\自定义问答 (chat):具有强大的文件问答集自定义功能
  • 定期提醒 (note):定时定点或指定间隔提醒,支持CRON
  • 联系管理员 (contact)
  • 复读 (echo)
  • 控制命令 (inspection):自检、重启、检查更新等
  • 功能使用统计 (statistic):可分人分日统计
  • 网易云评论 (netease)
  • 点歌 (music)
  • 随机\随机数 (random)
  • 漂流瓶 (bottle)
  • 戳一戳 (poke):可自行配置回答,还支持多种动作

原神相关

  • 今日可肝素材查询 (genshin_resource)
  • 模拟原神抽卡 (genshin_draw)
  • 米游社管理 (genshin_cookie)
  • 米游社签到 (genshin_sign)
  • 原神便笺查询 (genshin_query)
  • 原神战绩查询 (genshin_record)

实用工具

  • B站订阅 (bilibili):UP主、番剧、直播更新时自动推送
  • 翻译 (translate):甚至支持文言文
  • 纯小写缩写翻译 (hhsh)
  • 搜梗 (geng)
  • 识图搜番 (whatanime)
  • 疫情查询 (COVID)
  • 短链接还原 (short_url)
  • 天气 (weather)
  • GitHub查询 (github)
  • 混合表情 (emoji_mix):合成两个emoji表情

群功能

  • 群管理 (admin):快捷踢人、禁言、拉黑
  • 撤回消息 (withdraw)
  • 设置入群欢迎 (welcome)
  • 关键词撤回 (keyword)

小游戏

  • 看图猜成语 (idioms)
  • 谁是卧底
  • 文字RPG

好康的

  • 涩图 (pixiv)
  • Pixiv排行榜 (pixiv_rank)
  • Pixiv搜索 (pixiv_query)
  • 搜图\搜本子 (whatpicture)
  • coser
  • 自定义图库

可选插件

若想启用这些插件,请自行下载源码取消掉cmd/main.go内的可选插件注释,自行编译

  • OSU查询 (HiOSU)

安装与使用

参照详细文档:派蒙Bot文档

如果安装或使用中遇到问题,或者有任何问题或建议想要讨论,总之欢迎加群应急食品测试群(724694686)

开发不易,如果感觉还不错,就在右上角点个star好啦,谢谢

FAQ

为什么在私聊中使用正常,在群聊中没反应?

为了防止派蒙Bot在群聊中乱答话,特将部分可能产生歧义的功能设计为在群聊中调用需要加上派蒙Bot的名字前缀。例如:派蒙帮助派蒙关闭复读,详细参见issues#1

而在私聊中则无需加上名字前缀。

详情帮助中的方括号是什么意思?

在部分功能的详细帮助中,常看见一条命令后带有方括号包裹的描述性文字,它们代表一个个参数、占位符,需要将特定的内容置于该位置上。

例如:好友群组管理插件中的退群 [群号]命令,在[群号]位置上则应该放置一个群号,比如退群 724694686,派蒙Bot便知道需要退出群号为724694686的群。

此外,部分方括号后还带有?,*,+等符号,?表示该参数可填可不填,*代表可以有任意个该参数,以空格分隔即可,+代表至少需要有一个该参数,同样以空格分隔即可。

为什么拉派蒙Bot入群时,它自动退群了?

为了防止有用户恶意拉群,特将派蒙Bot设计为非超级用户拉群时自动退群,但由于go-cqhttp端并没有提供拉群人的QQ号,因此可能会出现超级用户拉群也会自动退群的情况。

此时,仅需在私聊中对派蒙Bot说:同意群邀请 [群号],随后再拉一遍即可成功入群。

开发

编译

本项目使用纯Go语言实现,编译基于go1.17+

go get ./...

go build ./cmd/main.go

开发文档

派蒙Bot作为一个较为完毕的机器人后端框架,提供了插件式集中管理和许多固有能力,参见开发文档。

派蒙Bot开发文档