Skip to content
This repository has been archived by the owner on Apr 11, 2023. It is now read-only.

j4ger/firewatch

Repository files navigation

Firewatch

社交媒体搬运机器人插件
本项目使用 Mirai框架 API编写,并作为 Mirai-Console 插件发布
旨在定时检查社交媒体目标更新,并转发至群聊

功能

  • 多群聊分别管理配置
  • 多社交平台支持
    • Bilibili
    • 新浪微博
    • Twitter
    • Github
    • 明日方舟公告
  • 聊天环境中配置,无需命令行
  • 部署简单(感谢 Mirai-MCL 项目)

用户指南

前期准备

  1. 一台闲置的,能够访问互联网的设备

QQ机器人本质上是一个基于规则自动回复的QQ客户端,因此需要运行的设备。
任何支持运行 Mirai-Console 的设备都是支持的,你甚至只需要一台闲置的安卓手机。
需要注意机器人提供服务的时候设备需要开机,考虑选择便于长期运行的设备。

  1. 基本的命令行操作知识

只需要会打开命令行,复制粘贴就好啦。

  1. 为你的机器人注册一个QQ账号

用现有的也不是不可以,不过最好保证只在机器人设备上登录。
Mirai 提供作为多种安卓设备登录的方式,默认为安卓手机,意味着同时允许额外登录一台平板和手表设备。
同一个手机号可以注册多个QQ账号的,所以花点时间重新开一个吧。

  1. 把机器人加入需要提供转发服务的群中

即使你想先设置好机器人服务再添加至群聊,也请在手机客户端上至少先登录一次账号,这将对后续配置自动登录有很大帮助。

查看 Mirai用户文档

Github Releases
或者在MCL命令行界面执行 ./mcl --update-package net.mamoe:chat-command --channel stable --type plugin

安装 Firewatch

Github Releases
或者在MCL命令行界面执行 ./mcl --update-package cn.j4ger:firewatch --channel stable --type plugin

如果使用 Mirai-MCL 安装,执行 ./mcl 启动(见 MCL文档 )
如果选择手动安装,参考 Mirai-Console文档 运行后Firewatch会在log中输出已载入的 平台解析器 列表:
2021-08-24 00:32:57 I/Firewatch: Loading resolvers: [Bili, Bilibili, 哔哩哔哩]

配置自动登录

Mirai-Console 控制台中执行指令
/autoLogin add <account> <password>

记得把 <account><password> 替换成机器人的QQ号和密码。

/stop 指令关闭 Mirai-Console ,再重新启动之

是的,当初的我和你一样以为到这里就结束了。
在一个合理的世界,配置就应该到此为止。
但世界永远不是合理的,至少这个平行宇宙不是。
不出意料地,你会看到类似

2021-08-29 16:30:01 I/Bot.1145141919: [SliderCaptcha] 需要滑动验证码, 请按照以下链接的步骤完成滑动验证码, 然后输入获取到的 ticket

的提示信息,以及给出的几个解决方案的链接。
该处的说明足以提供解决问题的方法,事实上,他们的解释或许有点过于详细了。
在此我推荐查看 无法登录的临时处理方案6月6日更新 部分的说明。

配置命令权限

Mirai-Console权限系统 默认不允许群成员执行命令
执行/perm add * cn.j4ger.firewatch:*将会允许所有人执行任意Firewatch指令,如果没有特殊需求,执行这一句指令后就可正常使用插件功能
详细权限系统用法可参考 Mirai-Console权限系统
Firewatch内置的指令列表:

指令 描述
cn.j4ger.firewatch:command.sub 订阅更新
cn.j4ger.firewatch:command.unsub 取消订阅更新
cn.j4ger.firewatch:command.manage 管理订阅列表
cn.j4ger.firewatch:* 全部指令

可对每个指令分别设置权限

配置订阅对象

添加订阅

在需要订阅的群中发送 /sub <平台名称> <目标id> 添加订阅
例如:/sub bilibili 26888199
返回:

已对Bili 重伤倒地耶格尔添加订阅

管理订阅

在已有订阅的群中发送 /manage list 管理订阅列表
示例返回:

组690340490的全部订阅:
平台Bili:
#1 重伤倒地耶格尔
总计1项

在需要取消订阅的群中发送 /unsub <平台名称> <目标编号> 取消订阅
例如:/unsub bili 1
返回:

已取消对Bili 重伤倒地耶格尔的订阅

至此,配置就结束了
理论上一切都应该正常工作了

假如出现了不应该发生的事情,欢迎提交Issue反馈

开发文档

WIP