Skip to main content

Nonebot Adapter for Kritor Protocol

Project description

NoneBot-Adapter-Kritor

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

[!NOTE] Kritor 项目目前处于开发阶段, 所定义的 proto api 可能会有较大变动

若出现异常情况请确定本仓库使用的 kritor api 与所对接的协议端使用的 kritor api 是否相同

协议介绍

Kritor Protocol

协议端

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

配置

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

Driver

因本适配器基于 gRPC,Nonebot 没有现有的相关驱动器,所以驱动请直接写 none:

DRIVER=~none

KRITOR_CLIENTS

配置机器人帐号,如:

KRITOR_CLIENTS='
[
  {
    "host": "xxx",
    "port": xxx,
    "account": "xxx",
    "ticket": "xxx"
  }
]
'
KRITOR_SKIP_AUTH=false

其中,

  • host: 服务端的地址,默认为 localhost
  • port: 服务端的端口
  • account: bot 登录的账号
  • ticket: bot 登录用的凭证/密码
  • KRITOR_SKIP_AUTH: 若协议端未启用鉴权功能,则启用此配置项。此时 ticket 留空即可。

以对接 Lagrange.Kritor 为例

首先按照 Lagrange.Kritor 的 README 进行配置。进行下一步前你应当已经创建好了 appsettings.json:

// appsettings.json
{
    "Logging": {
        "LogLevel": {
            // Log level, please modify to `Trace` when providing feedback on issues
            "Default": "Information"
        }
    },
    "Core": {
        "Protocol": {
            // Protocol platform, please modify according to the Signer version
            // Type: String ("Windows", "MacOs", "Linux")
            // Default: "Linux"
            "Platform": "Linux",
            "Signer": {
                // Signer server url
                // Type: String (HTTP URL, HTTPS URL)
                "Url": "",
                // Signer server proxy
                // Type: String (HTTP URL)
                "Proxy": ""
            }
        },
        "Server": {
            // Whether to automatically reconnect to the TX server
            // Type: bool
            // Default: false
            "AutoReconnect": true,
            // Whether to get optimum server
            // Type: bool
            // Default: false
            "GetOptimumServer": true
        }
    },
    "Kritor": {
        "Network": {
            // Address of the Kritor service binding
            // Type: String (ip)
            "Address": "0.0.0.0",
            // Port of the Kritor service binding
            // Type: Number ([1-65535])
            "Port": 9000
        },
        "Authentication": {
            // Whether to enable authentication
            // Type: bool
            "Enabled": false,
            // Ticket with maximum privileges
            // Type: String
            "SuperTicket": "",
            // Ticket list
            // Type: String[]
            "Tickets": []
        },
        "Message": {
            // Whether to ignore your own messages
            // Type: bool
            "IgnoreSelf": false
        }
    }
}

对于配置项:

  • hostKritor.Network.Address 一致
  • portKritor.Network.Port 一致
  • Kritor.Authentication.Enabled 为 true, 则 ticket 应存在于 .SuperTicket.Tickets
  • account 为你登录的账号

克隆

因为该仓库包含一个 submodule, 请使用以下命令克隆本仓库:

git clone --recursive https://github.com/nonebot/adapter-kritor.git

示例

from nonebot import on_command
from nonebot.adapters.kritor import Bot
from nonebot.adapters.kritor.message import MessageSegment
from nonebot.adapters.kritor.permission import PRIVATE


matcher = on_command("test", permission=PRIVATE)

@matcher.handle()
async def handle_receive(bot: Bot):
    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_kritor-0.3.2.tar.gz (44.7 kB view details)

Uploaded Source

Built Distribution

nonebot_adapter_kritor-0.3.2-py3-none-any.whl (57.3 kB view details)

Uploaded Python 3

File details

Details for the file nonebot_adapter_kritor-0.3.2.tar.gz.

File metadata

  • Download URL: nonebot_adapter_kritor-0.3.2.tar.gz
  • Upload date:
  • Size: 44.7 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_kritor-0.3.2.tar.gz
Algorithm Hash digest
SHA256 782247d7b8434bee9dab0d300786922ecb6f78e52bd2fe0c0681e01131fd25a9
MD5 b7b20e3137edc630975d0dbd79851054
BLAKE2b-256 222f36edde5b07381190836fcf184625d0bc553465a98b8754fd4fd6f0d8ae35

See more details on using hashes here.

File details

Details for the file nonebot_adapter_kritor-0.3.2-py3-none-any.whl.

File metadata

File hashes

Hashes for nonebot_adapter_kritor-0.3.2-py3-none-any.whl
Algorithm Hash digest
SHA256 f43a33317254e779eb27e2324900882a81bf9cb7eb6058e3d808ead716df8edc
MD5 83eff7b84e4719eb65b0f749b5453ca1
BLAKE2b-256 44e1713053d91468afd16d230fc24a25cfb62719a06ce20ff0ad85c7565d5a2b

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