如何搭建一个简单的QQ机器人(基于mirai)

最近感觉游戏不好玩 学习不好学,作业不会做,买了一年的服务器只搭了一个xss平台又感觉有点亏,就想搭个机器人玩玩,就请教了一个机器人大佬学长,让他带我搭一个,写个博客记录下搭建过程,让想搭的py们也可以自己试着搭一个。

1.下载mcl

下载地址
mcl就相当于一个我的世界启动器,你可以自行添加mod(插件)然后使用。
下载以后最好解压到全英文路径,比如D:\QQ-bot\2021-10-8\mcl-1.2.2,解压后有mcl.cmd,文件页面shift加右键可以看到有个打开powershell窗口,也就是命令行,输入.\mcl.cmd,即可运行。但是要注意java的环境,必须得11以上,自行安装然后配置环境变量。好了之后运行
在这里插入图片描述
类似这样就是启动成功,输入,help也可以
在这里插入图片描述
尝试登陆,/login QQ号 密码 ANDROID_PAD,protocol这一项最好是用ANDROID_PAD。(为了防止手机登陆冲突,如果你用平板登陆,这里就用ANDROID_PHONE)
在这里插入图片描述
如果登陆提示异常就看这里解决:常见问题解决
登陆成功
在这里插入图片描述
接下来添加自动登陆,/autoLogin QQ号 QQ密码 ,然后在文件夹下的config\Console\AutoLogin.yml中configuration修改如下,之前的自动登陆默认协议是手机,我们修改为平板,修改如下:
在这里插入图片描述
此后每次启动mcl.cmd他就会自动登陆了,至此算是成功一半

2.来点插件

接下来到这里!寻找你喜欢的插件,比如我想实现一个类似ctfshow中大牛的简单功能,我就用这个自动回复,具体操作里面都有了。将jar文件加到plugins文件夹,然后在./conf/autoreply下配置文件,host填你自己的QQ号(不是机器人的),followers中填可以有权限添加和查询的QQ号,触发词我是这样填
在这里插入图片描述
分隔符就是空格,那么我要添加的指令就是/add 关键词 关键词触发内容,进行尝试,尝试成功

在这里插入图片描述
deleteKey里就填删除触发词 我填的/del,那么删除就是/del 关键词至此就实现了一个简单的关键词回复的机器人,但是我们这个时候还只是在电脑上运行,不能保证电脑每时每刻都开着而且都运行着这个机器人,那么就要把他搭到服务器上。

3.连上服务器

在windows下用ssh连接ssh 服务器地址连上你的服务器后应该是root权限,这时候我们新建一个用户来弄机器人,比如adduser sapphire那么下次连接就直接ssh sapphire@服务器地址然后输入你设定的密码即可。注意当你处于root用户下时记得给你刚添加的用户管理的权限,不然很多东西做不了。下一步就是要从windows传文件到服务器上,从上文知道我放机器人的路径是D:\QQ-bot\2021-10-8\mcl-1.2.2,那么我在2021-10-8下按住shift加右键打开power shell窗口,然后用scp指令将你本地设置好的文件直接传过去,例如

scp -r .\mcl-1.2.2\ sapphire@192.168.10.232:~/bot

直接传过去.

4.配置环境

然后还得在服务器那边安装好所需环境,如果只使用插件的话,安装linux下的java,我下的文件名是openjdk-17+35_linux-x64_bin.tar.gz,到服务器上解压,注意是一直使用的命令行进行操作,如何解压自行百度,当然还得配置路径,先输入

sudo vi /etc/profile.d/jdk.sh

然后按i键(傻瓜式教学了),就可以更改内容,将内容改为

export JAVA_HOME=(你所解压下的路径,比如我的是/home/sapphire/jdk-17)
export PATH=$PATH:$JAVA_HOME/bin/
export CLASSPATH=.:$JAVA_HOME/lib/

然后esc按两次,输入:wq即可,如果报错那多半是权限不足不让你修改。改完以后输入java -version看看是否配置java环境成功,如果成功,大概有如下回显

sapphire@xxx:~$ java -version
openjdk version "17" 2021-09-14
OpenJDK Runtime Environment (build 17+35-2724)
OpenJDK 64-Bit Server VM (build 17+35-2724, mixed mode, sharing)

至此也算成功了一半,接下来安装tmux,如何安装自行百度。
安装好了以后

tmux new -s 名称

创建一个新窗口,可以理解为一直运行的窗口,只要你的服务器还在运行。
打开之后cd到mcl下

java -jar mcl.jar

启动成功后就可以直接关闭整个powershell了,他会一直挂在那里,至此简单的QQ机器人就算搭建完成,后续如果要用sdk的话还得配好python的环境,在此不表,有问题的欢迎评论。

  • 7
    点赞
  • 20
    收藏
    觉得还不错? 一键收藏
  • 2
    评论
注意:此框架现已基本稳定,文档会尽快完善。 该分支使用二维码登陆的协议参考了原名:SmartQQ-for-Raspberry-Pi(PiWebQQV2)这一项目,自行整合开发了基于SmartQQ的自动机器人框架。 登陆时采用QQ安全中心的二维码做为登陆条件, 不需要在程序里输入QQ号码及QQ密码。 旧版机器人仍有保留在old_QQBot.py中。 基本功能 群聊功能: 注:以下命令皆是在qq中发送,群聊命令发送到所在群中 群聊吐槽功能(tucao),类似于小黄鸡,在群中通过发送!learn {ha}{哈哈}语句,则机器人检测到发言中包含“ha”时将自动回复“哈哈”。!delete {ha}{哈哈}可以删除该内容。吐槽内容本地保存在data/tucao_save/中。 群聊复读功能(repeat),检测到群聊中连续两个回复内容相同,将自动复读该内容1次。 群聊关注功能(follow),使用命令!follow qq号可以使机器人复读此人所有发言(除命令外)使用命令!unfollow qq号解除关注。qq号处可使用"me"来快速关注与解除关注自己,例:!follow me 群聊唤出功能(callout),群聊中检测关键词智障机器人,若发言中包含该词,将自动回复干嘛(‘·д·),此功能一般用于检测机器人状态与调戏 群聊命令功能(command_0arg/command_1arg):使用![命令名]格式或![命令名] {参数1}执行命令,命令“吐槽列表”,使用命令!吐槽列表在群聊中激活,列出当前群的吐槽列表。 !删除关键字 {blablabla}:删除关键字“blablabla”下的所有吐槽内容 !吐槽列表:列出当前群的吐槽列表 现有无参数命令: 现有单参数命令: 私聊功能: 私聊唤出功能(callout),私聊中检测关键词智障机器人,若发言中包含该词,将自动回复干嘛(‘·д·),此功能一般用于检测机器人状态与调戏 私聊复读功能(repeat),检测到私聊中连续两个回复内容相同,将自动复读该内容1次。 临时对话功能: 唤出功能(callout),具体同私聊与群聊。   标签:smartqq  smartqqbot

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值