Skip to main content

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)

Uploaded Source

Built Distribution

skittles-0.1.1-py3-none-any.whl (19.6 kB view details)

Uploaded Python 3

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

Hashes for skittles-0.1.1.tar.gz
Algorithm Hash digest
SHA256 4f66282052509c87d4705f42172b845369abd16fb3d812bd635c34d74c3b50dc
MD5 2ccc4257dfe3496f5b8728e1aba1d8ee
BLAKE2b-256 e95cd9af2dc64ef063928e2c87de9be5e5c65bfe237a73231d514f5b66a3045e

See more details on using hashes here.

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

Hashes for skittles-0.1.1-py3-none-any.whl
Algorithm Hash digest
SHA256 71f4d939c6de597343eb5cf51c19b3d2aa9cb09f8f2572a4d2eeb278451d891c
MD5 e6fb54ee60ee5c78b91ceed760c6dbca
BLAKE2b-256 1cd98d33fcde1d925da943582cd337e1fcd7a2d23c08ca4b201a9d9a96b6df47

See more details on using hashes here.

Supported by

AWS AWS Cloud computing and Security Sponsor Datadog Datadog Monitoring Fastly Fastly CDN Google Google Download Analytics Microsoft Microsoft PSF Sponsor Pingdom Pingdom Monitoring Sentry Sentry Error logging StatusPage StatusPage Status page