Пример #1
0
async def GMHandler(app: Mirai, group: Group, member: Member,
                    message: GroupMessage):
    print(message)
    print(message.toString())
    global RECORDS, STATUS
    if "醒醒不对劲" in message.toString():
        STATUS = True
        await app.sendGroupMessage(group, [Plain(text="我还想再睡会儿!")])

    if not STATUS:
        return

    if "报名" in message.toString():
        try:
            message_handler(member, message.toString())
            await app.sendGroupMessage(group, [Plain(text=format_table())])
        except Exception:
            await app.sendGroupMessage(group, [Plain(text="糟糕,坑满啦!")])
    elif "clear" in message.toString():
        RECORDS = {}
        await app.sendGroupMessage(group, [Plain(text=format_table())])
    elif "出来吧憨憨" in message.toString():
        time.sleep(1)
        await app.sendGroupMessage(group, [Plain(text="余目才是憨批!")])
    elif message.toString() == "/roll":
        await app.sendGroupMessage(group,
                                   [Plain(text=str(random.randint(0, 100)))])
    elif "At::target=75960775" in message.toString():
        if random.randint(0, 10) < 4:
            await app.sendGroupMessage(
                group,
                [Plain(text="喊我干啥,我又不是小爱同学"),
                 Face(faceId=QQFaces['nanguo'])])
        else:
            await app.sendGroupMessage(group, [Plain(text=random_words())])
    elif "睡吧不对劲" in message.toString():
        STATUS = False
        await app.sendGroupMessage(group, [
            Plain(text="晚安~"),
            Image(
                type='Image',
                imageId='AD698F3D-FCEC-0516-C6DA-346967FF876E',
                url=HttpUrl(
                    'http://gchat.qpic.cn/gchatpic_new/843452214/1032083209-2934067879-AD698F3DFCEC0516C6DA346967FF876E/0?term=2',
                    scheme='http',
                    host='gchat.qpic.cn',
                    tld='cn',
                    host_type='domain',
                    path=
                    '/gchatpic_new/843452214/1032083209-2934067879-AD698F3DFCEC0516C6DA346967FF876E/0',
                    query='term=2'))
        ])
    else:
        num = random.randint(0, 100)
        if num < 10:
            time.sleep(1)
            await app.sendGroupMessage(group, [Plain(text=random_words())])

    if random.randint(0, 100) < 30 and "At::target" not in message.toString():
        WORDS.append(message.toString())
Пример #2
0
    def to_message_list(self):
        ret = []
        for each_component in self.message:
            if each_component['type'] == 'Plain':
                ret.append(Plain(text=each_component['text']))
            elif each_component['type'] == 'At':
                ret.append(At(target=each_component['target']))
            elif each_component['type'] == 'AtAll':
                ret.append(AtAll())
            elif each_component['type'] == 'Image':
                ret.append(Image(imageId=each_component['imageId']))
            elif each_component['type'] == 'Face':
                ret.append(Face(faceId=each_component['faceId']))
            elif each_component['type'] == 'Xml':
                ret.append(Xml(XML=each_component['xml']))
            elif each_component['type'] == 'Json':
                ret.append(Json(Json=each_component['json']))

        return ret