添加链接
link管理
链接快照平台
  • 输入网页链接,自动生成快照
  • 标签化管理网页链接

Repository files navigation

Mirai Administrator

基于 Mirai Console 的 管理员 Bot 及其标准

本插件提供 服务接口 以供其他插件拓展功能
例如使用 Mirai Content Censor 依靠百度API审查群消息
例如使用 Mirai Authenticator 验证加群请求

MCL 指令安装

请确认 mcl.jar 的版本是 2.1.0+
./mcl --update-package xyz.cssxsh.mirai:mirai-administrator --channel maven-stable --type plugins

注意: 使用前请确保可以 在聊天环境执行指令
<...> 中的是指令名
[...] 表示参数,当 [...] 后面带 ? 时表示参数可选
代之自身或者群聊可以用 ~ , 例如 /group quiet ~

本插件指令权限ID 格式为 xyz.cssxsh.mirai.plugin.mirai-administrator:command.* , * 是指令的第一指令名
例如 /send to 12345 的权限ID为 xyz.cssxsh.mirai.plugin.mirai-administrator:command.send
对 机器人发送的 联系人请求 通知消息 回复 同意 不同意 拉黑 即可处理
插件提供黑名单功能,使用指令 /contact black u12345 , 即可拉黑用户,Bot将不响应用户动作(包括其他插件的功能)
发送异常下线邮件通知需要配置邮箱账户和密码

AdminContactCommand

Command Description
  • id 是 事件id 或 好友id 或 群id
  • accept black 参数为 true , yes , enabled , on , 1 时表示 true (不区分大小写)
  • 对 机器人发送的新联系人通知消息 回复 同意 不同意 拉黑 即可处理,详见 联系人审批配置
  • permitteeIds 是 权限系统的用户标识符,例如 m12345.6789 , 可以提供多个 PermitteeId 一次性拉黑/取消拉黑
  • 黑名单通过 @EventHandler(priority = EventPriority.HIGH, concurrency = ConcurrencyKind.LOCKED) 拦截消息
  • AdminFriendCommand

    Command Description
  • 不指定 contact 时,可以通过 回复消息 指定要撤销的消息,如果没有指定,将尝试撤销最后一条不是由指令发送者发送的消息
  • contact 是群员时,将尝试撤销这个群员的最后一条消息
  • contact 是群或好友时,将尝试撤销bot的最后一条消息
  • AdminRegisteredCommand

    Command Description
  • bot 参数在命令行模式下需要指定
  • at 参数为 true , yes , enabled , on , 1 时表示 true , 将附加一个At
  • second 参数为 延迟的秒数 例如 /send groups 123456 false 10
  • addresses 参数为 邮箱地址
  • AdminTimerCommand

    Command Description

    cron , 为 CRON 表达式, 由 秒 分钟 小时 日 月 周 组成
    例如 0 0 1 * * ? 表示每天 01:00 执行一次, 0 30 2 ? * 2-6 表示星期一至星期五 每天 02:30 执行一次
    可以使用在线编辑器生成 https://www.bejson.com/othertools/cron/
    为防止被 空格 分成多个参数,请使用 " 包裹参数

    moment 为 DURATION 表达式, 由 PnDTnHnMn.nS 组成
    例如 P1DT2H3M4.5S 表示 一天二小时三分钟四点五秒, PT5H 表示 五小时

    mute 指令, moment 为零 PT0S 宵禁就会关闭
    例如 /timer mute PT5H "0 0 1 ? * 2-6" , 将会在 星期一到星期五的凌晨01:00 禁言 5 小时
    例如 /timer mute PT0S "0 0 0 1 * ?" , 将会 取消 禁言定时器

    cleaner 指令, day 单位为天数的发言期限, 小于等于 0 清理不发言就会关闭
    例如 /timer cleaner 30 "0 0 12 ? * 1,7" , 将会在 星期六、星期天的12:00 清理 30 天未发言的用户
    例如 /timer cleaner 0 "0 0 0 1 * ?" , 将会 取消 清理不发言定时器

    联系人审批配置

  • AdminAutoApproverConfig.yml
  • 禁言自动退群配置

  • AdminAutoQuitConfig.yml
  • mute_limit 大于这个设置秒数的禁言会触发自动退群
  • AdminCommentConfig.yml
  • xyz.cssxsh.mirai.plugin.mirai-administrator:comment.include 作用: 拥有此权限的用户,可以给机器人留言
  • 机器人上线消息配置

  • AdminOnlineMessageConfig.yml
  • xyz.cssxsh.mirai.plugin.mirai-administrator:online.include 作用: 拥有此权限的群,会发送上线通知
  • 消息审查及机器人所有者

  • AdminSetting.yml
  • censor_types 可选值 IMAGE, FLASH, SERVICE, APP, AUDIO, FORWARD, VIP, MARKET, MUSIC, POKE
  • 正则词库, 须手动添加,将会加载 censor 文件夹中的 txt 文件,每一行对应一个正则匹配,会监听文件改动,无需重启
  • AdminMailConfig.yml 配置一些默认的发送对象
  • admin.mail.properties 配置邮箱账号等,需要自己配置邮箱的 mail.host , mail.user , mail.password , mail.from
  • QQ Mail https://service.mail.qq.com/detail/0/427

    mail.host=smtp.qq.com
    mail.auth=true
    mail.user=xxx
    mail.password=***
    mail.from[email protected]
    mail.store.protocol=smtp
    mail.transport.protocol=smtp
    # smtp
    mail.smtp.starttls.enable=true
    mail.smtp.auth=true
    mail.smtp.timeout=15000

    Gmail https://support.google.com/mail/answer/7126229

    mail.host=smtp.gmail.com
    mail.auth=true
    mail.user=xxx
    mail.password=***
    mail.from[email protected]
    mail.store.protocol=smtp
    mail.transport.protocol=smtp
    # smtp
    mail.smtp.starttls.enable=true
    mail.smtp.starttls.required=true
    mail.smtp.auth=true
    mail.smtp.timeout=15000
    mail.smtp.port=587

    SPI接口 ComparableService
    Wiki Service Provider Interface
    举例 JvmPlugin

    接口 ContentCensor
    实例 MiraiContentCensor

    联系人审批

    接口 FriendApprover
    接口 MemberApprover
    接口 GroupApprover
    实例 MiraiAutoApprover

    接口 BotTimingMessage
    实例 MiraiMessageTimer
    实例 MiraiStatusMessage

    接口 BotOnlineAction
    实例 MiraiOnlineMessage

    宵禁(群定时禁言)

    接口 GroupCurfewTimer
    实例 MiraiCurfewTimer

    放风(限时权限)

    接口 GroupAllowTimer

    群成员清理

    接口 MemberCleaner
    实例 MiraiMemberCleaner

    群昵称检查

    接口 MemberNickCensor

    群头衔检查

    接口 MemberTitleCensor

    接口 BlackListService
    实例 MiraiBlackList

    联系人备份

    接口 BackupService
    实例 MiraiBackupService