Skip to main content

适用于 NoneBot2 插件的被动消息构造集成

Project description

nonebot-plugin-msgbuf

✨ 适用于 NoneBot2 插件的被动消息构造集成 ✨

代码比 SAASegBuilder 好看(不是)

license PyPI - Downloads pypi pypi python

介绍

nonebot-plugin-msgbuf 是帮助开发者快速构造与发送跨平台消息结构的应用的工具。相较于 SAASegBuilder,本插件在开发中结构更为清晰优雅。

适配器支持状态

符号 含义
完全支持
🟨 部分支持,需要用户额外分平台处理
不支持,发送时自动转化为后备文本
适配器 纯文本 图片 提及(@) 回复 表情 语音 视频 文件 分享 地理位置
OneBot V11 🟨 🟨 🟨
OneBot V11 (Go-CQHTTP 拓展) 🟨 🟨 🟨
OneBot V12 🟨 🟨
QQ 频道 🟨 🟨 🟨
Telegram 🟨 🟨 🟨
未写明的

安装

通过 nb-cli:

nb plugin install nonebot-plugin-msgbuf

使用

竞品对比

这是常规的消息构造与发送方法:

展开
from nonebot import on_message
from nonebot.adapters.onebot.v11 import MessageSegment
from pathlib import Path

ma = on_message()

@ma.handle()
async def test():
    await ma.send(MessageSegment.image(Path("image.png")) + "Hello world!")

这是 SAA 的消息构造与发送方法:

展开
from nonebot import on_message, require
from pathlib import Path

require("nonebot_plugin_saa")

from nonebot_plugin_saa import MessageFactory, Text, Image

ma = on_message()

@ma.handle()
async def test():
    await MessageFactory([Image(Path("image.png")), Text("Hello world!")]).send()

这是 SegBuilder 的消息构造与发送方法:

展开
from nonebot import on_message, require
from pathlib import Path

require("nonebot_plugin_segbuilder")

from nonebot_plugin_segbuilder import SegmentBuilder

ma = on_message()

@ma.handle()
async def test():
    await ma.send(SegmentBuilder.image(Path("image.png")) + "Hello world!")

这是 MsgBuf 的消息构造与发送方法:

from nonebot import on_message, require
from pathlib import Path

require("nonebot_plugin_msgbuf")

from nonebot_plugin_msgbuf import MsgBuf

ma = on_message()

@ma.handle()
async def test():
    async with MsgBuf() as mb:
        mb.image(Path("image.png"))
        mb.text("Hello world!")
@ma.handle()
async def test():
    async with MsgBuf() as mb:
        mb.image(Path("image.png")).text("Hello world!")
from nonebot_plugin_msgbuf import Image, Text

@ma.handle()
async def test():
    async with MsgBuf() as mb:
        mb << Image(Path("image.png")) << Text("Hello world!")
@ma.handle()
async def test():
    await MsgBuf().image(Path("image.png")).text("Hello world!").send()

使用 Go-CQHTTP 拓展

发送文件

from nonebot_plugin_msgbuf import Specs
from pathlib import Path

@ma.handle()
async def test():
    async with MsgBuf(specs=Specs.OB11_GOCQHTTP) as mb:
        mb.file(Path("image.png"))

发送合并转发

from nonebot.adapters.onebot.v11 import Bot
from nonebot_plugin_msgbuf import FwdBuf

@ma.handle()
async def test(bot: Bot):
    async with FwdBuf(bot, ("group", 114514)) as fb:
        async with fb.node(1919810, "homo") as n:
            n.text("114514")
            n.image("file://homo.jpg")
        async with fb.node(1919810, "homo") as n:
            async with n.node(1919810, "homo") as n1:
                n1.text("homo")
            async with n.node(1919810, "homo") as n1:
                n1.text("1919810")

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-plugin-msgbuf-0.4.1.tar.gz (12.9 kB view hashes)

Uploaded Source

Built Distribution

nonebot_plugin_msgbuf-0.4.1-py3-none-any.whl (13.7 kB view hashes)

Uploaded Python 3

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