2020.02.29 ~ 2023.12.25
以下是历史页面。
Sorabot 是基于 mirai core 的机器人。
用于服务橙汁社区。
反馈请通过邮件联系 sora@100oj.com 。
机器人的各个功能是以模块的方式进行划分的。类似的功能会被做成同一个模块。
对于各个群聊而言,模块可以被开启和关闭,默认所有的模块都是关闭的。
对于来自好友的私聊,默认所以的模块都是开启的。
目前已有的模块有:
本模块的大部分内容都需要操作员权限、或群管理。
本模块用于管理权限组、管理模块的开启状态、配置文件的修改和重载等。
作为机器人的核心组成部分之一。本模块的一部分内容,默认开启且不可被关闭。
指令头的正则:(?i)##Ess(ential(s(X)?)?)?.*
最常用指令头:##ess
指令头示例:##Ess
、##Essential
、##essentilasx
等。
本模块下的二级指令有:module
、operator
、greet
、blacklist
、recall
、mute
、kick
、save
、load
。
下面会按顺序介绍各个指令的用法和用途。
用于管理模块。
##ess module|-m enable|-on [modulename] [groupid]
(需要操作员权限、或者管理)
在群聊[groupid]开启名为[modulename]的模块。
##ess module|-m disable|-off [modulename] [groupid]
(需要操作员权限、或者管理)
在群聊[groupid]关闭名为[modulename]的模块。
以上两个指令,如果是在私聊中使用,[groupid]不可缺省。
如果是在群聊中使用,不填写[groupid]时会默认使用本群id。
##ess module|-m list|-l|ls
列出所有可用的模块。
##ess module|-m list|-l|ls group|-g
必须发送在群聊中。列出本群已开启的模块。
用于管理操作员组。
操作员、次级管理、op、operator,指代的是同一概念。他们都具有操作机器人的大部分权限。
此外还有一个顶级用户组,超级管理员,他们拥有操作机器人的全部权限。
(除了任命超级管理员。所有的超管只能由机主直接在后台任命)。
注意,操作员之间可以互相添加和移除,使用时请谨慎。
##ess operator list|-l|ls
列出所有的次级管理。
##ess operator add|+ [id]
添加操作员,[id]为对应的qq号。(需要操作员权限)
##ess operator remove|- [id]
移除操作员,[id]为对应的qq号。(需要操作员权限)
该指令组还有以下写法,只是写法不同,没有功能上的区别。
##ess op [id]
##ess +op [id]
##ess deop [id]
##ess -op [id]
用于设置入群欢迎。只能设置为纯文本,并且必须在群聊中使用。
(需要操作员权限,或群管理。)
##ess greet enable|on
开启本群欢迎。
##ess greet disable|off
关闭本群欢迎。
##ess greet
在接下来的一条消息中,发送你要设置的欢迎内容。只能设置纯文本。
默认会在消息头部添加对入群新人的@AT。
(需要操作员权限)
用于设置黑名单。被加入黑名单的人,直到管理员将其移出黑名单前,将无法正常使用bot的部分功能。
ess模块和sqlLite模块等不受此影响。
有bot好友的,通过好友聊天不受此影响。
##ess ban [id]
把[id]添加到黑名单。
##ess pardon [id]
把[id]移出黑名单。
##ess blacklist
查看当前黑名单内容。
(不用在前面加ess
)
回复某条消息#recall
或#撤回
来进行撤回。
(需要超级管理员权限)
(需要超级管理员权限,或群管理)
##ess mute [id]
禁言[id]30秒。
##ess mute [id] [time]
禁言[id],时长为[time]秒。
##ess mute [id] [time] [文本]
禁言[id],时长为[time]秒,理由为[文本]。
如果bot不是管理员,或者要被禁言的用户群权限比bot要高,本命令将无法生效,并且bot将不会发出任何信息提示。
mute的另一种形式,可以跨群执行或者在好友消息中执行。(与上一条只是写法不同)
##ess -mute [id] from|in|at [group] for [time]
其中time
如果是纯数字,则单位为为秒。
接受 数字 + 以s
m
h
d
结尾。
如果是在群消息中,in [group]
可以缺省,默认为本群。
如果缺省for [time]
,默认为30秒。
(需要超级管理员权限,或群管理)
##ess kick [id]
将[id]移出本群。(bot不会发送任何信息提示。)
##ess kick [id] [文本]
将[id]移出本群,理由为[文本],[文本]会被显示在被踢出者的qq提醒中(有待核实)。(bot不会发送任何信息提示。)
如果bot不是管理员,或者要被踢出的用户群权限比bot要高,本命令将无法生效,并且bot将不会发出任何信息提示。
(需要操作员权限)
将当前所有配置保存到本地文件。
不推荐使用。因为大部分修改会在发生的同时写入保存,本指令仅留作保险。
(需要操作员权限)
从本地文件重新载入全部配置。
如果你拥有羽希的服务器管理权限。那么,当你以修改文件的形式修改了配置之后,可以使用本命令来重载机器人。
这个命令基本上只有羽希本人会用到。
以访客的权限,查询关于橙汁的数据库。与在网页接口中介绍的内容无异。
指令头:##sql
后跟sql语句。机器人会返回查询结果。
注意,quest用户只拥有对库data_oj的select权限。
使用示例:##sql select * from cardDeck where cost=10 limit 20;
本模块没有需要用户配置的内容。
本模块根据本地数据库,对消息进行正则匹配,当满足匹配后,查询橙汁的卡面资料,整理后发送回复。
使用:emote:
来发送表情,支持拼接和换行,拼接有大小限制。
也可以用使用形如:0xffffff:
、#fff
等方式代指纯色块,支持3x16、6x16 和 8x16。
用半角空格
或下划线_
来代替空内容。
#emote add|replace [emoteName] [图片]
添加/覆盖自定的表情。仅支持字母、数字和下划线。
自定表情会被压缩至64×64像素。
#emote remove [emoteName]
删除对应的表情。
#emote list|-l
查看所有自定表情。
本模块用于查询混合器。
指令头:#m
后跟天数(不大于400),当其后不跟任何内容时,默认为两天。
使用示例:#m7
、#m30
。
如果要进行超过400天的查询,可以直接登录数据库进行查看。查询上限为2099年。
本模块用于获取卡组图片。
指令头:#deck=
后跟12位卡组编码。
本模块作者为lhw(qq:1771472041)。
在机器人中,调用方法为
[Hp1][Atk1][Def1][Evd1] vs [Hp2][Atk2][Def2][Evd2]
输入示例 411-1 vs 41-12
本模块作者为香草(qq:2878376394)。
本模块用于获取网络图片,只能是png、jpg等最常用的图片格式。
使用方法:![可有可无的备注](图片的url)
机器人会回复图片。
推荐与本站的网页接口一起使用。
使用示例:
![](http://interface.100oj.com/interface/render/cardother.php?key=CARD_GIFT_VALENTINESDAY2018&lossless=true)
![](http://interface.100oj.com/common/data/ending/summer2020.png)
用于生成网页快照。
使用方法:![](!url)
使用示例:![](!https://cn.bing.com)
使用前请确认自己steam的隐私设置,设置为[公开|所有人可见]。(该设置有一定的延迟。)
本模块用于生成百橙个人统计的图片。
使用的接口为个人统计数据。
与直接使用上一个模块(WebGetImage),并传入对应参数无异。
指令头:#stat
指令头的正则:#stat(s)?|#sd
#stat [steam64id] [limit]
用于直接生成。limit为行数,可以不填,默认为5。
使用非初始样式时,不会生成PVP各角色出场次数和胜场的行。
#stat bind [steam64id]
用于将当前qq绑定到对应steam账户。重复使用会更新绑定。
#stat unbind
删除自己的绑定。
#stat me [limit]
在qq绑定steam64id后,使用本命令来快速生成自己的资料。
#stat @[qq] [limit]
通过At来查询对应qq玩家的统计数据。
#stat type [id]
用于切换生成的统计图片样式。id目前可取0~7,其中0为初始样式。
1/2:由茉莉提供的仿Phigros结算界面样式。
3:由Tico提供的样式。
4/5:由点滴子提供的样式。
6: 6 在 gpt3.5 的 php 指导下花15分钟搓的样式。
7: 我刚从星橙汁偷的。
#stat pin [id]
用于切换个人 pin 样式。
为操作员准备的,自定义回复模块。
指令头:#rr
本模块下的二级指令有:add
、remove
、list
、reload
。
#rr add|create|+ [regex]
添加一项回复内容,回复的触发正则为[regex]。
在接下来的一条消息中,发送你要设置的内容,可以包含图片。
#rr remove|delete|- [id]
移除对应[id]的回复内容。
#rr list|-l
列出所有本模块回复内容的[id]和[regex]。
#rr reload
如果你拥有对应数据库的操作权限,不通过机器人,而是直接通过数据库操作完对应数据后,需要使用本命令来重载机器人。
#rr replace
别用这个命令。
一些娱乐性功能。
#tarot|塔罗牌
抽取塔罗牌。每个账户每天限一张。
塔罗牌的图片资源由Examon提供。
(qq:904909465 | twitter:@sigemaultraexa)
塔罗牌的附加文本由Tico提供。
(qq:1753904119)
感谢Cass提供的帮助和建议。
(qq:762737367 | twitter:@LaMasinonDieu)
特此鸣谢。
#le|乐
模拟露露的幸运蛋。
#mw|奇迹漫步
模拟奇迹漫步。
#7|浮游炮
模拟浮游炮展开。
不以#开头的一切消息
依照概率,随机触发游戏内的人物语言文本。
用于访问图库。
使用 #gallery
#gelbooru
#booru
#gel
作为指令头。
#booru random|-r
获取一张随机图片。
#booru [id]
根据[id]获取图片。
共有 3 种分级,分别是 e(Explicit)、q(Questionable)、s(Safe)。分级为 e 的图片,机器人将不会转发。