Baymax机器人使用说明

说明

🤖Baymax 是一个事件响应型机器人,可响应群聊消息、好友私信消息,由mirai强力驱动,自动化消息处理部分由python语言完成。

更新日志

点击展开

2021

09-14

开始记录

09-17

新增xml和json发送卡片消息

09-20

新增🤖对话功能

10-01

新增校园自动打卡

10-07

新增自建医疗知识图谱对话

10-20

添加WolframeAIpha调用、优化B站解析

11-01

计划使用Fastapi和Vue做一个管理兼功能页面

11-08

集成Fastapi做后端,设计并完成登录接口、功能调用等接口

11-10

自闭学习Vue,边学边写

2022

1-7

更新graia-ariadne,修改部分代码

2-1

加入原神部分功能的代码

2-10

修改校园打卡接口以及添加米游社签到功能

5-4

python环境变为3.9修改部分制图代码,并添加新功能上传指定日期日志文件

计划实现的功能

  • [x] 对话🤖

  • [x] XML解析

  • [x] 知识图谱

  • [x] 原神等功能

  • [x] 页面管理

  • [ ] 接入图像识别之类

  • [ ] 集群监控

实现的功能

🤖Baymax 的功能分为响应定时广播
命令格式:[ ]为可选参数,< >为必选参数,|为或逻辑,@为在群内at特定的人

WolframeAIpha

Info

调用WolframeAIpha解决一些高数问题)

命令及样例

level:1

Command

1
/solve <text>

Demo

缩写

Info

从一段文本中检索并翻译缩写
API使用能不能好好说话

命令及样例

level:1

Command

1
2
缩写 <text>
'缩写\s*[A-Za-z0-9]+'

Demo

B站视频解析

Info

用于解析关于B站的特定消息

类型 解析内容
b23短链接(小程序分享/客户端分享) 进一步解析以下重定向的内容
av/bv号/视频链接/视频分享卡片 标题、封面、UP主、TAG、合作成员、简介、互动数据等
用户空间链接/UID:xxx 用户头像、昵称、等级、性别、粉丝数等
直播链接 尚未完工
动态链接 尚未完工
专栏链接/cv号 尚未完工
音频链接/au号 尚未完工
ep/ss/md号/番剧/影视链接 尚未完工

level:1

命令及样例

Command

1
BV号或视频链接

Demo

B站热榜

Info

按照分区来获取B站热榜数据(前50)

level:1

命令及样例

Command

1
2
3
4
5
6
7
#TODO 获取B站region-code的排行
bilihot <region-code>
'bilihot\s*[0-9]+'

#TODO 获取B站分区对应的region-code
bili region
'bili\s*region'

Demo

盘头像

Info

生成指定群员gif

level:1

命令及样例

Command

1
[盘|撕|爬|丢] <@member>

Demo

搜番

Info

搜索相关番剧获取详细信息

level:1

命令及样例

Command

1
搜番 <name>

Demo

新番

Info

获取B站1~7日内新番

level:1

命令及样例

Command

1
2
<1-7>日内新番
'[1-7]日内新番'

Demo

二叉树

Info

一个用来回忆二叉树 的知识的功能:)

level:1

命令及样例

Command

1
2
3
4
5
#TODO 由二叉树的先序中序求后序
bcl <二叉树先序> <二叉树中序>

#TODO 由二叉树的后序中序求先序
lcb <二叉树后续> <二叉树中序>

Demo

KMP&Next数组

Info

一个用来回忆KMP 的知识的功能:)

level:1

命令及样例

Command

1
2
3
4
5
#TODO 求输入字符串的next数组及步骤
next <str>

#TODO 使用kmp来求主串中的字串位置(含步骤)
kmp <str1> <str2>

Demo

bot管理

Info

用于修改群员操作权限以及黑名单功能

level限制:4(master)

命令及样例

Command

1
2
3
4
5
#TODO 给某群员赋权
grant @member level[1-3]

#TODO 将某群员加入/移除小黑屋
xhw -[add|remove] @member

Demo

聊天情感分析

Info

nlp分析聊天中情感是否消极(使用三分类)

level:1

命令及样例

Command

1
2
3
#TODO 使用前master先打开群内此功能
setting -set emotion=True
自动触发如: 某某是个sb

Demo

背单词

Info

使用github上开源的词库json来进行数据支持

level:1

命令及样例

Command

1
2
3
4
5
6
7
8
#TODO 开启
背单词
#TODO 选择要背的书籍
[1~15]
#TODO 通过汉语意思拼写出英文,答对继续,超时或答错每过30s一次提示
#TODO 1.单词长度 2.单词首字母 3.单词前半部分。超过3次自动关闭
#TODO 关闭
取消

Demo

远程操控服务器

Info

偶尔用来查看日志重启等操作

level限制:4(master)

命令及样例

Command

1
2
cmd <command>
'cmd\s*\w*'

Demo

闪照转换

Info

用来保存闪照的功能

必须得master来开启此功能:)

命令及样例

Command

1
自动触发如: 发送闪照的时候自动触发

Demo

防撤回

Info

用来查看他人撤回信息的功能

必须得master来开启此功能:)

命令及样例

Command

1
自动触发如: 撤回消息的时候自动触发

Demo

群内消息词云

Info

用来查看群员讨论内容生成词云 的功能

查看自己的月词云年词云所需level:1

查看群内月词云年词云所需level:2

命令及样例

Command

1
2
[群|我]月结
[群|我]年结

Demo

查梗

Info

用来查询网络上的一些

level:1

命令及样例

Command

1
2
<param>是啥梗
'.+是啥梗'

Demo

搜图

Info

搜索Pixiv图片的功能

在群中发送 搜图后,等待回应在30s内发送图片即可(多张图片只会搜索第一张)

必须得master来开启此功能:)

level:1

命令及样例

Command

1
2
搜图
#TODO 30s内发送图片

Demo

ip查询

Info

一个查询ip详细信息的功能

level:1

命令及样例

Command

1
!ip <param>

Demo

Jhai功能

Info

一个方便使用🐋平台的功能

level:3

命令及样例

Command

1
2
3
4
5
6
7
#TODO 监控
监控 <param>
'监控\s*(BV|)[A-Za-z0-9]{10}'

#TODO 查询订单
report status
'report\s*(status|list)'

Demo

添加回复关键字

Info

添加一些关键字触发🤖回复

level:2

命令及样例

Command

1
2
#TODO 添加/删除关键字回复
[add|remove] keyword#<param1>#<param2>

Demo

LeetCode

Info

关于力扣的一些功能

level:1

命令及样例

Command

1
2
3
4
5
6
7
#TODO 查询指定user_slug的信息
leetcode <user_slug)>
'leetcode \S+'

#TODO 每日一题
[leetcode|力扣]每日一题
'(leetcode|力扣)每日一题'

Demo

新闻

Info

调用API实现发送新闻功能

  • 主动发送

    level:2

  • 被动发送(定时)

    早上九点自行发送

命令及样例

Command

1
2
[!news|新闻]
'(!news|新闻)'

Demo

pdf搜索

Info

pdf搜索📕

level:1

命令及样例

Command

1
pdf <param>

Demo

语音功能

Info

用来发送语音的功能

需要master先打开此功能配置音色

level:1

命令及样例

Command

1
说 <param>

Demo

steam游戏搜索

Info

用来查询steam上游戏的功能

level:1

命令及样例

Command

1
steam <param>

Demo

塔罗牌

Info

调用塔罗牌的功能

level:1

命令及样例

Command

1
塔罗牌

Demo

翻译

Info

用来翻译的功能-支持多种语言

level:1

命令及样例

Command

1
2
3
4
5
6
7
#TODO 指定语言翻译(不填语言则自动转换)
[翻译|tran|trans|translate] [language] <param>
'(翻译|tran|trans|translate)\s*\s*.*'

#TODO 获取可选参数
!help [翻译|tran|trans|translate]
'!help\s(翻译|tran|trans|translate)'

Demo