Skip to main content

Python 3 SDK for MikuChat. Check https://doc.yuuz12.top/web/#/5/

Project description

MikuChat-Api

文档地址: https://doc.yuuz12.top/web/#/5/103

简介

全异步编写,可调用 MikuChat-Api

安装:uv add mikuchat-sdk

使用说明

  1. 在项目根目录下新建 .env 文件,并在其中填写环境变量:
API_VERSION=2            # API 版本,可不填,默认为 2
API_KEY_V1=your_api_key  # v1 API 密钥
API_KEY_V2=your_api_key  # v2 API 密钥
  1. 请使用 httpx 库进行 API 异步调用
  2. 传入初始化 client 实例化 API 类,并调用对应的 API:
import asyncio
import httpx
from mikuchat.apis import User


async def main():
    async with httpx.AsyncClient() as client:
        """实例化 API 类"""
        user = User(client)
        # 若 API 版本为 v1:
        # user = User(client, version=1)

        """调用 API 方法,需显示传入关键字参数"""
        await user.get_user_info(qq=1234567)

        """获取 API 响应体"""
        user.response: httpx.Response

        """获取 API 二进制返回信息,如返回图片的 API 可通过此属性获取图片二进制内容"""
        user.raw: bytes

        """获取 API 响应是否出错,仅能判断对 API 的调用是否出错,不能判断网络请求本身是否出错"""
        user.error: bool

        """以下值仅在该 API 有 json 格式返回信息时才有意义,否则均为 None 或空字典"""
        """获取 API json 格式返回信息,默认为空字典"""
        user.raw_data: dict

        """获取 API json 格式返回信息中的具体数据,如 get_user_info 返回数据中的 'user' 键对应值,默认为空字典"""
        user.data: dict | list

        """获取 API json 格式返回信息中的响应代码,默认为 None"""
        user.raw_code: int

        """获取 API json 格式返回信息中的响应信息,默认为 None"""
        user.raw_msg: str


if __name__ == "__main__":
    asyncio.run(main())
  1. 使用示例:
"""调用随机选择回声洞中回声信息"""
import asyncio
import httpx
from mikuchat.apis import Cave


async def main():
    async with httpx.AsyncClient() as client:
        cave = Cave(client)
        await cave.get_cave()

    data: dict = cave.data
    qq: int = data["qq"]
    string: str = data["string"]
    time: str = data["time"]


if __name__ == '__main__':
    asyncio.run(main())
"""获取签到图片"""
import asyncio
import httpx
from mikuchat.apis import UserCheck
from mikuchat.models import UserModel


async def main():
    async with httpx.AsyncClient() as client:
        check = UserCheck(client)
        await check.get(qq=1234567, favorability=1, coin=5)

    image_binary: bytes = check.raw


if __name__ == '__main__':
    asyncio.run(main())

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

mikuchatsdk-0.2.0.tar.gz (24.1 kB view details)

Uploaded Source

Built Distribution

If you're not sure about the file name format, learn more about wheel file names.

mikuchatsdk-0.2.0-py3-none-any.whl (16.9 kB view details)

Uploaded Python 3

File details

Details for the file mikuchatsdk-0.2.0.tar.gz.

File metadata

  • Download URL: mikuchatsdk-0.2.0.tar.gz
  • Upload date:
  • Size: 24.1 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: uv/0.10.2 {"installer":{"name":"uv","version":"0.10.2","subcommand":["publish"]},"python":null,"implementation":{"name":null,"version":null},"distro":null,"system":{"name":null,"release":null},"cpu":null,"openssl_version":null,"setuptools_version":null,"rustc_version":null,"ci":null}

File hashes

Hashes for mikuchatsdk-0.2.0.tar.gz
Algorithm Hash digest
SHA256 9c5c199b2ca1924fdbd98b1e47934c887f13047294f2f31c9de2cd75805c7688
MD5 4fd540d893a6d0641dc33abb66ed4a6e
BLAKE2b-256 d198c9a8b520a40db3935ac1dab5a2c6e1f2a26848b5684843df2db625f9685c

See more details on using hashes here.

File details

Details for the file mikuchatsdk-0.2.0-py3-none-any.whl.

File metadata

  • Download URL: mikuchatsdk-0.2.0-py3-none-any.whl
  • Upload date:
  • Size: 16.9 kB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? No
  • Uploaded via: uv/0.10.2 {"installer":{"name":"uv","version":"0.10.2","subcommand":["publish"]},"python":null,"implementation":{"name":null,"version":null},"distro":null,"system":{"name":null,"release":null},"cpu":null,"openssl_version":null,"setuptools_version":null,"rustc_version":null,"ci":null}

File hashes

Hashes for mikuchatsdk-0.2.0-py3-none-any.whl
Algorithm Hash digest
SHA256 35fdc17b73e0911c7ebfa8d731a13126b6790738b3d0e498a33503c7bb0119f6
MD5 7cd85b3c047dbd546262d74ed1cdcc3d
BLAKE2b-256 f0a6475b577bcf8f4583f61576bc004cdff32ef490efd118395dfc5058b5d2d4

See more details on using hashes here.

Supported by

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