Tsugu Python Frontend
Project description
Chat Tsugu Py
✨ Python 编写的 TsuguBanGDreamBot 自然语言交互库 ✨
📦 安装
pip install tsugu --upgrade
API powered by tsugu-api-python
Command matching provided by Alconna
📚 异步支持
- 4.0.0 后需要异步环境处理。
📖 使用
cmd_generator
是一个异步方法,用于直接处理用户输入的自然语言并返回查询结果:
- 测试可用
import tsugu
import asyncio
print(asyncio.run(tsugu.cmd_generator('查活动', '114514')))
# 输出:[{'type': 'string', 'string': '参数 word 丢失\n查活动 <...word> \n根据活动名、乐队、活动ID等查询活动信息\n使用示例:\n查活动 绿 tsugu :返回所有属性加成为pure,且活动加成角色中包括羽泽鸫的活动列表\n查活动 177 :返回177号活动的信息'}]
- 生产实操:以
satori-python
+chronocat
为例
from tsugu import cmd_generator
@app.register_on(EventType.MESSAGE_CREATED)
async def on_message_(account: Account, event: Event):
async def send_active_message(messages: dict):
message = messages.get('message', None)
if message:
await account.send(event, E.quote(event.message.id).dumps() + message)
if msg := cmd_select(event, prefix=['.']):
rpl = await cmd_generator(message=msg, user_id=event.user.id,platform='red', message_id=event.message.id, active_send_func=send_active_message)
if not rpl:
pass
else:
modified_results = []
for item in rpl:
if item['type'] == 'string':
# 处理字符串类型的结果,可能是文本消息
text_message = item['string'].replace("<", "<").replace(">", ">")
modified_results.append(text_message)
elif item['type'] == 'base64':
# 处理Base64编码的图像数据
base64_data = item['string']
# 将Base64数据包裹在^IMG=xxx^中并添加到文本中
image_tag = f'<img src="data:image/png;base64,{base64_data}"/>'
modified_results.append(image_tag)
result_string = ''.join(modified_results)
await account.send(event, E.quote(event.message.id).dumps() + result_string)
在常用的qqbot中,群号就是
channel_id
。
当你使用QQ号作为user_id
时,platform
默认red
。
✏️ 环境变量
Chat Tsugu Py 使用读取环境变量的方式改变一些配置
# 命令头后是否必须更上完整的空格才能匹配,例如 `查卡947` 与 `查卡 947` 。(默认值:false)
export TSUGU_COMPACT='false'
# 设置请求超时时间(默认值:120秒)
export TSUGU_TIMEOUT=120
# 设置代理地址(默认值:空字符串)
export TSUGU_PROXY=''
# 设置后端地址(默认值:http://tsugubot.com:8080)
export TSUGU_BACKEND_URL='http://tsugubot.com:8080'
# 设置是否使用后端代理(默认值:true)
export TSUGU_BACKEND_PROXY='true'
# 设置用户数据后端地址(默认值:http://tsugubot.com:8080)
export TSUGU_USERDATA_BACKEND_URL='http://tsugubot.com:8080'
# 设置是否使用用户数据后端代理(默认值:true)
export TSUGU_USERDATA_BACKEND_PROXY='true'
# 设置是否使用简易背景(默认值:true)
export TSUGU_USE_EASY_BG='true'
# 设置是否压缩返回数据(默认值:true)
export TSUGU_COMPRESS='true'
🤖 特性
-
为改善用户体验,本包与
koishi 插件
在部分行为上略有不同。- BOT 玩家状态绑定/解绑策略自验证策略
- 基于
Alconna
的真 “可选参数” 。
-
为了适应官方 BOT 的特性,本包提供了隐式一些非通用方法。
- 当解除绑定用户数据库返回特定值时会被认定为安全模式,触发直接解除绑定操作。
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
tsugu-5.0.0.tar.gz
(14.9 kB
view details)
Built Distribution
tsugu-5.0.0-py3-none-any.whl
(13.2 kB
view details)
File details
Details for the file tsugu-5.0.0.tar.gz
.
File metadata
- Download URL: tsugu-5.0.0.tar.gz
- Upload date:
- Size: 14.9 kB
- Tags: Source
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/5.1.1 CPython/3.12.7
File hashes
Algorithm | Hash digest | |
---|---|---|
SHA256 | 38bc395c856c13be8e6cd9c89eec216d6a5cd7c3e65fe87d873a5fba4bde024a |
|
MD5 | ed88bac7d86ba275edb57b38129449f7 |
|
BLAKE2b-256 | 7abe6d51ca8cac0f4e7bdc7223ee6aa5b175e437da34920eaf463bbc4c32328b |
File details
Details for the file tsugu-5.0.0-py3-none-any.whl
.
File metadata
- Download URL: tsugu-5.0.0-py3-none-any.whl
- Upload date:
- Size: 13.2 kB
- Tags: Python 3
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/5.1.1 CPython/3.12.7
File hashes
Algorithm | Hash digest | |
---|---|---|
SHA256 | aa4912b18880e644ad36b7817a5a335f8f50a50e2cd55c3e8c729d4499b179ad |
|
MD5 | fceb850e12ef4e4ada58f46876c793bd |
|
BLAKE2b-256 | 8b913eea7fa8766cc221f056ee19a07e7ee8ff6984b58c88456e7efb2bc67159 |