Exemple #1
0
async def parse(bot: Bot, event: GroupMessageEvent, state: T_State):
    args = str(event.get_message()).strip().split()
    if not args:
        await search_image.reject('你似乎没有发送有效的消息呢QAQ, 请重新发送:')
    state[state["_current_key"]] = args[0]
    if state[state["_current_key"]] == '取消':
        await search_image.finish('操作已取消')
async def special_title(bot: Bot, event: GroupMessageEvent, state: T_State):
    '''
    群头衔
    '''
    title = str(event.get_message())
    user_id = event.user_id
    group_id = event.group_id
    await bot.set_group_special_title(group_id=group_id,
                                      user_id=user_id,
                                      special_title=title,
                                      self_id=bot.self_id)
Exemple #3
0
async def kakin(bot, event: GroupMessageEvent):
    if event.user_id not in bot.config.SUPERUSERS:
        return
    count = 0
    for m in event.get_message():
        if m.type == 'at' and m.data['qq'] != 'all':
            uid = int(m.data['qq'])
            jewel_limit.reset(uid)
            tenjo_limit.reset(uid)
            count += 1
    if count:
        await bot.send(event, f"已为{count}位用户充值完毕!谢谢惠顾~")
Exemple #4
0
async def random_repeater(bot: Bot, event: GroupMessageEvent):
    group_id = event.group_id
    msg = str(event.get_message())

    if group_id not in group_stat:
        group_stat[group_id] = (msg, False, 0)
        return

    last_msg, is_repeated, p = group_stat[group_id]
    if last_msg == msg:  # 群友正在复读
        if not is_repeated:  # 机器人尚未复读过,开始测试复读
            if random.random() < p:  # 概率测试通过,复读并设flag
                try:
                    group_stat[group_id] = (msg, True, 0)
                    await bot.send(event, msg)
                except Exception as e:
                    logger.error(f'复读失败: {type(e)}')
            else:  # 概率测试失败,蓄力
                p = 1 - (1 - p) / PROB_A
                group_stat[group_id] = (msg, False, p)
    else:  # 不是复读,重置
        group_stat[group_id] = (msg, False, 0)