async def push_start(bot: Bot, event: Event, state: T_State): push_infor = Push_information() state['push_infor'] = push_infor des = event.get_event_description() des = des.split(' ')[3].split('@') args = str(event.get_message()).strip() # msg = str(event.get_message()) if len(des) == 1: for i in push_list: if i.num == int(des[0]): await push_start_event.finish('start push already') break else: push_infor.type = 'friend' push_infor.num = int(des[0]) else: des = des[1].split(':')[1].replace(']', '') for i in push_list: if i.num == int(des): await push_start_event.finish('start push already') break else: push_infor.type = 'group' push_infor.num = int(des) if args: state['citys'] = args if len(start_time) == 0: start_time.append('0') push_schedule.add_job(weather_push, 'cron', hour='7, 19', minute='30', jitter=120) push_schedule.start()
async def deal_event(bot: Bot, event: Event, state: T_State): """ 说明 """ cmd_words = ['song_name', 'index'] cmd_flag = ['song_name_flag', 'index_flag'] state['song_name_flag'] = False state['index_flag'] = False des = event.get_event_description() des = des.split(' ')[3].split('@') args = str(event.get_message()).strip() if len(des) == 1: state['type'] = 'friend' state['user_id'] = int(des[0]) # await music_listen.finish('该命令不支持私聊,请通过群聊进行') else: des = des[1].split(':')[1].replace(']', '') state['type'] = 'group' state['group_id'] = int(des) if args: args = args.split('#') args.remove('') for i in range(len(args)): state[cmd_words[i]] = args[i] state[cmd_flag[i]] = True
async def msg_event_deal(bot: Bot, event: Event, state: T_State): message_event_name = event.get_event_name() message_event_des = event.get_event_description() message = event.get_plaintext() await test_event_com.send(message_event_name) await test_event_com.send(message_event_des) await test_event_com.send(message) await test_event_com.finish('finish')
async def weather_stop_puse(bot: Bot, event: Event, state: T_State): des = event.get_event_description() des = des.split(' ')[3].split('@') if len(des) == 1: push_friend_list.remove(int(des[0])) else: des = des[1].split(':')[1].replace(']', '') push_group_list.remove(int(des)) # await weather_puse_sys(False, '', bot) await weather_stop.finish('stop now')
async def deal_request_event(bot: Bot, event: Event): event_name = event.get_event_name() if event_name == 'request.friend': imfor = event.get_event_description().split("'") flag = imfor[-2].replace("'", "") await bot.set_friend_add_request(flag=flag, approve=False) elif event_name == 'request.group.invite': imfor = event.get_event_description().split("'") flag = imfor[-2].replace("'", "") sub_type = imfor[15].replace("'", "") await bot.set_group_add_request(flag=flag, sub_type=sub_type, approve=True) elif event_name == 'request.group.add': imfor = event.get_event_description().split("'") flag = imfor[-2].replace("'", "") sub_type = imfor[15].replace("'", "") await bot.set_group_add_request(flag=flag, sub_type=sub_type, approve=True) await request_event.finish()
async def push_stop(bot: Bot, event: Event): find_it = False des = event.get_event_description() des = des.split(' ')[3].split('@') if len(des) == 1: com = int(des[0]) else: des = des[1].split(':')[1].replace(']', '') com = int(des) for i in push_list: if i.num == com: find_it = True break if find_it: push_list.remove(i) await push_stop_event.finish('stop push') else: await push_stop_event.finish("you haven't start push")
async def weather_start_puse(bot: Bot, event: Event, state: T_State): if len(calltime) == 0: calltime.append('0') weather_scheduler.add_job(weather_puse, 'cron', minute='00, 15, 30, 45', args=[bot], misfire_grace_time=600) des = event.get_event_description() des = des.split(' ')[3].split('@') msg = str(event.get_message()) if len(des) == 1: push_friend_list.append(int(des[0])) else: des = des[1].split(':')[1].replace(']', '') push_group_list.append(int(des)) # await push_sys(city, bot) await weather_start.finish('start now')