基于 Mirai QQ机器人 python 开发

编程知识 更新时间:2023-05-03 03:46:53

环境配置

配置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()

转载自

更多推荐

基于 Mirai QQ机器人 python 开发

本文发布于:2023-04-30 11:07:00,感谢您对本站的认可!
本文链接:https://www.elefans.com/category/jswz/7e2d665c1085254767c822c12d29e09c.html
版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系,我们将在24小时内删除。
本文标签:机器人   Mirai   QQ   python

发布评论

评论列表 (有 0 条评论)
草根站长

>www.elefans.com

编程频道|电子爱好者 - 技术资讯及电子产品介绍!

  • 114187文章数
  • 28922阅读数
  • 0评论数