Metadata-Version: 2.1
Name: arclet-entari
Version: 0.3.2
Summary: Simple IM Framework based on satori-python
Author-Email: RF-Tar-Railt <rf_tar_railt@qq.com>
License: MIT
Classifier: Programming Language :: Python :: 3.9
Classifier: Programming Language :: Python :: 3.10
Classifier: Programming Language :: Python :: 3.11
Classifier: Programming Language :: Python :: 3.12
Classifier: Operating System :: OS Independent
Requires-Python: >=3.9
Requires-Dist: arclet-letoderea>=0.9.2
Requires-Dist: arclet-alconna>=1.8.11
Requires-Dist: satori-python-core>=0.11.5
Requires-Dist: satori-python-client>=0.11.5
Requires-Dist: arclet-alconna-tools>=0.7.3
Requires-Dist: pygtrie>=2.5.0
Description-Content-Type: text/markdown

<div align="center"> 
  
# Entari

  > _lo su etheclim, ti zo entaem rish._
  
</div>

[![Licence](https://img.shields.io/github/license/ArcletProject/Entari)](https://github.com/ArcletProject/Entari/blob/main/LICENSE)
[![PyPI](https://img.shields.io/pypi/v/arclet-entari)](https://pypi.org/project/arclet-entari)
[![PyPI - Python Version](https://img.shields.io/pypi/pyversions/arclet-entari)](https://www.python.org/)
![Entari](https://img.shields.io/badge/Arclet-Entari-2564c2.svg)

一个基于 `Satori` 协议的简易 IM framework

## 示例

```python
from arclet.entari import ContextSession, Entari, EntariCommands, WebsocketsInfo

command = EntariCommands()


@command.on("add {a} {b}")
async def add(a: int, b: int, session: ContextSession):
    await session.send_message(f"{a + b =}")


app = Entari()
app.apply(WebsocketsInfo(port=5500, token="XXX"))

app.run()

```