예제 #1
0
        async def group_message_handler(app: GraiaMiraiApplication,
                                        message: MessageChain, group: Group,
                                        member: Member):
            if message.asDisplay().startswith("对刀"):
                if group.id in GroupTokens:
                    t = GroupTokens[group.id]
                    bf = self.token_client[t]
                    data = bf.fetch_clan_status()
                    day_report = bf.fetch_day_report()

                    total_number = sum([x['number'] for x in day_report])
                    est_number = len(day_report) * 3

                    msg = "今日出刀 (%s/%s)" % (total_number, est_number)
                    for row in day_report:
                        msg += "\n({}) {} [{:,}]".format(
                            row['number'], row['name'], row['damage'])

                    x = [
                        Plain("%s #%d\n进度:L%d-%s (%d/%d)\n" % (
                            data['clan_info']['name'],
                            data['clan_info']['last_ranking'],
                            data['boss_info']['lap_num'],
                            data['boss_info']['name'],
                            data['boss_info']['current_life'],
                            data['boss_info']['total_life'],
                        )),
                        Plain(msg)
                    ]

                    await app.sendGroupMessage(group, MessageChain(__root__=x))
            if message.asDisplay().startswith("进度"):
                if group.id in GroupTokens:
                    t = GroupTokens[group.id]
                    bf = self.token_client[t]
                    data = bf.fetch_clan_status()
                    day_report = bf.fetch_day_report()

                    total_number = sum([x['number'] for x in day_report])
                    est_number = len(day_report) * 3

                    msg = "今日出刀 (%s/%s)" % (total_number, est_number)

                    x = [
                        Plain("%s #%d\n进度:L%d-%s (%d/%d)\n" % (
                            data['clan_info']['name'],
                            data['clan_info']['last_ranking'],
                            data['boss_info']['lap_num'],
                            data['boss_info']['name'],
                            data['boss_info']['current_life'],
                            data['boss_info']['total_life'],
                        )),
                        Plain(msg)
                    ]

                    await app.sendGroupMessage(group, MessageChain(__root__=x))
예제 #2
0
async def send_msg_listener(event: SendMsgEvent):
    print("send: id " + str(event.id) + ' ' + event.msg)
    if (event.is_group == True):
        group = await app.getGroup(event.id)
        await app.sendGroupMessage(group,
                                   MessageChain(__root__=[Plain(event.msg)]))
    else:
        friend = await app.getFriend(event.id)
        await app.sendFriendMessage(friend,
                                    MessageChain(__root__=[Plain(event.msg)]))
예제 #3
0
async def group_message_handler(app: GraiaMiraiApplication,
                                message: MessageChain, group: Group):
    if message.asDisplay().startswith("hihi"):
        await app.sendGroupMessage(
            group, MessageChain(__root__=[
                Plain("Hello, World!"),
            ]))
        time.sleep(1)
        await app.sendGroupMessage(
            group, MessageChain(__root__=[Plain("Hello, World2")]))
예제 #4
0
async def group_message_handler(app: GraiaMiraiApplication,
                                message: MessageChain, group: Group,
                                member: Member):
    if (group.id == 729054809 or group.id == 791894520
            or group.id == 702968511):
        msg = message.asDisplay()
        rmsg = personal(msg)
        await app.sendGroupMessage(group, MessageChain(__root__=[Plain(rmsg)]))
예제 #5
0
파일: switch.py 프로젝트: LTZDLY/MyMirai
async def switchPcr(app, group: Group, switch: str):
    msg = ''
    if switch == 'on':
        write_in_ini('data/switch.ini', str(group.id), 'pcrteam', '1')
        msg = 'PCR团队战功能开启'
    elif switch == 'off':
        write_in_ini('data/switch.ini', str(group.id), 'pcrteam', '0')
        msg = 'PCR团队战功能关闭'
    else:
        return
    await app.sendGroupMessage(group, MessageChain(__root__=[Plain(msg)]))
예제 #6
0
파일: signup.py 프로젝트: LTZDLY/MyMirai
async def paraphrase(app, group: Group, msg: str, feedback=False) -> str:
    data = loadDefine()
    for i in data:
        if msg.find(data[i] == -1):
            continue
        if feedback == True:
            await app.sendGroupMessage(
                group,
                MessageChain(__root__=[Plain('发生转义:\n' + i + '->' + data[i])]))
        msg = msg.replace(i, data[i])
    return msg
예제 #7
0
async def group_message_handler(app: GraiaMiraiApplication,
                                message: MessageChain, group: Group,
                                member: Member):
    msg = message.asDisplay()
    group_msg_database[str(group.id) + str(member.id)] = msg
    rmsg = ''
    for gid in interactive_group_list:
        if (gid == group.id):
            if (check_active(msg)):
                rmsg = r0se_main(msg, friend=None, group=group)
                await app.sendGroupMessage(
                    group, MessageChain(__root__=[Plain(rmsg)]))
예제 #8
0
파일: switch.py 프로젝트: LTZDLY/MyMirai
async def switchMain(app, group: Group, switch: str):
    msg = ''
    if switch == 'on':
        write_in_ini('data/switch.ini', str(group.id), 'on', '1')
        msg = '起床咯切噜!'
    elif switch == 'off':
        write_in_ini('data/switch.ini', str(group.id), 'on', '0')
        msg = '要睡咯切噜噜~...'
    elif switch == 'quit':
        await app.sendGroupMessage(group, MessageChain.create([Plain('切噜走啦,拜拜!~')]))
        await app.quit(group)
    else:
        return
    await app.sendGroupMessage(group, MessageChain(__root__=[Plain(msg)]))
예제 #9
0
 async def fetch_battle_log():
     for t in self.token_client:
         bf: BigFun = self.token_client[t]
         data = bf.fetch_incremental_battle_data()
         if len(data):
             msg = []
             if len(data) >= 1:
                 msg.append(Plain("获取到 %d 条出刀记录:" % len(data)))
             for row in data[-10:]:
                 msg.append(
                     Plain("\n%s %d-%s %s %s%s" %
                           (convert_ts(row["datetime"]), row["lap_num"],
                            row["boss_id"][-1], "{:,}".format(
                                row["damage"]), row["name"],
                            "(R)" if row["reimburse"] else
                            "(K)" if row["kill"] else "")))
             for group in self.token_group[t]:
                 await self.mirai.sendGroupMessage(
                     group, MessageChain(__root__=msg))
예제 #10
0
        async def fetch_position():
            for t in self.token_client:
                bf: BigFun = self.token_client[t]
                data = bf.fetch_clan_status()
                day_report = bf.fetch_day_report()

                total_number = sum([x['number'] for x in day_report])
                est_number = len(day_report) * 3

                msg = [
                    Plain("%s #%d\n进度:L%d-%s (%d/%d)\n出刀 %s/%d" %
                          (data['clan_info']['name'],
                           data['clan_info']['last_ranking'],
                           data['boss_info']['lap_num'],
                           data['boss_info']['name'],
                           data['boss_info']['current_life'],
                           data['boss_info']['total_life'], total_number,
                           est_number))
                ]
                for group in self.token_group[t]:
                    await self.mirai.sendGroupMessage(
                        group, MessageChain(__root__=msg))
예제 #11
0
async def group_push_msg_scheduler():
    group_list = [
        729054809,  # pwnsky
    ]
    rmsg = ''
    # 每日先知文章群推送
    if (time.localtime().tm_hour == 8 and time.localtime().tm_min == 0):
        for group_n in group_list:
            group = await app.getGroup(group_n)
            rmsg = get_xz_article()
            await app.sendGroupMessage(group,
                                       MessageChain(__root__=[Plain(rmsg)]))

    # 每日看雪文二进制章群推送
    if (time.localtime().tm_hour == 9 and time.localtime().tm_min == 0):
        rmsg = get_kx_binary_article()
        for group_n in group_list:
            group = await app.getGroup(group_n)
            await app.sendGroupMessage(group,
                                       MessageChain(__root__=[Plain(rmsg)]))

    # 每日看雪密码学文章群推送
    if (time.localtime().tm_hour == 12 and time.localtime().tm_min == 0):
        rmsg = get_kx_crypto_article()
        for group_n in group_list:
            group = await app.getGroup(group_n)
            await app.sendGroupMessage(group,
                                       MessageChain(__root__=[Plain(rmsg)]))

    # 每日看雪逆向文章群推送
    if (time.localtime().tm_hour == 22 and time.localtime().tm_min == 0):
        rmsg = get_kx_reverse_article()
        for group_n in group_list:
            group = await app.getGroup(group_n)
            await app.sendGroupMessage(group,
                                       MessageChain(__root__=[Plain(rmsg)]))
    '''
    # 每日看雪区块链文章群推送
    if(time.localtime().tm_hour == 12 and time.localtime().tm_min == 0):
        rmsg = get_kx_blockchain_article()
        for group_n in group_list:
            group = await app.getGroup(group_n)
            await app.sendGroupMessage(group, MessageChain(__root__=[Plain( rmsg )]))
    '''
    # 每日看ctf赛事群推送
    if (time.localtime().tm_hour == 20 and time.localtime().tm_min == 0):
        rmsg = get_ctf_comming_match()
        for group_n in group_list:
            group = await app.getGroup(group_n)
            await app.sendGroupMessage(group,
                                       MessageChain(__root__=[Plain(rmsg)]))

    # 每日好友推送
    if (time.localtime().tm_hour == 7 and time.localtime().tm_min == 0):
        rmsg = '早安! 宝贝 \n'
        rmsg += daily_words[random.randint(0, len(daily_words) - 1)]
        friend_list = await app.friendList()
        for friend in friend_list:

            await app.sendFriendMessage(friend,
                                        MessageChain(__root__=[Plain(rmsg)]))

    # 每日好友推送
    if (time.localtime().tm_hour == 23 and time.localtime().tm_min == 30):
        rmsg = '晚安!宝贝 \n'
        rmsg += daily_words[random.randint(0, len(daily_words) - 1)]
        friend_list = await app.friendList()
        for friend in friend_list:
            await app.sendFriendMessage(friend,
                                        MessageChain(__root__=[Plain(rmsg)]))
예제 #12
0
async def group_recall_event(event: GroupRecallEvent):
    rmsg = str(event.authorId)
    rmsg += ' 撤回消息啦!\n'
    rmsg += group_msg_database[str(event.group.id) + str(event.authorId)]
    await app.sendGroupMessage(event.group,
                               MessageChain(__root__=[Plain(rmsg)]))
예제 #13
0
async def friend_message_listener(message: MessageChain, friend: Friend,
                                  app: GraiaMiraiApplication):
    print(str(friend.id) + " " + friend.nickname + " " + friend.remark)
    msg = message.asDisplay()
    rmsg = r0se_main(msg, friend=friend)
    await app.sendFriendMessage(friend, MessageChain(__root__=[Plain(rmsg)]))
예제 #14
0
async def friend_message_listener(app: GraiaMiraiApplication, friend: Friend):
    await app.sendFriendMessage(
        friend, MessageChain(__root__=[Plain("Hello, World!")]))