コード例 #1
0
async def RDL(bot: Bot, event: Event):
    args = str(event.get_message()).split()
    if isinstance(event, MessageEvent):
        if args:
            if args[0] == 'random':
                await Random_Gal.send('Senrin折寿中......')
                async with AsyncClient() as Client:
                    mg = await get_random_game(Client=Client, event=event)
                await Random_Gal.finish(Message(mg))
            elif args[0] == 'tag':
                try:
                    tag = args[1]
                except:
                    await Random_Gal.finish(
                        Message(
                            f"[CQ:at,qq={event.user_id}]传入了不正确的参数......\n然后指令坏掉了,Senrin处理了个寂寞"
                        ))
                else:
                    await Random_Gal.send('Senrin折寿中......')
                    async with AsyncClient() as Client:
                        mg = await get_tag_game(Client=Client,
                                                tag=tag,
                                                event=event)
                    await Random_Gal.finish(Message(mg))
            else:
                await Random_Gal.finish(
                    Message(
                        f"[CQ:at,qq={event.user_id}]传入了不正确的参数......\n然后指令坏掉了,Senrin处理了个寂寞"
                    ))
        else:
            await Random_Gal.finish(
                Message(
                    f"[CQ:at,qq={event.user_id}]传入了不正确的参数......\n然后指令坏掉了,Senrin处理了个寂寞"
                ))
コード例 #2
0
async def _ban_menbers(bot: Bot, event: GroupBanNoticeEvent):
    if event.duration:
        msg = Message('欸?好像有人被塞上了口球呢......\n'
                      f'对象:[CQ:at,qq={str(event.user_id)}]\n'
                      f'时长:{str(event.duration)}s')
        await ban_members.finish(msg)
    else:
        msg = Message('好耶!口球被取下来咯~~~\n' f'对象:[CQ:at,qq={str(event.user_id)}]')
        await ban_members.finish(msg)
コード例 #3
0
async def _Reply_SearchPic(bot: Bot, event: Event):
    send_except_msg = (Message(
        f"[CQ:at,qq={event.get_user_id()}]你确定你给我的是一张图片?\n"
        "若持续出此报错,请按照以下步骤搜图:\n"
        '1.将图片逐张转发至Senrin\n'
        '2.回复需要搜索的图片并附上“搜图”'))
    if '搜图' in str(event.get_message()):
        search_list = []
        result_list = []
        send_msg_result = '搜图结果如下:\n'
        for _msg in event.reply.message:  # type:ignore    初步处理数据
            if _msg.type == 'image':
                search_list.append(_msg.data['url'])
            else:
                pass
        if search_list:  # 有图
            await Reply_SearchPic.send('ちょっと待ってください......')
            for numst in range(len(search_list)):
                msg_url = search_list[numst]
                # 获取搜索结果
                try:
                    search_result = await SauceNAO(numst=numst,
                                                   pic_url=msg_url)
                except:
                    await Reply_SearchPic.finish(
                        '似乎出现了蜜汁错误......图搜到了但没完全搜到......')
                    return
                if search_result:
                    result_list.append(search_result)
            if result_list:  # 存在搜索结果
                for result_send in result_list:
                    _add_result = (f"第{result_send[0]}张图片:\n"
                                   f"{result_send[1]}\n")
                    send_msg_result += _add_result
                if isinstance(event, GroupMessageEvent):
                    await Reply_SearchPic.send(
                        Message(
                            f'[CQ:at,qq={event.get_user_id()}] Senrin从SauceNAO获得了搜图结果,并将以私聊方式发送!\nPS:若持续未收到图片,请添加Senrin为好友!'
                        ))
                    await bot.send_private_msg(
                        user_id=event.user_id,
                        message=Message(send_msg_result))
                elif isinstance(event, PrivateMessageEvent):
                    await Reply_SearchPic.send(
                        Message('好耶!找到图咯!\n' + send_msg_result))
            else:  # 不存在搜索结果
                await Reply_SearchPic.send(
                    Message(
                        f'[CQ:at,qq={event.get_user_id()}] 暂无相关信息,Senrin搜了个寂寞')
                )
        else:  # 无图
            await Reply_SearchPic.finish(send_except_msg)
    await Reply_SearchPic.finish()
コード例 #4
0
ファイル: Study.py プロジェクト: Hajimarino-HOPE/SakuraiZer0
async def _get_march(bot: Bot, event: Event):
    try:
        return_msg_pub = studylib['public']['all_users'][str(
            event.get_message())][0]
        await get_march.finish(Message(return_msg_pub))
    except:
        pass
    try:
        return_msg_pri = studylib['private'][event.get_user_id()][str(
            event.get_message())]
        await get_march.finish(Message(return_msg_pri))
    except:
        pass
コード例 #5
0
ファイル: combat.py プロジェクト: epicteller/epicteller
async def format_token_message(token: CombatToken) -> Message:
    default_msg = Message(f'「{token.name}」')
    if not token.character_id:
        return default_msg
    character = await character_ctl.get_character(token.character_id)
    if not character:
        return default_msg
    external_id = await character_ctl.get_character_external_id(
        character.id, ExternalType.QQ)
    if not external_id:
        return default_msg
    if character.name == token.name:
        return Message(MessageSegment.at(external_id))
    return Message(f'「{token.name}」(控制者:{MessageSegment.at(external_id)})')
コード例 #6
0
ファイル: Setu.py プロジェクト: Hajimarino-HOPE/SakuraiZer0
async def _regex_setu_random(bot: Bot, event: Event, state: dict):
    global last_time_Rrandom
    if isinstance(event, GroupMessageEvent):
        if event.group_id in [
                get_driver().config.GroupList['last'],
                get_driver().config.GroupList['test']
        ]:
            start_time = datetime.datetime.now()  # 取现在时间
            # 用于判定程序是否为初次启动,检测last_time是否被赋值
            if isinstance(last_time_Rrandom, datetime.datetime):
                if (start_time - last_time_Rrandom).seconds <= 5:
                    if str(event.user_id) not in masterList:
                        await regex_setu_random.finish(
                            "我球球你了让Senrin歇一会儿吧......爪巴涩图很累的说......")
                        return
                    else:
                        await regex_setu_random.send("我爪巴爪巴......这就去......")
            handle_msg = (f"[CQ:at,qq={event.user_id}]随机涩图触发\n"
                          "触发方式:regex\n"
                          "图片分级:随机\n"
                          "图片数量:1\n"
                          "Loading......(约3秒钟)")
            await regex_setu_random.send(Message(handle_msg))
            setu = await random_setu(Rmodle='regex', level=None, num=1)
        else:
            setu = None
    elif isinstance(event, PrivateMessageEvent):
        if str(event.user_id) in masterList:
            handle_msg = ("随机涩图触发\n"
                          "触发方式:regex\n"
                          "图片分级:随机\n"
                          "图片数量:1\n"
                          "Loading......(约3秒钟)")
            await regex_setu_random.send(Message(handle_msg))
            setu = await random_setu(Rmodle='regex', level=None, num=1)
        else:
            await regex_setu_random.finish("看尼玛涩图给爷爬!")
            setu = None
    else:
        setu = None
    if setu:
        handle_msg = 'Active!!!'
        await regex_setu_random.send(Message(handle_msg))
        for msg in setu:
            await asyncio.sleep(0.1)
            await regex_setu_random.send(Message(msg))
    download_urls.clear()
    if event.get_user_id() not in masterList and resetTime == True:
        last_time_Rrandom = datetime.datetime.now()
    await regex_setu_random.finish()
コード例 #7
0
 async def report():
     time = datetime.now()
     msg = Message(
         f"[CQ:at,qq={event.user_id}]喂,你看看你发的什么消息啊kora!"
     )
     msg_master = (
         '上报链接消息!!!\n'
         f'MessageID:{event.message_id}\n'
         f'Sender:{event.sender.nickname}({event.user_id})\n'
         f'Time:{time}'
     )
     for Admin in AdminList_REPORT:
         await bot.send_private_msg(user_id=Admin, message=msg_master)
         await bot.send_private_msg(user_id=Admin, message=Message(f"Message:{str(event.get_message())}"))
     await get_text.send(msg)
コード例 #8
0
ファイル: __init__.py プロジェクト: zfjdhj/momobot
async def mimikko_check(bot: Bot, event: Event):
    sign_data, energy_info_data, energy_reward_data, sign_info, sign_history = mimikko(app_id, authorization)
    res = "Sign Data:\n"
    res += f"获得成长值Reward:{sign_data['body']['Reward']}\n"
    res += f"获得硬币GetCoin:{sign_data['body']['GetCoin']}\n"
    if sign_data["code"] == "0":
        res += f"[CQ:image,file=file:///{drawSigncard(sign_data)}]\n"
    res += f"================\nEnergy Info:\n"
    res += f"code: {energy_info_data['code']}\n"
    res += f"msg: {energy_info_data['msg']}\n"
    res += f"经验:{energy_info_data['body']['Favorability']}/{energy_info_data['body']['MaxFavorability']}\n"
    res += f"Energy: {energy_info_data['body']['Energy']}\n"
    res += "================\nEnergy Reward:\n"
    res += f"{energy_reward_data}\n"
    res += "================\nSign Info:\n"
    res += f"code: {sign_info['code']}\n"
    res += f"IsSign: {sign_info['body']['IsSign']}\n"
    res += f"连续登录天数: {sign_info['body']['ContinuousSignDays']}\n"
    res += "================\nSign History:\n"
    res += f"code: {sign_history['code']}\n"
    res += f"startTime: {timeStamp2time(sign_history['body']['startTime'])}\n"
    res += f"endTime: {timeStamp2time(sign_history['body']['endTime'])}\n"
    res += "signLogs:"
    day_list = []
    for item in sign_history["body"]["signLogs"]:
        rex_data = re.search("(?P<月>.*)月(?P<日>.*)日", timeStamp2time(item["signDate"]))
        if rex_data.group("月") == re.search(
            "(?P<月>.*)月(?P<日>.*)日", timeStamp2time(sign_history["body"]["startTime"])
        ).group("月"):
            day_list.append(rex_data.group("日"))
    img_path = drawMonth(datetime.datetime.now().month, day_list, plugin_path)
    res += f"[CQ:image,file=file:///{plugin_path}/{img_path}]"
    await bot.send(event, Message(res))
コード例 #9
0
ファイル: __init__.py プロジェクト: Chendihe4975/Yuudi
async def http_status(bot: Bot, event: Event, state: dict):
    code = event.message.extract_plain_text()
    res = Message(f'[CQ:image,file=https://http.cat/{str(code)}.jpg]')
    if not code.isdigit():
        return
    msg = httpstatuscode[code] + res
    await statuscode.send(msg)
コード例 #10
0
ファイル: handler.py プロジェクト: Zhao-FlorenCE/CSC_Code
async def get_result(bot: Bot, event: Event, state: T_State):
    at = MessageSegment.at(event.get_user_id())
    if not state.get("content"):
        result = await get_help()
    elif str(state.get("content")).lower() == "list":
        plugin_set = nonebot.plugin.get_loaded_plugins()
        plugin_names = []
        for plugin in plugin_set:
            try:
                name = f'{plugin.name} | ' \
                    f'{plugin.module.__getattribute__("__help_plugin_name__")}'
            except:
                name = f'{plugin.name}'
            try:
                version = plugin.module.__getattribute__("__help_version__")
            except:
                version = ""
            plugin_names.append(f'{name} {version}')
        plugin_names.sort()
        newline_char = '\n'
        result = f'已加载插件:\n{newline_char.join(plugin_names)}'
    else:
        try:
            plugin = nonebot.plugin.get_plugin(state.get("content"))
        except AttributeError:
            plugin = None
        try:
            result = plugin.module.__getattribute__("__usage__")
        except:
            try:
                result = plugin.module.__doc__
            except AttributeError:
                result = f'{state.get("content")}插件不存在或未加载'
    await helper.finish(Message().append(at).append(
        MessageSegment.text(result)))
コード例 #11
0
async def rc_handle(bot: Bot, event: GroupRecallNoticeEvent):
    id = event.message_id
    data = await bot.get_msg(message_id=id)
    raw_msg = data['message']
    sender = data['sender']['nickname']
    msg = f'{sender}撤回了一条信息: {raw_msg}'
    await bot.send_private_msg(user_id=bot.config.master[0], message=Message(msg))
コード例 #12
0
async def invite_main(bot: Bot = get_bots(), event: Event = {}):

    bot = get_bots()[config.bot_id]
    args = event.message.extract_plain_text().split()[1:]
    print("args:", args)
    msg = ""
    user_id = event.user_id

    if str(user_id) in bot.config.superusers:
        is_admin = True
    else:
        is_admin = False
    if len(args) == 0:
        msg = f"猫猫不懂唉~\n可用命令:\n{HELP_MSG}"
    elif len(args) == 1:
        while client.shouldLogin:
            await client.login()
        if len(args[0]) == 13:
            if is_admin:
                msg = await invite(args[0])
            else:
                msg = f"猫猫不懂唉~\n可用命令:\n{HELP_MSG}"
        elif args[0] == "check":
            msg = await invite_check()
            pass
        elif args[0] == "onekeyaccept":
            msg = await invite_onekeyaccept()
            pass
        else:
            msg = f"猫猫不懂唉~\n可用命令:\n{HELP_MSG}"
    else:
        msg = f"猫猫不懂唉~\n可用命令:\n{HELP_MSG}"
    await bot.send(event, message=Message(msg))
    return
コード例 #13
0
async def main(bot: Bot, event: Event):
    receive = re.search(
        r"^字符画(?P<text>.*?)\[CQ:image,file=.*,url=(?P<file>.*)\]$",
        str(event.message).replace("\n", "").replace("\r", ""),
    )
    if receive:
        file = receive.group("file")
        draw_text = receive.group("text")
        if draw_text:
            draw_text_list = char_to_pixels(draw_text)
            # print(draw_text_list)
            draw_text = ""
            for item in draw_text_list:
                draw_text += item[1]
            if await ascii_art(file=file,
                               draw_string=draw_text,
                               save_path=save_path):
                reply = f"[CQ:image,file=file:///{save_path}/temp.ascii.png]"
            else:
                reply = "error:生成图片失败"
        else:
            if await ascii_art(file=file, save_path=save_path):
                reply = f"[CQ:image,file=file:///{save_path}/temp.ascii.png]"
            else:
                reply = "error:生成图片失败"

    else:
        reply = "error:缺少图片"
    # print(reply)
    await bot.send(event, Message(reply))
コード例 #14
0
ファイル: echo.py プロジェクト: Chendihe4975/Yuudi
async def say_unescape(bot: Bot, event: Event, state: T_State):
    try:
        await bot.send(message=Message(event.get_plaintext()), event=event)
    except ActionFailed as e:
        logger.error(
            f'ActionFailed | {e.info["msg"].lower()} | retcode = {e.info["retcode"]} | {e.info["wording"]}'
        )
        return
コード例 #15
0
ファイル: handler.py プロジェクト: XZhouQD/MirageBot
async def get_result(bot: Bot, event: Event, state: T_State):
    if state.get("content") in ('help', 'h'):
        at_user = MessageSegment.at(event.get_user_id())
        result = await get_help()
    else:
        at_user = MessageSegment.at(event.get_user_id())
        roll_result = await roll_dice(state.get("content"))
        result = MessageSegment.text(roll_result)
    await dice.finish(Message().append(at_user).append(result))
コード例 #16
0
async def poke_me(bot: Bot, event: Event, state: dict):
    user_id = event.user_id
    try:
        await pokecmd.finish(Message(f"[CQ:poke,qq={user_id}]"))
    except ActionFailed as e:
        logger.error(
            f'ActionFailed | {e.info["msg"].lower()} | retcode = {e.info["retcode"]} | {e.info["wording"]}'
        )
        return
コード例 #17
0
ファイル: Help.py プロジェクト: Hajimarino-HOPE/SakuraiZer0
async def handle_help(bot: Bot, event: Event, state: dict):
    args = str(event.get_message()).strip()
    if args:
        state["functionID"] = args
        await bot.send(event, "get it!")
    else:
        msg = ('请直接输入功能代码获取帮助~\n'
               f'[CQ:at,qq={event.get_user_id()}]Senrin目前支持的功能如下:\n'
               f'{HelpList}')
        await help.send(Message(msg))
コード例 #18
0
async def _eat_what(bot: Bot, event: MessageEvent):
    user_id = event.get_user_id()
    if not _eat_flmt.check(user_id):
        return

    msg = str(event.get_message())
    user_name = event.sender.nickname or "裙友"
    eat = await Funny().eat_what(user_name, msg)
    _eat_flmt.start_cd(user_id)
    await eat_what.finish(Message(eat))
コード例 #19
0
ファイル: __init__.py プロジェクト: coolwindX/ATRI
async def _deal_search(bot: Bot, event: MessageEvent, state: T_State):
    user_id = event.get_user_id()
    msg = state["img"]
    img = findall(r"url=(.*?)]", msg)
    if not img:
        await saucenao.reject("请发送图片而不是其他东西!!")

    a = SaouceNao(SauceNAO.key)
    result = f"> {MessageSegment.at(user_id)}" + await a.search(img[0])
    _search_flmt.start_cd(user_id)
    await saucenao.finish(Message(result))
コード例 #20
0
async def _deal_sear(bot: Bot, event: MessageEvent, state: T_State):
    user_id = event.get_user_id()
    msg = state["anime"]
    img = re.findall(r"url=(.*?)]", msg)
    if not img:
        await anime_search.reject("请发送图片而不是其它东西!!")

    a = await Anime().search(img[0])
    result = f"> {MessageSegment.at(user_id)}\n" + a
    _anime_flmt.start_cd(user_id)
    await anime_search.finish(Message(result))
コード例 #21
0
ファイル: __init__.py プロジェクト: hailong-z/nonebot2_miya
async def handle_group_increase(bot: Bot, event: GroupIncreaseNoticeEvent,
                                state: T_State):
    user_id = event.user_id
    group_id = event.group_id
    detail_type = event.notice_type
    if detail_type == 'group_increase' and DBGroup(
            group_id=group_id).permission_command().result == 1:
        # 发送欢迎消息
        at_seg = MessageSegment.at(user_id=user_id)
        msg = f'{at_seg}欢迎新朋友~\n进群请先看群公告~\n一起愉快地聊天吧!'
        await bot.send(event=event, message=Message(msg))
        logger.info(f'群组: {group_id}, 有新用户: {user_id} 进群')
コード例 #22
0
ファイル: Info.py プロジェクト: Hajimarino-HOPE/SakuraiZer0
async def info_get(bot: Bot, event):
    args = str(event.get_message()).strip()
    if args:
        try:
            args = re.findall(r"\[CQ:at,qq=(\d+).*?\]", args)  # 正则匹配QQ号
            args = int(args[0])
        except:
            await info.finish("[参数处理错误:args]")  # 异常处理
    if isinstance(event, GroupMessageEvent):
        if isinstance(args, int):
            msg = Message(
                "Senrin正在制作属于你的专属资料卡......\n"
                f"制作对象:[CQ:at,qq={str(args)}]"
            )
            await info.send(msg)
            QQ = int(str(args))
        elif event.to_me == True:
            msg = Message(
                "嘿嘿没想到吧,Senrin也有资料卡哦!\n"
                f"制作对象:[CQ:at,qq={bot.self_id}]"
            )
            await info.send(msg)
            QQ = int(bot.self_id)
        else:  # 个人记录查询
            msg = Message(
                "Senrin正在制作属于你的专属资料卡......\n"
                f"制作对象:[CQ:at,qq={event.user_id}]"
            )
            await info.send(msg)
            QQ = event.user_id
        member_info = await bot.get_group_member_info(group_id=event.group_id, user_id=QQ)
        dateArray = datetime.datetime.utcfromtimestamp(
            member_info['join_time'])
        join_time_format = dateArray.strftime("%Y-%m-%d %H:%M:%S")
        save_path = await get_card(QQ, member_info['nickname'], member_info['sex'], member_info['title'], f"LV.{member_info['level']}", join_time_format)
        await info.finish(Message(f"[CQ:image,file=file:///{save_path}]"))
    else:
        await info.finish("请您高抬贵脚移步至群聊中查询可否?")
コード例 #23
0
async def sendPic(url, direc, R18, message_type, session_id):
    bot = nonebot.get_bots()[str(self_id)]
    if R18 == "false":
        msg = Message(
            f'[CQ:image,file=file:///{os.path.abspath(direc) + "/" + os.path.basename(url)}]'
        )
        if message_type == "group":
            await bot.call_api(api="send_group_msg",
                               group_id=session_id,
                               message=msg)
        elif message_type == "private":
            await bot.call_api(api="send_private_msg",
                               user_id=session_id,
                               message=msg)
コード例 #24
0
async def _change_menbers(bot: Bot, event):
    if isinstance(event, GroupIncreaseNoticeEvent):  # 增加
        WelcomeTence = random.choice(handle_new_member)
        msg = Message(f'[CQ:at,qq={str(event.user_id)}]\n'
                      f'{WelcomeTence}\n'
                      '我只是个无情的机器人,请通过#help查看帮助\n'
                      '顺带一提,年轻人要学会控制自己的欲望~~~')
        await member_var.finish(msg)
    elif isinstance(event, GroupDecreaseNoticeEvent):  # 减少
        if event.operator_id == event.user_id:
            out_time = datetime.datetime.now()
            msg = Message('芜湖~有一位群友起飞了\n'
                          '一路飞好吧......\n'
                          f'起飞的群友:{str(event.user_id)}\n'
                          f'起飞的时间:{out_time}')
            await member_var.finish(msg)
        else:
            out_time = datetime.datetime.now()
            msg = Message('欸?刚刚什么人飞过去了呢?\n'
                          '啊!原来是被群管扔出去的呢......\n'
                          f'空中飞人:{str(event.user_id)}\n'
                          f'起飞时间:{out_time}\n')
            await member_var.finish(msg)
コード例 #25
0
async def get_water_list(groupID, bot):
    linedic = memdic[str(groupID)]
    findic = reversed(
        sorted(linedic.items(), key=lambda kv: (kv[1], kv[0])))
    a = 0
    pa = "-------氵怪排行榜-------"
    for elem in findic:
        UQID = elem[0]
        ts = elem[1]
        a = a+1
        pa = pa + f"\n{a}.[CQ:at,qq={UQID}] 吹水{ts}次"
        if a == 5:
            break
    await bot.send_group_msg_async(group_id=int(groupID), message=Message(pa))
コード例 #26
0
async def push_setu(bot: Bot, event: Event, state: T_State):
    user_id = event.user_id
    if not setudlmt.check(user_id):
        await setu.send("您今天已经冲了10次了, 雨滴很担心你, 还是明天再冲吧。")
    if not setuflmt.check(user_id):
        await setu.send("您冲得太快了,小心人没了!")
    try:
        pic = get_setu()
        setudlmt.increase(user_id)
        setuflmt.start_cd(user_id)
        await setu.send(Message(pic))
    except ActionFailed as e:
        logger.error(
            f'ActionFailed | {e.info["msg"].lower()} | retcode = {e.info["retcode"]} | {e.info["wording"]}'
        )
コード例 #27
0
async def water_get(bot: Bot, event):
    args = str(event.get_message()).strip()
    if args and args != 'list':
        try:
            args = re.findall(r"\[CQ:at,qq=(\d+).*?\]", args)  # 正则匹配QQ号
            args = int(args[0])
        except:
            await water.finish("[参数处理错误:args]")  # 异常处理

    if isinstance(event, GroupMessageEvent):
        if args == 'list':  # 排行榜查询
            await get_water_list(groupID=event.group_id, bot=bot)
        elif isinstance(args, int):
            num = memdic[str(event.group_id)][str(args)]
            EndTime = datetime.datetime.now()
            msg = Message(
                "好耶!那就让我来康康宁有多氵\n"
                f"查询对象:[CQ:at,qq={str(args)}]\n"
                f"吹氵次数:{num}\n"
                f"起始时间:{StartTime}\n"
                f"终止时间:{EndTime}"
            )
            await water.finish(msg)
        else:  # 个人记录查询
            num = memdic[str(event.group_id)][str(event.user_id)]
            EndTime = datetime.datetime.now()
            msg = Message(
                "好耶!那就让我来康康宁有多氵\n"
                f"查询对象:[CQ:at,qq={str(event.user_id)}]\n"
                f"吹氵次数:{num}\n"
                f"起始时间:{StartTime}\n"
                f"终止时间:{EndTime}"
            )
            await water.finish(msg)
    else:
        await water.finish("请您高抬贵脚移步至群聊中查询可否?")
コード例 #28
0
 async def action(img_msg):
     time = datetime.now()
     if conclution == '合规':
         picture_lib[img_msg.data['file']] = '合规'
     elif conclution == '不合规':
         picture_lib[img_msg.data['file']] = '不合规'
         msg = Message(f"[CQ:at,qq={event.user_id}]我叼你妈的在发图之前可以长点脑子吗?😅😅😅")
         msg_master = ('上报违规消息!!!\n'
                       f'MessageID:{event.message_id}\n'
                       f'Sender:{event.sender.nickname}({event.user_id})\n'
                       f'Time:{time}')
         for Admin in AdminList_REPORT:
             await bot.send_private_msg(user_id=Admin, message=msg_master)
             await bot.send_private_msg(
                 user_id=Admin,
                 message=Message(f"Message:{str(event.get_message())}"))
         await get_pic.send(msg)
     elif conclution == '疑似':
         picture_lib[img_msg.data['file']] = '疑似'
         msg = Message(f"[CQ:at,qq={event.user_id}]欸,你这图不对劲欸......")
         msg_master = ('上报可疑消息......\n'
                       f'MessageID:{event.message_id}\n'
                       f'Sender:{event.sender.nickname}({event.user_id})\n'
                       f'Time:{time}')
         for Admin in AdminList_REPORT:
             await bot.send_private_msg(user_id=Admin, message=msg_master)
             await bot.send_private_msg(
                 user_id=Admin,
                 message=Message(f"Message:{str(event.get_message())}"))
         await get_pic.send(msg)
     with open(PicPath, 'w', encoding="utf-8") as f:
         json.dump(picture_lib,
                   f,
                   indent=2,
                   sort_keys=True,
                   ensure_ascii=False)
コード例 #29
0
async def _(bot: Bot, event: MessageEvent, state: T_State) -> None:
    msg = state["msg"]
    img = re.findall(r"url=(.*?)]", msg)
    if not img:
        await anime_search.reject("请发送图片而不是其它东西!!")

    try:
        req = await get_bytes(URL + img[0])
    except RequestTimeOut:
        raise RequestTimeOut("Request failed!")

    data = json.loads(req)["docs"]
    try:
        d = {}
        for i in range(len(data)):
            if data[i]["title_chinese"] in d.keys():
                d[data[i]["title_chinese"]][0] += data[i]["similarity"]
            else:
                m = data[i]["at"] / 60
                s = data[i]["at"] % 60

                if not data[i]["episode"]:
                    n = 1
                else:
                    n = data[i]["episode"]

                d[to_simple_string(data[i]["title_chinese"])] = [
                    data[i]["similarity"],
                    f"第{n}集",
                    f"{int(m)}分{int(s)}秒处",
                ]
    except Exception as err:
        raise Exception(f"Invalid data.\n{err}")

    result = sorted(d.items(), key=lambda x: x[1], reverse=True)

    t = 0

    msg0 = f"{MessageSegment.at(event.user_id)}\nResult [{len(d)}]:"
    for i in result:
        t += 1
        s = "%.2f%%" % (i[1][0] * 100)
        msg0 = msg0 + ("\n——————————\n"
                       f"({t}) Similarity: {s}\n"
                       f"Name: {i[0]}\n"
                       f"Time: {i[1][1]} {i[1][2]}")

    await anime_search.finish(Message(msg0))
コード例 #30
0
async def _repire_lib(bot: Bot, event: Event):
    sendmsg = (Message(f"[CQ:at,qq={event.get_user_id()}]你确定你给我的是一张图片?\n"
                       "若持续出此报错,请按照以下步骤修正:\n"
                       '1.将图片逐张转发至Senrin\n'
                       '2.回复需要修正图片并附上“修正”'))
    check_img = False
    if isinstance(event, GroupMessageEvent):
        if '修正' in str(event.message) and event.user_id in AdminList:
            for _msg in event.reply.message:
                if _msg.type == 'image':
                    check_img = True
                    picture_lib[_msg.data['file']] = '合规'
                    await repire_lib.send('那啥......Senrin已经去把数据库揍了一顿了\n'
                                          '应该不会发疯了吧......\n'
                                          '修正完毕')
                else:
                    pass
            if check_img == False:
                await repire_lib.finish(sendmsg)
            else:
                pass
        else:
            pass
    elif isinstance(event, PrivateMessageEvent):
        if event.user_id in AdminList:
            if '修正' in str(event.message):
                for _msg in event.reply.message:
                    if _msg.type == 'image':
                        check_img = True
                        picture_lib[_msg.data['file']] = '合规'
                        await repire_lib.send('那啥......Senrin已经去把数据库揍了一顿了\n'
                                              '应该不会发疯了吧......\n'
                                              '修正完毕')
                    else:
                        pass
                if check_img == False:
                    await repire_lib.finish(sendmsg)
                else:
                    pass
            else:
                pass
        else:
            pass
    else:
        pass
    with open(PicPath, 'w', encoding="utf-8") as f:
        json.dump(picture_lib, f, indent=2, sort_keys=True, ensure_ascii=False)
    await repire_lib.finish()