Skip to main content

Tsugu Python Frontend

Project description

Chat Tsugu Py tmrn

✨ Python 编写的 TsuguBanGDreamBot 自然语言交互库 ✨

license license license


📦 安装

pip install tsugu --upgrade

API powered by tsugu-api-python

Command matching provided by Alconna


📚 异步支持

  • 4.0.0 后需要异步环境处理。

📖 使用

cmd_generator 是一个异步方法,用于直接处理用户输入的自然语言并返回查询结果:

  • 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("<", "&lt;").replace(">", "&gt;")
                    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

❌ 同步多线程支持

  • 4.0.0 后不再支持同步多线程,因为本人用不到。实现起来很简单,本包在导入时完成了 Alconna 的初始化,避免了多线程 context 错误,因此可以在多线程中使用 tsugu,欢迎有志人士一同完善。

⚙️ api settings

安装 tsugu 后可以直接导入 tsugu_api_coresettings 修改配置项。

from tsugu_api_core import settings

...

tsugu_api settings 详细内容


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-4.1.13.tar.gz (13.5 kB view details)

Uploaded Source

Built Distribution

tsugu-4.1.13-py3-none-any.whl (11.6 kB view details)

Uploaded Python 3

File details

Details for the file tsugu-4.1.13.tar.gz.

File metadata

  • Download URL: tsugu-4.1.13.tar.gz
  • Upload date:
  • Size: 13.5 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/5.1.1 CPython/3.12.6

File hashes

Hashes for tsugu-4.1.13.tar.gz
Algorithm Hash digest
SHA256 4757d6967b25b02379f7b5bd6da2c3f752d25b30a7cd2758bc8294bc227ded9e
MD5 013a48bf384d9fff644c021f12b0c0fb
BLAKE2b-256 87f914ce48717fc963f1f9c42e3e9dc77e2836d05f08ee7c5e465fef4c0735e8

See more details on using hashes here.

File details

Details for the file tsugu-4.1.13-py3-none-any.whl.

File metadata

  • Download URL: tsugu-4.1.13-py3-none-any.whl
  • Upload date:
  • Size: 11.6 kB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/5.1.1 CPython/3.12.6

File hashes

Hashes for tsugu-4.1.13-py3-none-any.whl
Algorithm Hash digest
SHA256 f4f02df7357b199ccbaf2d82d99388ada2a0758fa0194827cf14fd5fd76dcc2b
MD5 aaf147a5376f0e4d452ec8d22260b517
BLAKE2b-256 d0ea5df69217072c039d4e0a187ad74db64b119a39aecf96177306cc2a79a65c

See more details on using hashes here.

Supported by

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