Skip to main content

Red Protocol Adapter for Nonebot2

Project description

NoneBot-Adapter-Red

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

安装

Chronocat

请按照 Chronocat 的指引安装。

目前推荐版本为 v0.0.51

迁移指南

如果你原先为 go-cqhttp 用户,可以参考 迁移指南 来修改你的插件。

首次使用者同样可以参考该指南。

配置

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

Driver

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

如:

DRIVER=~httpx+~websockets
DRIVER=~aiohttp

关于 ForwardDriver ,参考 Driver

RED_AUTO_DETECT

是否自动检测 Chronocat 的配置文件 ~/.chronocat/config/chronocat.yml 并读取内容,默认为 False

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

该配置项需要在 Chronocat 版本 v0.0.46 以上才可用。

使用该配置项时,你需要通过 pip install nonebot-adapter-red[auto_detect] 安装 nonebot-adapter-red

如果你已经配置了 RED_BOTS,则该配置项不会生效。

RED_BOTS

配置机器人帐号,如:

RED_BOTS='
[
  {
    "port": "xxx",
    "token": "xxx",
    "host": "xxx"
  }
]
'

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

在单账号下,

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

而多账号下,

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

旧版 Chronocat

对于旧版的 Chronocat,

  • port 是默认的 16530
  • token 被默认存储在 %AppData%/BetterUniverse/QQNT/RED_PROTOCOL_TOKEN~/BetterUniverse/QQNT/RED_PROTOCOL_TOKEN 中,并保持不变。
  • host 默认为 localhost

功能

支持的事件:

  • 群聊消息、好友消息 (能够接收到来着不同设备的自己的消息)
  • 群名称改动事件
  • 群成员禁言/解除禁言事件
  • 群成员加入事件 (包括旧版受邀请入群)

支持的 api:

  • 发送消息 (文字,at,图片,文件,表情,引用回复)
  • 发送伪造合并转发 (文字,at,图片)
  • 获取自身资料
  • 获取好友、群组、群组内群员资料
  • 获取群公告
  • 禁言/解禁群员
  • 全体禁言
  • 获取历史消息
  • 获取媒体消息的原始数据

完整的 api 文档请参考 API 文档QQNTRedProtocol

示例

from pathlib import Path

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


matcher = on_command("test")

@matcher.handle()
async def handle_receive(bot: Bot, event: MessageEvent):
    if event.is_group:
        await bot.send_group_message(event.scene, MessageSegment.image(Path("path/to/img.jpg")))

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

Uploaded Source

Built Distribution

nonebot_adapter_red-0.9.0-py3-none-any.whl (24.6 kB view details)

Uploaded Python 3

File details

Details for the file nonebot_adapter_red-0.9.0.tar.gz.

File metadata

  • Download URL: nonebot_adapter_red-0.9.0.tar.gz
  • Upload date:
  • Size: 22.8 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? Yes
  • Uploaded via: pdm/2.12.3 CPython/3.10.12

File hashes

Hashes for nonebot_adapter_red-0.9.0.tar.gz
Algorithm Hash digest
SHA256 a657c5ffb071c91deb4109bb94ac8046dcbea5cbb584437995c30ffb2d184954
MD5 1a78e147589a29a0c4ec1a7a206d956e
BLAKE2b-256 c1d581fda183c540aa6dd5444aa720b34d4724e0d962fcbb0535d29fe9d6f5a8

See more details on using hashes here.

File details

Details for the file nonebot_adapter_red-0.9.0-py3-none-any.whl.

File metadata

File hashes

Hashes for nonebot_adapter_red-0.9.0-py3-none-any.whl
Algorithm Hash digest
SHA256 8dd5cd0a5d964faa23823b7c37fa8c64fa3ed8f67fa66515fe44a2708ee438ec
MD5 cf69d24b043350bef4c0698fd52acbe6
BLAKE2b-256 19c6b45001ee2e85352c39e10dacdd74cc8e2c99a5fc41f3dafb3ebc49fe1a61

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