https://github.com/nonebot/adapter-milky
NoneBot2 Milky 协议适配器 / Milky Protocol adapter for nonebot2
https://github.com/nonebot/adapter-milky
Last synced: 27 days ago
JSON representation
NoneBot2 Milky 协议适配器 / Milky Protocol adapter for nonebot2
- Host: GitHub
- URL: https://github.com/nonebot/adapter-milky
- Owner: nonebot
- License: mit
- Created: 2025-05-16T13:39:47.000Z (10 months ago)
- Default Branch: master
- Last Pushed: 2025-06-12T14:51:32.000Z (9 months ago)
- Last Synced: 2025-06-17T19:16:20.245Z (9 months ago)
- Language: Python
- Size: 145 KB
- Stars: 11
- Watchers: 1
- Forks: 0
- Open Issues: 0
-
Metadata Files:
- Readme: README.md
- License: LICENSE
Awesome Lists containing this project
README
# NoneBot-Adapter-Milky
_✨ NoneBot2 Milky 协议适配 / Milky Protocol Adapter for NoneBot2 ✨_
## 协议介绍
[Milky 协议](https://milky.ntqqrev.org/)
### 协议端
- [Lagrange.Milky (WIP)](https://github.com/LagrangeDev/LagrangeV2/tree/main/Lagrange.Milky)
- [Yogurt](https://github.com/LagrangeDev/acidify/tree/main/yogurt)
- [LuckyLilliaBot](https://github.com/LLOneBot/LuckyLilliaBot)
## 配置
修改 NoneBot 配置文件 `.env` 或者 `.env.*`。
### Driver
参考 [driver](https://nonebot.dev/docs/appendices/config#driver) 配置项,添加 `HTTPClient` 和 `WebSocketClient` 支持。
如:
```dotenv
DRIVER=~httpx+~websockets
```
或
```dotenv
DRIVER=~aiohttp
```
如果你使用的是 Webhook 模式,则可以移除 `WebSocketClient` 支持,并添加 `ASGI` 支持。
如:
```dotenv
DRIVER=~httpx+~fastapi
```
或
```dotenv
DRIVER=~aiohttp+~fastapi
```
### MILKY_CLIENTS
配置连接配置,如:
```dotenv
MILKY_CLIENTS='
[
{
"host": "localhost",
"port": "8080",
"access_token": "xxx",
"secure": false
}
]
'
```
`host` 与 `port` 为 Milky 协议端设置的监听地址与端口,
`access_token` 为可选项,具体情况以 Milky 协议端为准。
`secure` 为可选项,表示是否使用安全连接(即 wss:// 或 https://),默认为 `false`。
### MILKY_WEBHOOK
如果你使用的是 Webhook 模式,则需要配置 `MILKY_WEBHOOK`。
```dotenv
MILKY_WEBHOOK='
{
"host": "localhost",
"port": "8081",
"access_token": "xxx",
"secure": false
}
'
```
`host` 与 `port` 为 Milky 协议端设置的监听地址与端口,
`access_token` 为可选项,具体情况以 Milky 协议端为准。
`secure` 为可选项,表示是否使用安全连接(即 wss:// 或 https://),默认为 `false`。
## 示例
```python
from nonebot import on_command
from nonebot.adapters.milky import Bot
from nonebot.adapters.milky.event import MessageEvent
from nonebot.adapters.milky.message import MessageSegment
matcher = on_command("test")
@matcher.handle()
async def handle_receive(bot: Bot, event: MessageEvent):
if event.is_private:
await bot.send(event, MessageSegment.text("Hello, world!"))
```
