Satori Protocol SDK for python
Project description
satori-python
基于 Satori 协议的 Python 开发工具包
协议介绍
协议端
目前提供了 satori 协议实现的有:
使用该 SDK 的框架
安装
安装完整体:
pip install satori-python
只安装基础部分:
pip install satori-python-core
只安装客户端部分:
pip install satori-python-client
只安装服务端部分:
pip install satori-python-server
官方适配器
| 适配器 | 安装 | 路径 |
|---|---|---|
| Satori | pip install satori-python-adapter-satori |
satori.adapters.satori |
| OneBot V11 | pip install satori-python-adapter-onebot11 |
satori.adapters.onebot11.forward, satori.adapters.onebot11.reverse |
| Console | pip install satori-python-adapter-console |
satori.adapters.console |
| Milky | pip install satori-python-adapter-milky |
satori.adapters.milky.main, satori.adapters.milky.webhook, satori.adapters.milky.sse |
pip install satori-python-adapter-qq |
satori.adapters.qq.main, satori.adapters.qq.websocket |
社区适配器
| 适配器 | 安装 | 路径 |
|---|---|---|
| nekobox(Lagrange) | pip install nekobox |
nekobox.main |
使用
客户端:
from satori import EventType
from satori.event import MessageEvent
from satori.client import Account, App, WebsocketsInfo
app = App(WebsocketsInfo(port=5140))
@app.register_on(EventType.MESSAGE_CREATED)
async def on_message(account: Account, event: MessageEvent):
if event.user.id == "xxxxxxxxxxx":
await account.send(event, "Hello, World!")
app.run()
服务端:
from satori import Api
from satori.server import Server
server = Server(port=5140)
@server.route(Api.MESSAGE_CREATE)
async def on_message_create(*args, **kwargs):
return [{"id": "1234", "content": "example"}]
server.run()
文档
请阅读 仓库文档
示例
- 客户端:client.py
- 服务端:server.py
- 服务端(使用适配器):server_with_adapter.py
- 客户端(webhook):client_webhook
- 服务端(webhook):server_webhook
- 适配器:adapter.py
架构
graph LR
subgraph Server
server -- run --> asgi
server -- register --> router -- mount --> asgi
server -- apply --> provider -- mount --> asgi
provider -- event,logins --> server
end
subgraph Client
config -- apply --> app -- run --> network
app -- register --> listener
network -- account,event --> listener
listener -- handle --> account -- session --> api
end
api -- request --> asgi -- response --> api
server -- raw-event --> asgi -- websocket/webhook --> network
Project details
Release history Release notifications | RSS feed
Download files
Download the file for your platform. If you're not sure which to choose, learn more about installing packages.
Source Distribution
satori_python-1.3.6.tar.gz
(47.2 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
File details
Details for the file satori_python-1.3.6.tar.gz.
File metadata
- Download URL: satori_python-1.3.6.tar.gz
- Upload date:
- Size: 47.2 kB
- Tags: Source
- Uploaded using Trusted Publishing? Yes
- Uploaded via: pdm/2.28.0 CPython/3.12.3 Linux/6.17.0-1018-azure
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
5fb35540adcf740e78daf17fc9b440bbbb125bd0719b9e15a3b66ca25f0ced17
|
|
| MD5 |
6fd2324ca4559ccd373172b5e04f72b1
|
|
| BLAKE2b-256 |
a26bf4630d4822931d5ffa780350d30f08a7bca6ddfc682ee28d2a946f9752fd
|
File details
Details for the file satori_python-1.3.6-py3-none-any.whl.
File metadata
- Download URL: satori_python-1.3.6-py3-none-any.whl
- Upload date:
- Size: 54.5 kB
- Tags: Python 3
- Uploaded using Trusted Publishing? Yes
- Uploaded via: pdm/2.28.0 CPython/3.12.3 Linux/6.17.0-1018-azure
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
af5977fb99b4b928979c16ce179be0d5fc98f8ba7757a4a7921a677b80745cf3
|
|
| MD5 |
f28f91f087ddd487227b13a24f6cc44d
|
|
| BLAKE2b-256 |
cdd4636cdcc37df3d2dd4f86390ed85bf601462a6b31730833ce2a0f2b00ab19
|