• Stars
    star
    156
  • Rank 238,546 (Top 5 %)
  • Language
    C#
  • Created over 3 years ago
  • Updated 6 months ago

Reviews

There are no reviews yet. Be the first to send feedback to the community and the maintainers!

Repository Details

一个Mirai的QQ机器人, 实现了搜图, RSS订阅转发, 根据PixivID下载原图, 翻译, setu等功能

GreenOnions

关于本项目

这是一个 mirai 平台的QQ机器人, 支持OneBot(使用Sora)和Mirai-Api-Http(使用Mirai-CSharp)双协议, 实现了搜图, 翻译, setu RSS订阅转发等功能

搜图和setu功能设计思路参考自 cq-picsearcher-bot

效果预览

到mirai社区查看

QQ群

功能介绍

更多功能请移步: 插件仓库

项目优势:

  1. 带Windows图形界面, 没有开发基础也可以傻瓜式配置
  2. 多平台兼容, .Net6能装的平台都能运行(当然非Windows就没有图形界面了)
  3. 搜图功能可配置接入腾讯云鉴黄, 可以有效避免被内鬼炸号炸群, 尤其是Ascii2D乱开车的时候
  4. 搜图功能可配置自动下载原图发送
  5. 支持一句命令多张setu, 支持限制QQ号调用次数和频率, 支持定时撤回, 支持配置返回语等
  6. 支持配置以合并转发的方式发送消息,防止不可描述的图片炸号
  7. RSS转发功能有控件配置,可方便添加删除和设置翻译
  8. 可使用QQ消息配置机器人属性

视频部署教程: BV1Zv4y1w7zV (感谢群友Luminol倾情奉献)

如果懒得看视频,也可以看以下文字教程

Windows食用方法(傻瓜版):

首先, 这里有两个平台, 先选择一个顺眼的, 别两个都弄

OneBot 平台:

一、环境配置:

  1. 首先确保你的系统是 Windows 10 1607 或更高版本/Windows 8.1/Windows7 Sp1 并安装了 KB3063858 ( x64 | x86 ) 和 KB2533623 补丁
    (补丁是.net6依赖的,如果你不确定装了没有,可以直接做下面两个步骤,如果都能正常装上,那说明补丁已经装了)
  2. 下载并安装 Microsoft Visual C++ 2015-2019 Redistributable ( x64 | x86 )
  3. .Net6官网 找到.NET Desktop Runtime下载对应自己系统架构的 Installers 版本安装

二、安装机器人框架 (go-cqhttp)

  1. go-cqhttp/Release 下载 go-cqhttp (注意选对系统)
  2. 双击运行 go-cqhttp.exe 点击"是", 创建启动脚本
  3. 双击运行 go-cqhttp.bat
  4. 选择 2 正向 Websocket 通信 并回车, 随后关闭 cmd 窗口
  5. 打开生成的 config.yml 文件, 修改以下内容:
    uin: QQ号
    password: QQ密码
    post-format: array
    access-token: 'Alex1911'
    address: 127.0.0.1:33111
  6. 保存并关闭 config.yml , 随后重新双击运行 go-cqhttp.bat

三、安装本项目

  1. Release 下载本项目的发行版本, 找最新的 win-x64.zip 下
  2. 解压到任意目录, 运行 GreenOnions.BotManagerWindow.exe
  3. 输入机器人QQ号和 config.yml 对应的 ip(127.0.0.1)、端口 (33111) 和 access-token, 点击连接到 cq-http

大功告成

Mirai-Api-Http 平台:

一、环境配置:

  1. 首先确保你的系统是 Windows 10 1607 或更高版本/Windows 8.1/Windows7 Sp1 并安装了 KB3063858 ( x64 | x86 ) 和 KB2533623 补丁
    (补丁是.net6依赖的,如果你不确定装了没有,可以直接做下面两个步骤,如果都能正常装上,那说明补丁已经装了)
  2. 下载并安装 Microsoft Visual C++ 2015-2019 Redistributable ( x64 | x86 )
  3. .Net6官网 找到.NET Desktop Runtime下载对应自己系统架构的Installers版本安装
  4. OpenJDK官网 下载 OpenJDK 尽量选择高版本的下
  5. 将OpenJDK解压到C:\Program Files\Java文件夹下, 呈C:\Program Files\Java\jdk-xx.x路径形式(x为版本号)
  6. 打开 算机属性-高级系统设置-高级-环境变量 在下方系统变量栏中新建一项 变量"JAVA_HOME" 值"C:\Program Files\Java\jdk-xx.x" (不包括引号,x为版本号)
  7. 编辑系统变量Path, 添加一项"%JAVA_HOME%\bin"

二、安装机器人框架 (mirai-console-loader)

  1. mirai-console-loader/releases 下载MCL (尽量选择不带beta的最新版, .zip结尾的那个)
  2. 在解压的目录处打开cmd
  3. 通过MCL安装 mirai-api-http(进入 mirai-api-http 的仓库页面找到它“使用 Mirai Console Loader 安装mirai-api-http”下面的命令输到 cmd 里,因为它的命令有时候会改,所以就不直接列在这里)
  4. 在 cmd 上运行一次 mcl 以确保配置文件成功创建, 等它的工作停止后 (指可以在cmd里输入内容时) 按Ctrl+C退出
  5. 拷贝 mirai-api-http 底下的 setting.ym l模板到 MCL目录\config\net.mamoe.mirai-api-http\setting.yml 文件中
  6. 修改 setting.yml 文件的 http 和 ws 下的 host: 127.0.0.1 port: 33111 verifyKey: Alex1911
  7. 回到 MCL 窗口, 重新输入一次 mcl 再输入/login 机器人QQ号 密码 登录

三、安装本项目

  1. Release 下载本项目的发行版本, 找最新的 win-x64.zip 下
  2. 解压到任意目录, 运行 GreenOnions.BotManagerWindow.exe
  3. 输入机器人QQ号和 setting.yml 对应的 ip(host)、端口 (port) 和 VerifyKey, 点击连接到 mirai-api-http

大功告成

Linux食用方法(仅提供mirai-api-http教程)

(点击查看)

Ubuntu为例:

  1. 输入 sudo apt install unzip #安装解压zip的库
  2. 输入 sudo apt install openjdk-17-jdk-headless #安装Java依赖
  3. 输入 sudo apt-get install -y dotnet-runtime-6.0 #安装 .Net 依赖
    #其他发行版详见: 在 Linux 上安装.Net
  4. 安装 mirai (这里的例子为 Mirai Console Loader)
    4.1. 到 mcl/Release 里复制最新的zip包下载地址
    4.2. 输入 wget 地址 #下载mcl 例如: wget https://github.com/iTXTech/mirai-console-loader/releases/download/v2.1.0/mcl-2.1.0.zip
    4.3. 输入 unzip mcl-1.2.2.zip #解压(文件名按下载到的来写)
    4.4. 输入 sudo chmod 777 mcl #设置权限
  5. 安装 mirai-api-http 通信插件
    5.1. 输入 ./mcl --update-package net.mamoe:mirai-api-http --channel stable-v2 --type plugin #(地址可能会随着更新改变, 以 mirai-api-http 中的说明为准)
    5.2. 输入 ./mcl #首次启动 mirai 创建配置文件
    5.3. 当配置完成后, 按Ctrl+C停止运行
    5.5. 到 mirai-api-http 复制setting.yml模板
    5.4. 输入 sudo vim config/net.mamoe.mirai-api-http/setting.yml #使用Vim(或其他工具)编辑配置文件
    5.5. 粘贴复制的模板并修改 http 和 ws 下的 host: 127.0.0.1 port: 33111 verifyKey: Alex1911
    5.6. 按Esc退出编辑模式并输入 :wq! 保存配置文件
  6. 登录机器人QQ:
    6.1. 输入 ./mcl 启动 mirai
    6.2. 输入 /login QQ号 密码 #登录机器人QQ
  7. 下载并安装本项目
    7.1. 到 GreenOnions/Release #复制对应自己系统的本项目下载链接
    7.2. 输入 wget 地址 #下载本项目压缩包
    7.3. 输入 unzip linux-x64.zip #解压本项目(文件名按下载到的来写)
    7.4. 输入 cd linux-x64 #进入解压后的目录
  8. 启动本项目并连接到 mirai
    8.5. 输入 dotnet GreenOnions.BotManagerConsole.dll #启动本项目
    8.6. 按提示输入QQ号、IP、端口和 VerifyKey

大功告成

命令说明:

所有命令均以"<机器人名称>命令+空格"开头, 尖括号中代表要替换的值(不含尖括号, 带有问号的代表可选参数), 修改集合类型属性时应以Json数组的形式,如:[1,2,3])

  1.  --list #列出所有的属性功能分组名称
  2.  --list <分组名> #列出该分组下的所有属性名称和中文别名
  3.  --get <属性名/别名> #获取属性的值和描述
  4.  --set <属性名/别名> <值> #修改改属性的值
  5.  --description <属性名/别名> #获取改属性的描述信息, 如果是枚举还会列出允许设置的值
  6.  --rss #列出所有的RSS订阅项
  7.  --addrss Url="<订阅地址>" remark="<?备注名>" ForwardGroups="<?转发群1>" ForwardQQs="<?转发好友1>" Translate="<?是否翻译>" TranslateFromTo="<?是否指定翻译语言>" TranslateFrom="<?从什么语言翻译>" TranslateTo="<?翻译到什么语言>" AtAll="<?是否@所有人>" SendByForward="<?是否以合并转发方式发送>" FilterMode="<?过滤模式*2>" FilterKeyWords="<?过滤词>" Headers="<?请求头>*3" #添加一个RSS订阅项
  8.  --removerss <备注名/Url> #移除一个RSS订阅项

*注意添加RSS的命令等号后的参数均要加双引号
*1应为Json数组的形式输入,如:"[1,2,3]"
*2过滤模式: 0=不过滤, 1=包含任一, 2=包含所有, 3=不包含
*3应为Json键值对的形式输入,如:"{"aa": "11","bb": "22"}"

至于为什么叫葱葱, 一是一开始是给某初音群用的, 叫这个名字可以打压某助手(屠龙者终成恶龙, 现在葱葱小助手2.0也是我写的了, 不信对它发/GreenOnions试试), 二是早期没自己开发的时候使用 cq-picsearcher-bot 的机器人叫竹竹, 就想找个类似的名字

短期计划(TODO):

1.E-Hentai关键词色图
2.适配 Konata.Core 平台(或许会通过KnifeHub

长期计划(GUDO):

1.把 System.Drawing 替换为其他更轻量的跨平台图形库, 取消Linux系统下对Mono的依赖
2.把内嵌浏览器 (CefSharp) 搬出到独立的仓库里, 改为插件式加载
3.添加一个网站管理端(有生之年一定)