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']) + ' 群组,相关侦听已移除')
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])
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
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])
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])