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

This version

4.1.7

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

Uploaded Source

Built Distribution

tsugu-4.1.7-py3-none-any.whl (11.3 kB view details)

Uploaded Python 3

File details

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

File metadata

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

File hashes

Hashes for tsugu-4.1.7.tar.gz
Algorithm Hash digest
SHA256 d79afbb7fb8538987579b5b8a4ea66eed4ca01546160e5bacf44d1ebf87aa012
MD5 8597a5331b4c6be54e6d76d4de6d1c55
BLAKE2b-256 ed79a7671ac6cd033b43f04f3fb8c7c7ee385b12e91fb4c458debd6cb3a62594

See more details on using hashes here.

File details

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

File metadata

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

File hashes

Hashes for tsugu-4.1.7-py3-none-any.whl
Algorithm Hash digest
SHA256 ea0dec4d9cdd76c9cf6211a36fb461cd9ee500ab2c132b09dc5d54a416ef86be
MD5 11746f18f12f7bebda76ce70ff46802a
BLAKE2b-256 7d764d86f814b4ce595d70db9806c85b1f0b7b160aac95d31658d638f8f348a6

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