一个基于 Satori
协议的简易 IM framework
复读:
from arclet.entari import Session, Entari, WS
app = Entari(WS(host="127.0.0.1", port=5140, path="satori"))
@app.on_message()
async def repeat(session: Session):
await session.send(session.content)
app.run()
指令 add {a} {b}
:
from arclet.entari import Session, Entari, WS, command
@command.on("add {a} {b}")
async def add(a: int, b: int, session: Session):
await session.send(f"{a + b = }")
app = Entari(WS(port=5500, token="XXX"))
app.run()
编写插件:
from arclet.entari import Session, MessageCreatedEvent, Plugin
Plugin.current().meta(
name="Hello, World!",
author=["Arclet"],
version="0.1.0",
description="A simple plugin that replies 'Hello, World!' to every message."
)
# or __plugin_metadata__ = PluginMetadata(...)
@MessageCreatedEvent.dispatch()
async def _(session: Session):
await session.send("Hello, World!")