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
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 |