快速开始🔗
前言🔗
这里我们假设你已经参照 mirai
和 mirai-api-http
的 README,
启动了你的 mirai-console
, 同时也安装了最新版本的 mirai-api-http
插件.
注意
本 快速开始 文档假设你已有 Python 3
与 asyncio
基础.
若没有 Python 3
基础, 请移步 Python 教程
Python 官方教程
若没有 asyncio
基础, 请移步 asyncio 入门
开发者不会负责 Python
基础教学.
如果你还不会使用 mirai-console
,请移步:
如果你使用时开发库出现了错误, 应先检查是否是 Graia Framework
的错误,
确认之后, 请在我们的 GitHub Issues 处汇报你的错误,
我们会尽快处理问题
安装🔗
pip install graia-ariadne
# 使用 poetry(推荐的方式)
poetry add graia-ariadne
这同时会安装 graia-ariadne
和 graia-broadcast
这两个包的最新版本.
提示
如果你想更新其中的一个:
# 更新 graia-ariadne
pip install graia-ariadne --upgrade
## 使用 poetry
poetry update graia-ariadne
# 更新 graia-broadcast
pip install graia-broadcast --upgrade
## 使用 poetry
poetry update graia-broadcast
第一次对话🔗
现在我们需要协定好 mirai-api-http
的配置, 以便于接下来的说明.
根据 mirai-api-http
的相关文档, 我们可以得出这么一个配置文件的方案:
# file: "MCL/config/net.mamoe.mirai-api-http/setting.yml"
## 配置文件中的值,全为默认值
## 启用的 adapter, 内置有 http, ws, reverse-ws, webhook
adapters:
- http
- ws
## 是否开启认证流程, 若为 true 则建立连接时需要验证 verifyKey
enableVerify: true
verifyKey: ServiceVerifyKey
## 开启一些调试信息
debug: false
## 是否开启单 session 模式, 不建议开启
singleMode: false
## 历史消息的缓存大小
## 同时,也是 http adapter 的消息队列容量
cacheSize: 4096
## adapter 的单独配置,键名与 adapters 项配置相同
## 注意: 如果 mirai 读取配置时出错可以尝试删除并重新写入
adapterSettings:
## HTTP 服务的主机, 端口和跨域设置
http:
host: localhost
port: 8080
cors: ["*"]
## Websocket 服务的主机, 端口和事件同步ID设置
ws:
host: localhost
port: 8080
reservedSyncId: -1
将以下代码保存到文件 bot.py
内, 确保该文件位于你的工作区内:
from graia.ariadne.app import Ariadne
from graia.ariadne.entry import config
from graia.ariadne.message.chain import MessageChain
from graia.ariadne.message.element import Plain
from graia.ariadne.model import Friend
app = Ariadne(
config(
verify_key="ServiceVerifyKey", # 填入 VerifyKey
account=123456789, # 你的机器人的 qq 号
),
)
@app.broadcast.receiver("FriendMessage")
async def friend_message_listener(app: Ariadne, friend: Friend):
await app.send_message(friend, MessageChain([Plain("Hello, World!")]))
# 实际上 MessageChain(...) 有没有 "[]" 都没关系
app.launch_blocking()