def process_gif(bot, update, job_queue): (chat_id, chat_type, user_id, text, message) = support.extract_update_info(update) nanny = get_nanny_settings(chat_id) if nanny and nanny.animation: if support.is_admin(chat_id, user_id, bot) and not nanny.admin_too: return support.delete_message(chat_id, message.message_id, bot) if nanny.warn: send_warn(bot, chat_id, user_id, job_queue, nanny.reply) else: send_alert(bot, chat_id, job_queue, nanny.reply)
def nanny_text(bot, user_id, chat_id, message, job_queue): nanny = get_nanny_settings(chat_id) if nanny and nanny.text: if support.is_admin(chat_id, user_id, bot) and not nanny.admin_too: return False support.delete_message(chat_id, message.message_id, bot) if nanny and nanny.warn: send_warn(bot, chat_id, user_id, job_queue, nanny.reply) else: send_alert(bot, chat_id, job_queue, nanny.reply) return True return False
def process_cmd(bot, update, job_queue): (chat_id, chat_type, user_id, text, message) = support.extract_update_info(update) try: args = re.sub(r"^/[a-zA-Z0-9_]+", "", text).strip().split(" ") if len(args) == 1 and args[0] == "": args = [] except Exception: args = None m = re.match("/([a-zA-Z0-9_]+)", text) if m is not None: command = m.group(1).lower() if command == "init_news": init_news(bot, update, args) return elif command == "stop_news": stop_news(bot, update, job_queue) return nanny = get_nanny_settings(chat_id) if nanny and nanny.command: if support.is_admin(chat_id, user_id, bot) and not nanny.admin_too: return support.delete_message(chat_id, message.message_id, bot) if nanny and nanny.warn: send_warn(bot, chat_id, user_id, job_queue, nanny.reply) else: send_alert(bot, chat_id, job_queue, nanny.reply)
def get_settings_keyboard(chat_id, keyboard="main"): if keyboard == "main": settings_keyboard = [ [ InlineKeyboardButton("👷♂️ Administración »", callback_data='settings_goto_ladmin') ], [ InlineKeyboardButton("🛠 Ajustes »", callback_data='settings_goto_general') ], [ InlineKeyboardButton("👋 Bienvenida »", callback_data='settings_goto_welcome') ], [ InlineKeyboardButton("🚪 Entrada »", callback_data='settings_goto_join') ], [ InlineKeyboardButton("📯 Noticias »", callback_data='settings_goto_news') ], [ InlineKeyboardButton("🏫 Modo biblioteca »", callback_data='settings_goto_nanny') ], [InlineKeyboardButton("Terminado", callback_data='settings_done')] ] #2.GROUP SETTINGS elif keyboard == "general": group = get_group_settings(chat_id) if group.games == 1: games_text = "✅ Juegos" else: games_text = "▪️ Juegos" if group.hard == 1: hard_text = "✅ Ban (Warns)" else: hard_text = "▪️ Kick (Warns)" if group.reply_on_group == 1: reply_on_group_text = "✅ Respuestas en el grupo" else: reply_on_group_text = "▪️ Respuestas al privado" if group.warn is model.WarnLimit.SO_EXTRICT.value: warn_text = "Limite de warns: 3" elif group.warn is model.WarnLimit.EXTRICT.value: warn_text = "Limite de warns: 5" elif group.warn is model.WarnLimit.LOW_PERMISIVE.value: warn_text = "Limite de warns: 10" elif group.warn is model.WarnLimit.MED_PERMISIVE.value: warn_text = "Limite de warns: 25" elif group.warn is model.WarnLimit.HIGH_PERMISIVE.value: warn_text = "Limite de warns: 50" elif group.warn is model.WarnLimit.SO_TOLERANT.value: warn_text = "Limite de warns: 100" settings_keyboard = [ [ InlineKeyboardButton(games_text, callback_data='settings_general_games') ], [ InlineKeyboardButton(hard_text, callback_data='settings_general_hard') ], [ InlineKeyboardButton(reply_on_group_text, callback_data='settings_general_reply') ], [ InlineKeyboardButton(warn_text, callback_data='settings_general_warn') ], [ InlineKeyboardButton("« Menú principal", callback_data='settings_goto_main') ] ] #3.JOIN SETTINGS elif keyboard == "join": join = get_join_settings(chat_id) if join.requirment is model.ValidationRequiered.NO_VALIDATION.value: validationrequired_text = "▪️ Grupo abierto" elif join.requirment is model.ValidationRequiered.VALIDATION.value: validationrequired_text = "✅ Validación obligatoria" elif join.requirment is model.ValidationRequiered.PROFESSOR.value: validationrequired_text = "📚 Profesor" elif join.requirment is model.ValidationRequiered.MAGIZOOLOGIST.value: validationrequired_text = "🐾 Magizoologo" elif join.requirment is model.ValidationRequiered.AUROR.value: validationrequired_text = "⚔ Auror" elif join.requirment is model.ValidationRequiered.GRYFFINDOR.value: validationrequired_text = "🦁 Gryffindor" elif join.requirment is model.ValidationRequiered.HUFFLEPUFF.value: validationrequired_text = "🦡 Hufflepuff" elif join.requirment is model.ValidationRequiered.RAVENCLAW.value: validationrequired_text = "🦅 Ravenclaw" elif join.requirment is model.ValidationRequiered.SLYTHERIN.value: validationrequired_text = "🐍 Slytherin" if join.val_alert is True: mute_text = "✅ Expulsiones silenciosas" else: mute_text = "▪️ Expulsiones notificadas" if join.delete_header is True: silence_text = "✅ Borrar -> entró al grupo" else: silence_text = "▪️ Borrar -> entró al grupo" settings_keyboard = [ [ InlineKeyboardButton(mute_text, callback_data='settings_join_mute') ], [ InlineKeyboardButton(silence_text, callback_data='settings_join_silence') ], [ InlineKeyboardButton(validationrequired_text, callback_data='settings_join_val') ], [ InlineKeyboardButton("« Menú principal", callback_data='settings_goto_main') ] ] #5.NEWS SETTINGS elif keyboard == "news": providers = get_verified_providers() settings_keyboard = [] for k in providers: if is_news_subscribed(chat_id, k.id): status = "✅ @" else: status = "▪️ @" text = status + k.alias settings_keyboard.append([ InlineKeyboardButton(text, callback_data='settings_news_{}'.format( k.id)) ]) settings_keyboard.append([ InlineKeyboardButton("« Menú principal", callback_data='settings_goto_main') ]) #6.WELCOME SETTINGS elif keyboard == "welcome": welcome = get_welcome_settings(chat_id) if welcome.should_welcome == 1: welcome_text = "✅ Bienvenida" else: welcome_text = "▪️ Bienvenida" settings_keyboard = [[ InlineKeyboardButton(welcome_text, callback_data='settings_welcome_welcome') ], [ InlineKeyboardButton( "« Menú principal", callback_data='settings_goto_main') ]] #7.NANNY SETTINGS elif keyboard == "nanny": nanny = get_nanny_settings(chat_id) if nanny is None: set_nanny(chat_id) nanny = get_nanny_settings(chat_id) if nanny.voice == 1: voice_text = "✅ Audio y Voz" else: voice_text = "▪️ Audio y Voz" if nanny.command == 1: comandos_text = "✅ Comandos" else: comandos_text = "▪️ Comandos" if nanny.contact == 1: contact_text = "✅ Contactos" else: contact_text = "▪️ Contactos" if nanny.animation == 1: animation_text = "✅ GIFs y Documentos" else: animation_text = "▪️ GIFs y Documentos" if nanny.photo == 1: photo_text = "✅ Imagenes" else: photo_text = "▪️ Imagenes" if nanny.games == 1: games_text = "✅ Juegos" else: games_text = "▪️ Juegos" if nanny.text == 1: text_text = "✅ Mensajes" else: text_text = "▪️ Mensajes" if nanny.sticker == 1: sticker_text = "✅ Stickers" else: sticker_text = "▪️ Stickers" if nanny.location == 1: location_text = "✅ Ubicaciones" else: location_text = "▪️ Ubicaciones" if nanny.urls == 1: url_text = "✅ URLs" else: url_text = "▪️ URLs" if nanny.video == 1: video_text = "✅ Video" else: video_text = "▪️ Video" if nanny.warn == 1: warn_text = "✅ Warns" else: warn_text = "▪️ Warns" if nanny.admin_too == 1: admin_too_text = "️✅ Mensajes de administradores" else: admin_too_text = "️️️▪️ Mensajes de administradores" settings_keyboard = [ [ InlineKeyboardButton(voice_text, callback_data='settings_nanny_voice') ], [ InlineKeyboardButton(comandos_text, callback_data='settings_nanny_command') ], [ InlineKeyboardButton(contact_text, callback_data='settings_nanny_contact') ], [ InlineKeyboardButton(animation_text, callback_data='settings_nanny_animation') ], [ InlineKeyboardButton(photo_text, callback_data='settings_nanny_photo') ], [ InlineKeyboardButton(games_text, callback_data='settings_nanny_games') ], [ InlineKeyboardButton(text_text, callback_data='settings_nanny_text') ], [ InlineKeyboardButton(sticker_text, callback_data='settings_nanny_sticker') ], [ InlineKeyboardButton(location_text, callback_data='settings_nanny_location') ], [ InlineKeyboardButton(url_text, callback_data='settings_nanny_url') ], [ InlineKeyboardButton(video_text, callback_data='settings_nanny_video') ], [ InlineKeyboardButton(warn_text, callback_data='settings_nanny_warn') ], [ InlineKeyboardButton(admin_too_text, callback_data='settings_nanny_admin_too') ], [ InlineKeyboardButton("« Menú principal", callback_data='settings_goto_main') ] ] #8. LOCAL ADMIN elif keyboard == "ladmin": adgroup = get_particular_admin(chat_id) if adgroup.admin == 1: admin_text = "✅ @admin" else: admin_text = "▪️ @admin" if adgroup.welcome == 1: welcome_text = "✅ Entrada de usuarios" else: welcome_text = "▪️ Entrada de usuarios" if adgroup.ejections == 1: ejections_text = "✅ Expulsiones" else: ejections_text = "▪️ Expulsiones" settings_keyboard = [ [ InlineKeyboardButton(admin_text, callback_data='settings_ladmin_admin') ], [ InlineKeyboardButton(welcome_text, callback_data='settings_ladmin_welcome') ], [ InlineKeyboardButton(ejections_text, callback_data='settings_ladmin_ejections') ], [ InlineKeyboardButton("« Menú principal", callback_data='settings_goto_main') ] ] #0. ADMIN elif keyboard == "admin": adgroup = get_admin(chat_id) if adgroup.admin == 1: admin_text = "✅ @admin" else: admin_text = "▪️ @admin" if adgroup.welcome == 1: welcome_text = "✅ Entrada de usuarios" else: welcome_text = "▪️ Entrada de usuarios" if adgroup.ejections == 1: ejections_text = "✅ Expulsiones" else: ejections_text = "▪️ Expulsiones" spy_mode = "🦅 Fawkes" settings_keyboard = [ [ InlineKeyboardButton(admin_text, callback_data='settings_admin_admin') ], [ InlineKeyboardButton(welcome_text, callback_data='settings_admin_welcome') ], [ InlineKeyboardButton(ejections_text, callback_data='settings_admin_ejections') ], [ InlineKeyboardButton(spy_mode, callback_data='settings_admin_spy') ], [InlineKeyboardButton("Terminado", callback_data='settings_done')] ] settings_markup = InlineKeyboardMarkup(settings_keyboard) return settings_markup