mirai-api-http Mock 测试工具
Project description
Skittles
Warning: 本项目仍处于开发阶段,API 可能会有较大变动。
mirai-api-http Mock 测试工具。
可以简单地将协议分为 事件(收到好友消息、收到群消息)和 命令(发送好友消息、发送群消息)两个部分。 对于客户端来说,做的事情是 ”接收事件、发送命令“,那么对于 服务端(Mock 工具)来说,做的事情就是 ”接收命令、发送事件“。
实现的功能
- 正向 Websocket
用法
pip install skittles
import asyncio
import time
import logging
import typing
logging.basicConfig(level=logging.DEBUG)
from skittles.platform import mirai
from skittles.entity import bot, connection
bot_account = bot.Bot(
account_id='12345678',
nickname='bot',
connection_types=[connection.ConnectionType.FORWARD_WS]
) # 建立假账号,目前仅支持 websocket
mahadapter = mirai.MiraiAPIHTTPAdapter()
@mahadapter.action_handler # 注册命令处理器
async def handler(bot: bot.Bot, connection_type: connection.ConnectionType, data: dict) -> typing.Any:
print(bot, connection_type, data)
asyncio.run(mahadapter.run(bots=[bot_account]))
# 发送事件
data = {
"type": "FriendMessage",
"sender": {"id": 1010553892, "nickname": "Rock", "remark": ""},
"messageChain": [
{"type": "Source", "id": 123456, "time": int(time.time())},
{"type": "Plain", "text": "你好"},
],
}
await mahadapter.emit_event(bots=[bot_account], event=data)
await mahadapter.kill() # 断开连接、关闭服务
Project details
Download files
Download the file for your platform. If you're not sure which to choose, learn more about installing packages.
Source Distribution
skittles-0.1.1.tar.gz
(19.1 kB
view details)
Built Distribution
Filter files by name, interpreter, ABI, and platform.
If you're not sure about the file name format, learn more about wheel file names.
Copy a direct link to the current filters
skittles-0.1.1-py3-none-any.whl
(19.6 kB
view details)
File details
Details for the file skittles-0.1.1.tar.gz.
File metadata
- Download URL: skittles-0.1.1.tar.gz
- Upload date:
- Size: 19.1 kB
- Tags: Source
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/4.0.2 CPython/3.10.13
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
4f66282052509c87d4705f42172b845369abd16fb3d812bd635c34d74c3b50dc
|
|
| MD5 |
2ccc4257dfe3496f5b8728e1aba1d8ee
|
|
| BLAKE2b-256 |
e95cd9af2dc64ef063928e2c87de9be5e5c65bfe237a73231d514f5b66a3045e
|
File details
Details for the file skittles-0.1.1-py3-none-any.whl.
File metadata
- Download URL: skittles-0.1.1-py3-none-any.whl
- Upload date:
- Size: 19.6 kB
- Tags: Python 3
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/4.0.2 CPython/3.10.13
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
71f4d939c6de597343eb5cf51c19b3d2aa9cb09f8f2572a4d2eeb278451d891c
|
|
| MD5 |
e6fb54ee60ee5c78b91ceed760c6dbca
|
|
| BLAKE2b-256 |
1cd98d33fcde1d925da943582cd337e1fcd7a2d23c08ca4b201a9d9a96b6df47
|