Beispiel #1
0
async def group_increase_leave_me(session: NoticeSession):
    await asyncio.sleep(0.3)
    if session.event['sub_type'] == 'kick_me' or int(
            session.event['self_id']) == int(session.event['user_id']):
        push_list.delPushunitFromPushTo("group",
                                        int(session.event['group_id']),
                                        self_id=int(session.event['self_id']))
        push_list.savePushList()
        msgSendToBot(
            logger,
            '已被移出或退出 ' + str(session.event['group_id']) + ' 群组,相关侦听已移除')
Beispiel #2
0
async def delalltest(session: CommandSession):
    if not headdeal(session):
        return
    await asyncio.sleep(0.2)
    message_type = session.event['message_type']
    group_id = (session.event['group_id'] if message_type == 'group' else None)
    user_id = session.event['user_id']
    if perm_check(session, '-listener', user=True):
        await session.send('操作被拒绝,权限不足(p)')
        return
    sent_id = 0
    if message_type == 'private':
        sent_id = user_id
    elif message_type == 'group':
        if not perm_check(session, 'listener'):
            await session.send('操作被拒绝,权限不足(g)')
            return
        sent_id = group_id
    else:
        await session.send('未收录的消息类型:' + message_type)
        return
    logger.info(CQsessionToStr(session))
    sent_id = str(sent_id)
    res = push_list.delPushunitFromPushTo(message_type,
                                          int(sent_id),
                                          self_id=int(
                                              session.event['self_id']))
    push_list.savePushList()
    await session.send('已移除此地所有监测' if res[0] == True else res[1])
Beispiel #3
0
async def globalRemove(session: CommandSession):
    await asyncio.sleep(0.2)
    stripped_arg = session.current_arg_text.strip().lower()
    if stripped_arg == '':
        await session.send("缺少参数")
        return
    cs = commandHeadtail(stripped_arg)
    cs = {'messagetype': cs[0], 'pushto': cs[2].strip()}
    if cs['pushto'] == '' or cs['messagetype'] == '':
        await session.send("缺少参数")
        return
    if not cs['pushto'].isdecimal():
        await session.send("Q号或群号不合法:" + cs['pushto'])
        return
    messagetype_list = {
        '私聊': 'private',
        'private': 'private',
        '群聊': 'group',
        'group': 'group',
        '好友': 'private',
        '群': 'group',
    }
    if cs['messagetype'] in messagetype_list:
        res = push_list.delPushunitFromPushTo(
            messagetype_list[cs['messagetype']],
            int(cs['pushto']),
            self_id=int(session.event['self_id']))
        push_list.savePushList()
        logger.info(CQsessionToStr(session))
        await session.send(res[1])
    else:
        await session.send("此消息类型不支持:" + cs['messagetype'])
        return
Beispiel #4
0
async def delalltest(session: CommandSession):
    await asyncio.sleep(0.2)
    message_type = session.event['message_type']
    sent_id = 0
    if message_type == 'private':
        sent_id = session.event['user_id']
    elif message_type == 'group':
        sent_id = session.event['group_id']
    else:
        await session.send('未收录的消息类型:' + message_type)
        return
    sent_id = str(sent_id)
    res = push_list.delPushunitFromPushTo(message_type,
                                          int(sent_id),
                                          self_id=int(
                                              session.event['self_id']))
    push_list.savePushList()
    logger.info(CQsessionToStr(session))
    await session.send('已移除此地所有监测' if res[0] == True else res[1])
Beispiel #5
0
async def globalRemove(session: CommandSession):
    if not headdeal(session):
        return
    await asyncio.sleep(0.2)
    message_type = session.event['message_type']
    #group_id = (session.event['group_id'] if message_type == 'group' else None)
    #user_id = session.event['user_id']
    if perm_check(session, '-listener', user=True):
        await session.send('操作被拒绝,权限不足(p)')
        return
    if message_type == 'group' and not perm_check(session, 'listener'):
        await session.send('操作被拒绝,权限不足(g)')
        return
    logger.info(CQsessionToStr(session))

    arglimit = [
        {
            'name': 'msgtype',  #参数名
            'des': '消息类型',  #参数错误描述
            'type':
            'str',  #参数类型int float str list dict (list与dict需要使用函数或正则表达式进行二次处理)
            'strip': True,  #是否strip
            'lower': True,  #是否转换为小写
            'default': None,  #默认值
            'func': None,  #函数,当存在时使用函数进行二次处理
            're': None,  #正则表达式匹配(match函数)
            'vlimit': {
                #参数限制表(限制参数内容,空表则不限制),'*':''表示允许任意字符串,值不为空时任意字符串将被转变为这个值
                '私聊': 'private',
                'private': 'private',
                '群聊': 'group',
                'group': 'group',
                '好友': 'private',
                '群': 'group',
            }
        },
        {
            'name': 'send_id',  #参数名
            'des': '对象ID',  #参数错误描述
            'type':
            'int',  #参数类型int float str list dict (list与dict需要使用函数或正则表达式进行二次处理)
            'strip': True,  #是否strip
            'lower': False,  #是否转换为小写
            'default': None,  #默认值
            'func': None,  #函数,当存在时使用函数进行二次处理
            're': None,  #正则表达式匹配(match函数)
            'vlimit': {
                #参数限制表(限制参数内容,空表则不限制),'*':''表示匹配任意字符串,值不为空时任意字符串将被转变为这个值
            }
        }
    ]
    res = argDeal(session.current_arg_text.strip(), arglimit)
    if not res[0]:
        await session.send(res[1] + '=>' + res[2])
        return
    args = res[1]
    res = push_list.delPushunitFromPushTo(args['message_type'],
                                          args['send_id'],
                                          self_id=int(
                                              session.event['self_id']))
    push_list.savePushList()
    await session.send(res[1])