
作者:tanleiDD https://blog.csdn.net/TL18382950497/article/details/112321956
Java、Python等运行必须的环境
mirai-core及mirai-core-api两部分。mirai-console,它在 mirai 框架提供的基础功能的基础上进行了封装并进一步提供了更方便的开放接口。
mirai-api-http,则可以解决这个问题。
mirai-core,mirai-console 和 mirai-console-terminal,然后还需要通过一大串指令来启动它。mirai-console-loader(简称mcl) —— mirai-console 的官方一键启动器。因此你仅需要下载它即可(第一步说的都不用管0.0)。github仓库位置:mirai-console-loader[2]


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

86.0.4240.22

chromedriver-86.0.4240.198.exe,也就是刚刚我们在命令行窗口查看的文件名,一定要跟它想下载的文件名一致chromedriver-86.0.4240.198.exe, 替换到以下目录

login 账号 密码 尝试登录。接下来会弹出一个浏览器窗口,你只需要傻瓜式的完成登录验证即可。如果登录成功,以后的每次登录,应该都是不需要再次验证的。





除java/kotlin语言的程序员,都是通用的。而后面的操作,仅写给使用python的程序员
以下是参考,自己看着配就行
# file: mcl-1.0.3/config/net.mamoe.mirai.api.http/setting.yml
authKey: graia-mirai-api-http-authkey # 你可以自己设定, 这里作为示范
# 可选,缓存大小,默认4096.缓存过小会导致引用回复与撤回消息失败
cacheSize: 4096
enableWebsocket: true # 是否启用 websocket 方式, 若使用 websocket 方式交互会得到更好的性能
host: '0.0.0.0' # httpapi 服务监听的地址, 错误的设置会造成 Graia Application 无法与其交互
port: 8080 # httpapi 服务监听的端口, 错误的设置会造成 Graia Application 无法与其交互
重启mcl, 更新配置
接着,安装 python 操作 mirai-api-http 接口的模块:graia-application-mirai
pip install graia-application-mirai
将以下代码复制到bot.py,按注释提示,再结合刚刚对mirai-api-http的配置,稍作修改。然后运行
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=5234120587, # 你的机器人的 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机器人的起步教程而已,需要了解更多,还是去阅读官方文档,以学习更多的api。
[1]
mirai官方生态文档: https://github.com/mamoe/mirai/blob/dev/docs/mirai-ecology.md
[2]
mirai-console-loader: https://github.com/iTXTech/mirai-console-loader/tree/master
[3]
mirai-login-solver-selenium: https://github.com/project-mirai/mirai-login-solver-selenium/tree/master
[4]
chromedriver: http://npm.taobao.org/mirrors/chromedriver/
[5]
mirai-api-http: https://github.com/project-mirai/mirai-api-http
[6]
open JDK: http://jdk.java.net/archive/
[7]
graia-application-mirai官方文档: https://graia-document.vercel.app/