Exemplo n.º 1
0
loop = bcc.loop

channel.name("GenshinResourcePoints")
channel.author("SAGIRI-kawaii")
channel.description(
    "一个获取原神资源的插件\n"
    "在群中发送 `{resource_name} 在哪里? | 哪里?有 {resource_name}` 即可查看资源地图\n"
    "在群中发送 `原神资源列表` 即可查看资源列表")


@channel.use(
    ListenerSchema(listening_events=[GroupMessage],
                   inline_dispatchers=[
                       Twilight([
                           FullMatch("原神"),
                           RegexMatch(r"哪里?有", optional=True),
                           RegexMatch(r"[^\s]+") @ "resource_name",
                           RegexMatch(r"在哪里?")
                       ])
                   ],
                   decorators=[
                       FrequencyLimit.require("genshin_resource_points", 4),
                       Function.require(channel.module),
                       BlackListControl.enable(),
                       UserCalledCountControl.add(
                           UserCalledCountControl.FUNCTIONS)
                   ]))
async def genshin_resource_points(app: Ariadne, message: MessageChain,
                                  group: Group, resource_name: RegexResult):
    resource_name = resource_name.result.asDisplay().strip()
    if check_resource_exists(resource_name):
        await get_resource_list()
Exemplo n.º 2
0
from sagiri_bot.control import FrequencyLimit, Function, BlackListControl, UserCalledCountControl

saya = Saya.current()
channel = Channel.current()

channel.name("DDCheck")
channel.author("SAGIRI-kawaii")
channel.description("一个查成分的插件")

config = AppCore.get_core_instance().get_config()


@channel.use(
    ListenerSchema(
        listening_events=[GroupMessage],
        inline_dispatchers=[Twilight([FullMatch("/查成分"), WildcardMatch() @ "username"])],
        decorators=[
            FrequencyLimit.require("dd_check", 2),
            Function.require(channel.module),
            BlackListControl.enable(),
            UserCalledCountControl.add(UserCalledCountControl.SEARCH)
        ]
    )
)
async def dd_check(app: Ariadne, group: Group, message: MessageChain, username: RegexResult):
    if not username.result.asDisplay().strip():
        return await app.sendGroupMessage(group, MessageChain("空白名怎么查啊kora!"), quote=message.getFirst(Source))
    res = await get_reply(username.result.asDisplay().strip())
    await app.sendGroupMessage(
        group,
        MessageChain(res if isinstance(res, str) else [Image(data_bytes=res)]),
Exemplo n.º 3
0
channel.name("EmojiMix")
channel.author("SAGIRI-kawaii")
channel.author("from: MeetWq")
channel.description("一个生成emoji融合图的插件,发送 '{emoji1}+{emoji2}' 即可")

EmojiData = Tuple[List[int], str, str]
API = 'https://www.gstatic.com/android/keyboard/emojikitchen/'
proxy = AppCore.get_core_instance().get_config().proxy


@channel.use(
    ListenerSchema(listening_events=[GroupMessage],
                   inline_dispatchers=[
                       Twilight([
                           RegexMatch(u"[\u200d-\U0001fab5]") @ "emoji1",
                           FullMatch("+"),
                           RegexMatch(u"[\u200d-\U0001fab5]") @ "emoji2"
                       ])
                   ],
                   decorators=[
                       FrequencyLimit.require("emoji_mix", 2),
                       Function.require(channel.module),
                       BlackListControl.enable(),
                       UserCalledCountControl.add(
                           UserCalledCountControl.FUNCTIONS)
                   ]))
async def emoji_mix(app: Ariadne, message: MessageChain, group: Group,
                    emoji1: RegexResult, emoji2: RegexResult):
    emoji1 = emoji1.result.asDisplay()
    emoji2 = emoji2.result.asDisplay()
    result = await mix_emoji(emoji1, emoji2)