nonebot / plugin-alconna

强大的 Nonebot2 命令匹配拓展,支持富文本/多媒体解析,跨平台消息收发
https://nonebot.dev/docs/next/best-practice/alconna
MIT License
87 stars 10 forks source link

nonebot

# NoneBot Plugin Alconna _✨ Alconna Usage For NoneBot2 ✨_ _✨ All Receive in One, And One Send All ✨_

license pypi python

该插件提供了 AlconnaNoneBot2 适配版本与工具

特性

讨论

QQ 交流群: 链接

使用方法

NoneBot 文档: 📖这里 仓库内介绍: 📦这里

跨平台消息

from nonebot import get_driver
from nonebot_plugin_alconna import Target, UniMessage, SupportScope, on_alconna

driver = get_driver()
test = on_alconna("test")

@test.handle()
async def handle_test():
    r = await UniMessage.image(path="path/to/img").send()
    if r.recallable:
        await r.reply("图片已发送,10秒后撤回")
        await r.recall(delay=10, index=0)

@test.got("foo", prompt=UniMessage.template("{:Reply($message_id)}请输入图片"))
async def handle_foo():
    await test.send("图片已收到")

@driver.on_startup
async def _():
    await Target.group("123456789", SupportScope.qq_client).send(UniMessage.image(path="test.png"))

支持情况

支持的适配器

协议名称 路径
OneBot 协议 adapters.onebot11, adapters.onebot12
Telegram adapters.telegram
飞书 adapters.feishu
GitHub adapters.github
QQ bot adapters.qq
钉钉 adapters.ding
Console adapters.console
开黑啦 adapters.kook
Mirai adapters.mirai
Ntchat adapters.ntchat
MineCraft adapters.minecraft
Walle-Q adapters.onebot12
Discord adapters.discord
Red 协议 adapters.red
Satori adapters.satori
Dodo IM adapters.dodo
Kritor adapters.kritor
Tailchat adapters.tailchat

支持的消息元素

[!WARNING] 斜体的协议名称意味着其协议或其适配器长时间未维护或已失效

元素\适配器 OneBot V11 OneBot V12 Telegram 飞书 Github QQ-API 钉钉 Console 开黑啦 Mirai Ntchat MineCraft Discord Red Satori Dodo IM Kritor Tailchat
文本 Text
样式文本 Styled Text 🚫 🚫 🚫 🚫 🚫 🚫 🚫 🚫 🚫
提及用户 At(user) ⬆️ 🚫 🚫
提及角色 At(role) 🚫 🚫 🚫 🚫 🚫 🚫 🚫 🚫 🚫 🚫 🚫 🚫 🚫 🚫
提及频道 At(channel) 🚫 🚫 🚫 🚫 🚫 🚫 🚫 🚫 🚫 🚫 🚫 🚫
提交全体 AtAll 🚫 🚫 🚫 🚫 🚫 🚫
表情 Emoji 🚫 🚫 🚫 🚫 🚫 🚫 🚫 🚫
图片 Image ⬆️ 🚫
音频 Audio ⬆️ 🚫 🚫 🚫 ⬆️ ⬇️ 🚫 ⬆️ ⬆️ 🚫 ⬆️ 🚫
语音 Voice ⬆️ 🚫 ⬆️ 🚫 🚫 ⬆️ ⬇️ 🚫 ⬆️ ⬆️ 🚫 🚫
视频 Video 🚫 🚫 🚫 🚫 ⬆️ 🚫
文件 File ⬇️ 🚫 🚫 🚫 🚫 ⬆️ ⬇️ ⬇️
回复 Reply 🚫 🚫 🚫 🚫
引用转发 Reference 🚫 🚫 🚫 🚫 🚫 🚫 🚫 🚫 🚫 🚫 🚫 🚫 🚫
超级消息 Hyper 🚫 🚫 ⬇️ 🚫 🚫 🚫 🚫 🚫 🚫 🚫 🚫
按钮 Button 🚫 🚫 ⬆️ 🚫 🚫 🚫 🚫 🚫 🚫 🚫 ⬆️ 🚫 🚫 🚫
其余 Other

配置项

插件示例

demo bot

# echo 插件
from nonebot_plugin_alconna import UniMessage, Command

@Command("echo <...content>").build(auto_send_output=True).handle()
async def _(content: UniMessage):
    await content.finish()