Skip to main content

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()  # 断开连接、关闭服务

Release files for skittles 0.1.1

For a detailed explanation of source distributions (sdists) and built distributions (wheels), please see the package formats documentation.

Source distribution (sdist)

Source distribution for skittles 0.1.1
File Size Uploaded
skittles-0.1.1.tar.gz 19.1 kB Details

Built distribution (wheel)

Table of built distributions (wheels) for skittles 0.1.1
File Interpreter ABI Platform
skittles-0.1.1-py3-none-any.whl Python 3 none any Details

Total release size: 38.7 kB

Release files / skittles-0.1.1.tar.gz

Download URL skittles-0.1.1.tar.gz
Size 19.1 kB
Tags Source
SHA-256 checksum
How to use checksums
4f66282052509c87d4705f42172b845369abd16fb3d812bd635c34d74c3b50dc
BLAKE2b-256 checksum
How to use checksums
e95cd9af2dc64ef063928e2c87de9be5e5c65bfe237a73231d514f5b66a3045e
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via twine/4.0.2 CPython/3.10.13

Release files / skittles-0.1.1-py3-none-any.whl

Download URL skittles-0.1.1-py3-none-any.whl
Size 19.6 kB
Tags Python 3
SHA-256 checksum
How to use checksums
71f4d939c6de597343eb5cf51c19b3d2aa9cb09f8f2572a4d2eeb278451d891c
BLAKE2b-256 checksum
How to use checksums
1cd98d33fcde1d925da943582cd337e1fcd7a2d23c08ca4b201a9d9a96b6df47
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via twine/4.0.2 CPython/3.10.13

Release history Release notifications | RSS feed

This release

0.1.1 This release

2 release files

0.1.0

2 release files

0.0.3

2 release files

0.0.2

2 release files

0.0.1

2 release files

Anthropic, PBC Visionary sponsor Bloomberg Visionary sponsor Hudson River Trading Visionary sponsor Meta Visionary sponsor NVIDIA Visionary sponsor Microsoft Sustainability sponsor Depot Continuous Integration AWS Cloud computing and Security Sponsor Datadog Monitoring Fastly CDN Google Download Analytics Sentry Error logging StatusPage Status page