Skip to main content

自动Bot选择器,消息推送好帮手

Project description

nonebot-plugin-auto-bot-selector

使用

from nonebot import on_message
from nonebot.exception import ActionFailed
from nonebot_plugin_alconna.uniseg import Target, UniMessage
from nonebot_plugin_auto_bot_selector import get_bots
from nonebot_plugin_auto_bot_selector.expection import NoBotFoundError
from nonebot_plugin_auto_bot_selector.target import PlatformTarget, TargetQQGroup
from nonebot_plugin_auto_bot_selector.utils.alconna import create_target, extract_target

foo = on_message()


@foo.handle()
async def _recive_target(alc_target: Target):
    # 使用 alconna 提取目标
    abs_target = extract_target(alc_target)
    # 手动创建目标
    qq_group = TargetQQGroup(group_id=123456)
    # do something
    await foo.finish(f"用户 {abs_target} 已保存")


async def _send_msg_to_target(abs_target: PlatformTarget, msg: UniMessage):
    alc_target = create_target(abs_target)
    try:
        bots = get_bots(abs_target)
    except NoBotFoundError:
        return "没有可用的推送 Bot"

    for bot in get_bots(abs_target):
        try:
            await msg.send(target=alc_target, bot=bot)
            return "发送成功"
        except ActionFailed:
            # 发送失败
            continue
    else:
        return "全部推送 Bot 发送失败"

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

Built Distribution

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