Skip to main content

Satori Protocol Adapter for Nonebot2

Project description

NoneBot-Adapter-Satori

✨ NoneBot2 Satori Protocol适配器 / Satori Protocol Adapter for NoneBot2 ✨

协议介绍

Satori Protocol

协议端

目前提供了 satori 协议实现的有:

  • Chronocat
  • nekobox
  • Koishi (搭配 @koishijs/plugin-server, 其余内容请自行阅读 koishi 文档)

配置

修改 NoneBot 配置文件 .env 或者 .env.*

Driver

参考 driver 配置项,添加 HTTPClientWebSocketClient 支持。

如:

DRIVER=~httpx+~websockets

DRIVER=~aiohttp

SATORI_CLIENTS

配置连接配置,如:

SATORI_CLIENTS='
[
  {
    "host": "localhost",
    "port": "5500",
    "path": "",
    "token": "xxx"
  }
]
'

hostport 为 Satori 服务端的监听地址与端口,

path 为 Satori 服务端自定义的监听路径,如 "/satori",默认为 ""

token 由 Satori 服务端决定是否需要 (例如,对接 Chronocat 就需要此项)。

以对接 Chronocat 为例

你需要从 Chronocat 的配置文件 ~/.chronocat/config/chronocat.yml 中获取 porttokenhost

在单账号下,

  • host 与配置文件下的 servers[X].listen 一致
  • port 与配置文件下的 servers[X].port 一致
  • token 与配置文件下的 servers[X].token 一致
# ~/.chronocat/config/chronocat.yml
servers:
  - type: satori
    # Chronocat 已经自动生成了随机 token。要妥善保存哦!
    # 客户端使用服务时需要提供这个 token!
    token: DEFINE_CHRONO_TOKEN  # token
    # Chronocat 开启 satori 服务的端口,默认为 5500。
    port: 5500  # port
    # 服务器监听的地址。 如果你不知道这是什么,那么不填此项即可!
    listen: localhost  # host

而多账号下,

  • host 与配置文件下下的 overrides[QQ].servers[X].listen 一致
  • port 与配置文件下下的 overrides[QQ].servers[X].port 一致,并且一个 QQ 只能对应一个 port
  • token 与配置文件下下的 overrides[QQ].servers[X].token 一致
# ~/.chronocat/config/chronocat.yml
overrides:
  1234567890:
    servers:
      - type: satori
        # Chronocat 已经自动生成了随机 token。要妥善保存哦!
        # 客户端使用服务时需要提供这个 token!
        token: DEFINE_CHRONO_TOKEN  # token
        # Chronocat 开启 satori 服务的端口,默认为 5500。
        port: 5501  # port
        # 服务器监听的地址。 如果你不知道这是什么,那么不填此项即可!
        listen: localhost

配置文件详细内容请参考 Chronocat/config

以对接 nekobox 为例

你可以通过 nekobox show 命令来获取当前的配置信息。

$ nekobox show xxxxxx
SignUrl:        xxxxxxxxxxxxx
协议类型:       linux
验证 token:     *************
服务器绑定地址: 127.0.0.1
服务器绑定端口: 7788
服务器部署路径: neko
默认日志等级:   INFO

此时

  • host服务器绑定地址 一致
  • port服务器绑定端口 一致
  • path服务器部署路径 一致
  • token验证 token 一致

示例

from nonebot import on_command
from nonebot.adapters.satori import Bot
from nonebot.adapters.satori.event import MessageEvent
from nonebot.adapters.satori.message import MessageSegment


matcher = on_command("test")

@matcher.handle()
async def handle_receive(bot: Bot, event: MessageEvent):
    if event.is_private:
        await bot.send(event, MessageSegment.text("Hello, world!"))

Project details


Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

nonebot_adapter_satori-0.13.0rc3.tar.gz (29.6 kB view details)

Uploaded Source

Built Distribution

File details

Details for the file nonebot_adapter_satori-0.13.0rc3.tar.gz.

File metadata

  • Download URL: nonebot_adapter_satori-0.13.0rc3.tar.gz
  • Upload date:
  • Size: 29.6 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? Yes
  • Uploaded via: pdm/2.19.1 CPython/3.10.12 Linux/6.8.0-1014-azure

File hashes

Hashes for nonebot_adapter_satori-0.13.0rc3.tar.gz
Algorithm Hash digest
SHA256 176e67e625a85314e94f6d674cb7461bd440be6a539fd7365fe2b19d03ec02bf
MD5 3878f5fcc43504715fb4c0400e24e06e
BLAKE2b-256 f63a0634681aa87616c0544cc53ff2af4b64dd3a83beb26b404b1160339f8c6b

See more details on using hashes here.

File details

Details for the file nonebot_adapter_satori-0.13.0rc3-py3-none-any.whl.

File metadata

File hashes

Hashes for nonebot_adapter_satori-0.13.0rc3-py3-none-any.whl
Algorithm Hash digest
SHA256 837f0a08111dc557cb9d621c15b3b75f72edb1ddbbddd04b24f30aefa00ca11c
MD5 3dc2cd524498ae5febcb49d17d89f63a
BLAKE2b-256 ec398fc9847857793efce035eba1b1b0204375145836c8311e9dcf5d5c7a7080

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