这篇主要是群菜萌佬教的,很细致,很耐心,再次感谢。
参考教程依然是:
1.默认mirai已经配置安装好,如果没有,请看
https://mp.csdn.net/mp_blog/creation/editor/128831449
打开mal.cmd,可以登录你的机器人运行,并能收到消息。
2.python版本3.8以上,你已经下好了pycharm并会简单使用,起码会创建一个.py文件
3.jdk11以上就不用说了,安装配置mirai-api-http,Mirai 的安装与配置 | GraiaX 文档
4.复制下面代码到新建项目的新建py文件下,代码是别处抄来,具体可见
from creart import create
from graia.ariadne.app import Ariadne
from graia.ariadne.connection.config import (
HttpClientConfig,
WebsocketClientConfig,
config,
)
from graia.ariadne.event.message import GroupMessage
from graia.ariadne.message.chain import MessageChain
from graia.ariadne.model import Group
from graia.broadcast import Broadcast
bcc = create(Broadcast)
app = Ariadne(
connection=config(
114514, # 你的机器人的 qq 号
"GraiaxVerifyKey", # 填入你的 mirai-api-http 配置中的 verifyKey
# 以下两行(不含注释)里的 host 参数的地址
# 是你的 mirai-api-http 地址中的地址与端口
# 他们默认为 "http://localhost:8080"
# 如果你 mirai-api-http 的地址与端口也是 localhost:8080
# 就可以删掉这两行,否则需要修改为 mirai-api-http 的地址与端口
HttpClientConfig(host="http://11.45.1.4:19810"),
WebsocketClientConfig(host="http://11.45.1.4:19810"),
),
)
@bcc.receiver(GroupMessage)
async def setu(app: Ariadne, group: Group, message: MessageChain):
if message.display == "你好":
await app.send_message(
group,
MessageChain(f"不要说{message.display},来点涩图"),
)
app.launch_blocking()
上面这两行代码需要按照提示改动:
114514, # 你的机器人的 qq 号
"GraiaxVerifyKey", # 填入你的 mirai-api-http 配置中的 verifyKey
开始会报错,像这样下面有红线,这是因为没有安装好graia-ariadne接下来,跟着做
5.安装graia-ariadne,
打开pycharm,在pychram的Terminal运行这行代码:
./venv/Scripts/pip install graia-ariadne[full]
完成了大概是这样
然后就没错了,红线波浪线消失,在pycharm运行一下
如果你的机器人还是不说话,在一切端口默认的情况下,把这两行注释掉就可以了
#HttpClientConfig(host="http://11.45.1.4:19810"), #WebsocketClientConfig(host="http://11.45.1.4:19810"),
成功
补充:上面水平线里的只是巧合,菜狗佬又补充了一点,仔细看注释文档
mirai-api-http 监听的是 localhost:8080,文档故意给了一个11.14.51.4是特意给错的,mah监听本地(类似127.0.0.1),graia连接的是其他的IP,所以连不上,机器人也不会回复消息。
学无止境,如果有不会的,暂且先记下,后来可能慢慢就能理解了。