admin管理员组

文章数量:1558085

环境配置

配置java 环境 java 版本 >= 11
参考文章

下载最新版本的mcl,并配置环境变量

下载最新版本的mcl

登录QQ账号

在项目目录下打开cmd窗口,输入

mcl

当提示 mirai-console started successfully 时表示启动成功

接着在光标处输入login 账号 密码 尝试登录QQ账号

但此时会提示登录失败,原因是需要做滑块验证
解决方案是下载 mirai-login-solver-selenium 处理滑块验证辅助登录 (需要有Chrome 浏览器)

输入下面指令

mcl --update-package net.mamoe:mirai-login-solver-selenium --channel nightly --type plugin

关闭原来的进程,重新打开cmd窗口,输入 mcl 将会自行下载此插件
重新登录,可能会出现浏览器窗口,辅助完成登录即可

mirai-api-http 转发消息

这时,已经可以完成登录但是还没有处理消息的程序,这里我们使用python做处理,但python不是mirai直接支持的语言,需要一个插件来转发消息

重新打开一个cmd 窗口 输入

mcl --update-package net.mamoe:mirai-api-http --channel stable --type plugin

重启程序后即可完成 mirai-api-http 插件的安装

安装完成后修改此文件中相应的配置

可以参考修改

以上设置使mirai 登录QQ后可以转发消息到 0.0.0.0(本机) 的 8080 端口

python后端接收消息并响应

python 安装 graia-application-mirai 模块(可以选择新建虚拟环境)

pip install graia-application-mirai

运行mcl 登录 QQ后 新建py文件
运行一下参考代码后QQ机器人就会私聊回复hello world了
graia-application-mirai 官方文档

from graia.broadcast import Broadcast
from graia.application import GraiaMiraiApplication, Session
from graia.application.message.chain import MessageChain
import asyncio

from graia.application.message.elements.internal import Plain
from graia.application.friend import Friend

loop = asyncio.get_event_loop()

bcc = Broadcast(loop=loop)
app = GraiaMiraiApplication(
    broadcast=bcc,
    connect_info=Session(
        host="http://localhost:8080", # 填入 httpapi 服务运行的地址
        authKey="graia-mirai-api-http-authkey", # 填入 authKey
        account=nideqqhao , # 你的机器人的 qq 号
        websocket=True # Graia 已经可以根据所配置的消息接收的方式来保证消息接收部分的正常运作.
    )
)

@bcc.receiver("FriendMessage")
async def friend_message_listener(app: GraiaMiraiApplication, friend: Friend):
    await app.sendFriendMessage(friend, MessageChain.create([
        Plain("Hello, World!")
    ]))

app.launch_blocking()

转载自

本文标签: 机器人MiraiqqPython