Ejemplo n.º 1
0
def init(update, context):
    languages(update, context)
    msg = update.message.text[4:].strip()
    if msg != "":
        message(update, context, msg)
    else:
        message(update, context, languages.say_error)
Ejemplo n.º 2
0
def init(update, context):
    bot = context.bot
    chat = update.effective_message.chat_id
    languages(update, context)
    msg = languages.helps.format("@" + bot.username)
    buttons = []
    buttons.append(
        InlineKeyboardButton(
            "Commands List",
            url='https://github.com/Squirrel-Network/nebula8/wiki/Command-List'
        ))
    buttons.append(
        InlineKeyboardButton(
            "Source", url='https://github.com/Squirrel-Network/nebula8'))
    buttons.append(
        InlineKeyboardButton("Logs Channel", url='https://t.me/nebulalogs'))
    buttons.append(
        InlineKeyboardButton("News Channel", url='https://t.me/nebulanewsbot'))
    buttons.append(
        InlineKeyboardButton("BlackList Search",
                             url='https://squirrel-network.online/knowhere'))
    buttons.append(
        InlineKeyboardButton(
            "Official API Docs",
            url='https://api.nebula.squirrel-network.online/apidocs'))
    buttons.append(
        InlineKeyboardButton("Network SN", url='https://t.me/squirrelnetwork'))
    menu = build_menu(buttons, 3)
    bot.send_message(chat, msg, reply_markup=InlineKeyboardMarkup(menu))
Ejemplo n.º 3
0
def ban_success(update, context, chat, username=None, id=None):
    languages(update, context)
    message(update, context,
            languages.user_ban % (username if username is not None else id))
    logs_text = "<b>#Log User Banned!</b>\nGroup: {}\nUser: {}".format(
        chat.id, username or id)
    telegram_loggers(update, context, logs_text)
Ejemplo n.º 4
0
def init(update, context):
    languages(update, context)
    reply = update.message.reply_to_message
    if reply is not None:
        delete_message_reply(update, context)
    else:
        message(update, context, languages.delete_error_msg)
Ejemplo n.º 5
0
def init(update, context):
    bot = context.bot
    chat = chat_object(update)
    languages(update, context)
    record_arabic = GroupRepository.SET_ARABIC
    record_chinese = GroupRepository.SET_CHINESE
    record_cirillic = GroupRepository.SET_CIRILLIC
    record_no_user_photo = GroupRepository.SET_USER_PROFILE_PICT
    record_silence = GroupRepository.SET_SILENCE
    record_block_channel = GroupRepository.SENDER_CHAT_BLOCK
    record_zoophile = GroupRepository.ZOOPHILE_FILTER

    data = [(0, 1, chat.id)]
    GroupRepository().set_block_entry(data)
    update_db_settings(update, record_arabic, False)
    update_db_settings(update, record_chinese, False)
    update_db_settings(update, record_cirillic, False)
    update_db_settings(update, record_no_user_photo, False)
    update_db_settings(update, record_silence, False)
    update_db_settings(update, record_block_channel, False)
    update_db_settings(update, record_zoophile, False)
    buttons = []
    buttons.append(
        InlineKeyboardButton('❌ Remove Shield', callback_data='removeShield'))
    menu = build_menu(buttons, 1)

    bot.set_chat_permissions(update.effective_chat.id, PERM_FALSE)
    bot.send_message(chat.id,
                     languages.shield_on,
                     reply_markup=InlineKeyboardMarkup(menu),
                     parse_mode='HTML')
    logs_text = '🛡Shield Activated in {} <code>[{}]</code>'.format(
        chat.title, chat.id)
    telegram_loggers(update, context, logs_text)
Ejemplo n.º 6
0
def init(update,context):
    chat = chat_object(update)
    get_group = GroupRepository().getById(chat.id)
    max_warn = get_group['max_warn']
    current_time = datetime.datetime.utcnow().isoformat()
    default_warn = 1
    languages(update,context)
    if update.message.reply_to_message:
        reason = update.message.text[5:]
        user = user_reply_object(update)
        get_user = UserRepository().getUserByGroup([user.id,chat.id])
        warn_count = get_user['warn_count'] if get_user is not None else 0
        if warn_count != max_warn:
            buttons = []
            buttons.append(InlineKeyboardButton('➖ 1', callback_data='downWarn'))
            buttons.append(InlineKeyboardButton('➕ 1', callback_data='upWarn'))
            buttons.append(InlineKeyboardButton(languages.button_remove, callback_data='removeWarn'))
            menu = build_menu(buttons,3)
            if get_user:
                default_warn_count = 0
                username = "******"+user.username
                data = [(username,current_time,user.id)]
                UserRepository().update(data)
                data_mtm = [(user.id, chat.id, default_warn_count)]
                UserRepository().add_into_mtm(data_mtm)
                data_warn = [(user.id,chat.id)]
                UserRepository().updateWarn(data_warn)
                if reason:
                    msg = languages.warn_with_reason.format(mention_html(user.id, user.first_name),chat.title,chat.id,reason)
                    update.message.reply_to_message.reply_text(msg, reply_markup=InlineKeyboardMarkup(menu),parse_mode='HTML')
                else:
                    msg = languages.warn_user.format(mention_html(user.id, user.first_name),chat.title,chat.id)
                    update.message.reply_to_message.reply_text(msg, reply_markup=InlineKeyboardMarkup(menu),parse_mode='HTML')
                log_txt = "‼️ #Log {} was warned\nin the group: {} <code>[{}]</code>".format(mention_html(user.id, user.first_name),chat.title,chat.id)
                if reason:
                    log_txt = "‼️ #Log {} was warned\nin the group: {} <code>[{}]</code>\nReason: {}".format(mention_html(user.id, user.first_name),chat.title,chat.id,reason)
                telegram_loggers(update,context,log_txt)
            else:
                username = "******"+user.username
                data = [(user.id,username,current_time,current_time)]
                UserRepository().add(data)
                data_mtm = [(user.id, chat.id, default_warn)]
                UserRepository().add_into_mtm(data_mtm)
                if reason:
                    message(update,context,languages.warn_with_reason.format(username,chat.title,chat.id,reason))
                else:
                    message(update,context,languages.warn_user.format(username,chat.title,chat.id))
                log_txt = "‼️ #Log {} was warned\nin the group: {} <code>[{}]</code>".format(mention_html(user.id, user.first_name),chat.title,chat.id)
                if reason:
                    log_txt = "‼️ #Log {} was warned\nin the group: {} <code>[{}]</code>\nReason: {}".format(mention_html(user.id, user.first_name),chat.title,chat.id,reason)
                telegram_loggers(update,context,log_txt)
        else:
            ban_user_reply(update,context)
            buttons = []
            buttons.append(InlineKeyboardButton('Remove', callback_data='removeWarn'))
            menu = build_menu(buttons,2)
            msg = languages.warn_user_max.format(user.username,chat.title)
            update.message.reply_to_message.reply_text(msg, reply_markup=InlineKeyboardMarkup(menu),parse_mode='HTML')
    else:
        message(update,context,languages.error_response_user_msg)
Ejemplo n.º 7
0
def update_rules(update, context):
    query = update.callback_query
    if query.data == 'openRules':
        languages(update, context)
        chat = update.effective_message.chat_id
        row = GroupRepository().getById([chat])
        query.edit_message_text(languages.rules.format(row['rules_text']),
                                parse_mode='HTML')
Ejemplo n.º 8
0
def init(update, context):
    languages(update, context)
    chat = update.effective_message.chat_id
    rows = GroupRepository().getById([chat])
    for row in rows:
        message(
            update, context,
            languages.group_info.format(row['id_group'], row['welcome_text'],
                                        row['rules_text'], row['languages']))
Ejemplo n.º 9
0
def init(update, context):
    languages(update,context)
    chat = update.effective_chat.id
    msg = update.message.text[8:].strip()
    if msg != "":
        data = [(msg, chat)]
        GroupRepository().update_group_welcome(data)
        message(update, context, languages.set_welcome_help)
    else:
        message(update, context, languages.set_welcome_main)
Ejemplo n.º 10
0
def init(update, context):
    record = GroupRepository.SET_RULES_TEXT
    chat = update.effective_chat.id
    msg = update.message.text[9:].strip()
    languages(update, context)
    if msg != "":
        data = [(msg, chat)]
        GroupRepository().update_group_settings(record, data)
        message(update, context, languages.rules_msg)
    else:
        message(update, context, languages.rules_error_msg)
Ejemplo n.º 11
0
def init(update, context):
    bot = context.bot
    languages(update, context)
    api_meme = "https://memes.blademaker.tv/api?lang={}".format(
        languages.lang_default)
    get = requests.get(api_meme)
    response = get.json()
    img = response["image"]
    bot.sendPhoto(chat_id=update.effective_chat.id,
                  photo=img,
                  caption="Want another one? click /meme")
Ejemplo n.º 12
0
def badlist(update, context):
    chat = chat_object(update)
    languages(update, context)
    rows = GroupRepository().get_badwords_group(chat.id)
    if rows:
        string = ""
        for row in rows:
            string += "▪️ {}\n".format(row['word'])
        message(update, context,
                languages.badlist_text.format(chat.title, string))
    else:
        message(update, context, languages.badlist_empty)
Ejemplo n.º 13
0
def init(update, context):
    languages(update,context)
    bot = bot_object(update,context)
    user = user_object(update)
    get_user_lang = user.language_code
    if get_user_lang == 'it':
        message(update,context,
        "Ciao io mi chiamo {} e sono uno strumento per la gestione dei gruppi con tante funzioni speciali"\
            " tutte da scoprire! e sono Open Source! Se vuoi vedere il mio sorgente digita:"\
            " /source\nSe hai bisogno di aiuto digita /help".format("@"+bot.username))
    else:
        message(update,context,languages.start.format("@"+bot.username))
Ejemplo n.º 14
0
def init(update, context):
    languages(update, context)
    if update.message.reply_to_message:
        user = update.message.reply_to_message.from_user
        buttons = []
        buttons.append(
            InlineKeyboardButton(languages.mute_button,
                                 callback_data='CMunmute'))
        buttons.append(InlineKeyboardButton('30Sec', callback_data='CM30'))
        buttons.append(InlineKeyboardButton('1 Hour', callback_data='CM3600'))
        buttons.append(InlineKeyboardButton('1 Day', callback_data='CM86400'))
        buttons.append(InlineKeyboardButton('3 Days',
                                            callback_data='CM259200'))
        buttons.append(InlineKeyboardButton('7 Days',
                                            callback_data='CM604800'))
        buttons.append(
            InlineKeyboardButton('Forever', callback_data='CMforever'))
        menu = build_menu(buttons, 2)
        msg = languages.mute_msg.format(user.id, user.first_name, user.id)
        update.message.reply_to_message.reply_text(
            msg, reply_markup=InlineKeyboardMarkup(menu), parse_mode='HTML')
        mute_user_reply(update, context, True)
    else:
        text = update.message.text
        input_user_id = text[5:].strip().split(" ", 1)
        user_id = input_user_id[0]
        time_args = input_user_id[1]
        if user_id != "" and time_args != "":
            if user_id.startswith('@'):
                time_args = input_user_id[1]
                arg_time = convert_time(update, context, time_args)
                mute_user_by_username_time(update, context, user_id, arg_time)
                msg = 'You muted the user {} for <code>{}</code> seconds'.format(
                    user_id, time_args)
                message(update, context, msg)
            else:
                time_args = input_user_id[1]
                number = re.search(Regex.HAS_NUMBER, user_id)
                if number is None:
                    message(
                        update, context,
                        "Type a correct telegram id or type in the username!")
                else:
                    mute_user_by_id_time(update, context, user_id, True,
                                         int(time_args))
                    msg = 'You muted the user <a href="tg://user?id={}">{}</a> <code>[{}]</code> for <code>{}</code> seconds'.format(
                        user_id, user_id, user_id, time_args)
                    message(update, context, msg)
        else:
            message(
                update, context,
                "Attention you have not entered the user id and mute time correctly"
            )
Ejemplo n.º 15
0
def global_report(update, context):
    bot = context.bot
    chat = chat_object(update)
    languages(update, context)
    if update.effective_message.reply_to_message:
        message(update, context, languages.delete_error_msg)
    else:
        link = bot.export_chat_invite_link(chat.id)
        msg = "#GlobalReport\nChatId: {}\nChat: {}\nLink: {}".format(
            chat.id, chat.title, link)
        msg_report = languages.global_report_msg
        staff_loggers(update, context, msg)
        message(update, context, msg_report)
Ejemplo n.º 16
0
def init(update, context):
    languages(update, context)

    bot = bot_object(update, context)
    chat = update.effective_chat
    reply = update.message.reply_to_message

    if reply is not None:
        if reply.from_user.id == bot.id:
            message(update, context, languages.bot_ban)
        else:
            ban_text = languages.ban_message.format(
                user=reply.from_user.username or reply.from_user.first_name,
                userid=reply.from_user.id,
                chat=chat.title)

            logs_text = Strings.BAN_LOG.format(
                username=reply.from_user.username
                or reply.from_user.first_name,
                id=reply.from_user.id,
                chat=chat.title)

            delete_message_reply(update, context)
            ban_user_reply(update, context)
            message(update, context, ban_text)
            telegram_loggers(update, context, logs_text)

            formatter = "Ban eseguito da: {} nella chat {}".format(
                update.message.from_user.id, chat.title)

            sys_loggers("[BAN_LOGS]", formatter, False, True)
    else:
        ban_argument = update.message.text[5:]

        is_user_id = Try.of(lambda: int(ban_argument)).valueOf() is not None

        if ban_argument[0] is '@':
            username = ban_argument

            Try.of(lambda: ban_user_by_username(update, context, username)) \
             .catch(lambda err: ban_error(update, context, username = username)) \
             .map(lambda x : ban_success(update, context, chat, username = username))
        elif is_user_id:
            userid = ban_argument

            Try.of(lambda: ban_user_by_id(update, context, userid)) \
             .catch(lambda err: ban_error(update, context, id = userid)) \
             .map(lambda x : ban_success(update, context, chat, id = userid))
        else:
            message(update, context, languages.ban_error.format(ban_argument))
            return
Ejemplo n.º 17
0
def init(update, context):
    bot = context.bot
    languages(update, context)
    chat = update.effective_message.chat_id
    chat_title = update.message.chat.title
    list_buttons = []
    list_buttons.append(
        InlineKeyboardButton(languages.rules_button,
                             callback_data='openRules'))
    menu = build_menu(list_buttons, 1)
    bot.send_message(chat,
                     languages.rules_main.format(chat_title, chat),
                     reply_markup=InlineKeyboardMarkup(menu),
                     parse_mode='HTML')
Ejemplo n.º 18
0
def init(update, context):
    languages(update, context)
    record = GroupRepository.SET_WELCOME_TEXT
    chat = update.effective_chat.id
    msg = update.message.text[8:].strip()
    reply = update.message.reply_to_message
    if reply:
        welcome_text = str(reply.text).lower()
        data = [(welcome_text, chat)]
        GroupRepository().update_group_settings(record, data)
        message(update, context, text="Welcome impostato!")
    else:
        if msg != "":
            data = [(msg, chat)]
            GroupRepository().update_group_settings(record, data)
            message(update, context, languages.set_welcome_help)
        else:
            message(update, context, languages.set_welcome_main)
Ejemplo n.º 19
0
def init(update, context):
    languages(update, context)
    chat = update.effective_message.chat_id
    chat_title = update.effective_chat.title
    record = GroupRepository.SET_GROUP_NAME
    row = GroupRepository().getById([chat])
    if row:
        data = [(chat_title, chat)]
        GroupRepository().update_group_settings(record, data)
        counter = GroupRepository().getUpdatesByChatMonth(chat)
        img = row['group_photo']
        caption = languages.group_info.format(
            row['group_name'], row['id_group'], row['welcome_text'],
            row['rules_text'], row['languages'], row['max_warn'],
            row['total_users'], counter['counter'])
        messagePhoto(update, context, img, caption)
    else:
        save_group(update)
Ejemplo n.º 20
0
def set_ban_message(update, context):
    languages(update, context)
    record = GroupRepository.BAN_MESSAGE
    chat = update.effective_chat.id
    msg = update.message.text[7:]
    reply = update.message.reply_to_message
    if reply:
        ban_text = str(reply.text).lower()
        data = [(ban_text, chat)]
        GroupRepository().update_group_settings(record, data)
        message(update, context, text="Testo Ban impostato!")
    else:
        if msg != "":
            data = [(msg, chat)]
            GroupRepository().update_group_settings(record, data)
            message(update, context, "Hai Impostato il Messaggio Di Ban!")
        else:
            message(update, context, "Il testo del ban non può essere vuoto!")
Ejemplo n.º 21
0
def init(update, context):
    bot = bot_object(update, context)
    chat_id = update.message.chat_id
    get_bot = bot.getChatMember(chat_id, bot.id)
    languages(update, context)

    perm_delete = get_bot.can_delete_messages
    perm_ban = get_bot.can_restrict_members
    perm_pin = get_bot.can_pin_messages
    perm_edit_msg = get_bot.can_be_edited
    perm_media = get_bot.can_send_media_messages
    perm_send_message = get_bot.can_send_messages
    if None in [
            perm_delete, perm_ban, perm_pin, perm_edit_msg, perm_media,
            perm_send_message
    ]:
        message(update, context, languages.perm_error)
    else:
        message(update, context, languages.perm_ok)
Ejemplo n.º 22
0
def update_mute(update, context):
    query = update.callback_query
    user = query.message.reply_to_message.from_user
    if query.data.startswith("CM"):
        txt = query.data[2:]
        if txt == "30":
            mute_user_by_id_time(update, context, user.id, True, int(txt))
            msg = 'You muted the user <a href="tg://user?id={}">{}</a> <code>[{}]</code> for <code>{}</code> seconds'.format(
                user.id, user.first_name, user.id, txt)
            query.edit_message_text(msg, parse_mode='HTML')
        if txt == "3600":
            mute_user_by_id_time(update, context, user.id, True, int(txt))
            msg = 'You muted the user <a href="tg://user?id={}">{}</a> <code>[{}]</code> for 1 Hour'.format(
                user.id, user.first_name, user.id)
            query.edit_message_text(msg, parse_mode='HTML')
        if txt == "86400":
            mute_user_by_id_time(update, context, user.id, True, int(txt))
            msg = 'You muted the user <a href="tg://user?id={}">{}</a> <code>[{}]</code> for 1 Day'.format(
                user.id, user.first_name, user.id)
            query.edit_message_text(msg, parse_mode='HTML')
        if txt == "259200":
            mute_user_by_id_time(update, context, user.id, True, int(txt))
            msg = 'You muted the user <a href="tg://user?id={}">{}</a> <code>[{}]</code> for 3 Day'.format(
                user.id, user.first_name, user.id)
            query.edit_message_text(msg, parse_mode='HTML')
        if txt == "604800":
            mute_user_by_id_time(update, context, user.id, True, int(txt))
            msg = 'You muted the user <a href="tg://user?id={}">{}</a> <code>[{}]</code> for 7 Day'.format(
                user.id, user.first_name, user.id)
            query.edit_message_text(msg, parse_mode='HTML')
        if txt == "forever":
            mute_user_by_id(update, context, user.id, True)
            msg = 'You muted the user <a href="tg://user?id={}">{}</a> <code>[{}]</code> forever'.format(
                user.id, user.first_name, user.id)
            query.edit_message_text(msg, parse_mode='HTML')
        if txt == 'unmute':
            languages(update, context)
            mute_user_by_id(update, context, user.id, False)
            msg = languages.mute_msg_r.format(user.id, user.first_name,
                                              user.id)
            query.edit_message_text(msg, parse_mode='HTML')
Ejemplo n.º 23
0
def init(update, context):
    bot = context.bot
    staff_group_id = -1001267698171
    buttons = []
    buttons.append(InlineKeyboardButton('Risolto✅', callback_data='resolved'))
    menu = build_menu(buttons, 2)
    if update.effective_message.forward_date is not None:
        return

    chat = update.effective_chat
    languages(update, context)
    if str(update.effective_message.text).lower().startswith("@admin"):
        if update.effective_message.reply_to_message:
            msg = update.effective_message.reply_to_message
            format_link = "https://t.me/c/{}/{}".format(
                str(chat.id)[3:], msg.message_id)
            format_message = Strings.REPORT_MSG.format(chat.id, chat.title,
                                                       msg.text, format_link)
            reply_message(update, context, languages.report_msg)
            telegram_loggers(update, context, format_message)
            bot.send_message(staff_group_id,
                             format_message,
                             reply_markup=InlineKeyboardMarkup(menu),
                             parse_mode='HTML')
        else:
            msg_id = update.effective_message.message_id
            user_id = update.message.from_user.id
            user_first = update.message.from_user.first_name
            format_link = "https://t.me/c/{}/{}".format(
                str(chat.id)[3:], msg_id)
            format_message = '#Report\nUser: <a href="tg://user?id={}">{}</a>\nGroup Id: <code>[{}]</code>\nGroup Title: {}\nLink: {}'.format(
                user_id, user_first,
                str(chat.id)[3:], chat.title, format_link)
            reply_message(update, context, languages.report_msg)
            telegram_loggers(update, context, format_message)
            bot.send_message(staff_group_id,
                             format_message,
                             reply_markup=InlineKeyboardMarkup(menu),
                             parse_mode='HTML')
Ejemplo n.º 24
0
def init(update, context):
    try:
        languages(update, context)
        if update.message.reply_to_message:
            bot = bot_object(update, context)
            chat = chat_object(update)
            user = user_reply_object(update)
            bot.promoteChatMember(chat.id,
                                  user.id,
                                  can_change_info=True,
                                  can_delete_messages=True,
                                  can_invite_users=True,
                                  can_restrict_members=True,
                                  can_pin_messages=True,
                                  can_promote_members=True)
        else:
            message(update, context, languages.delete_error_msg)
    except BadRequest:
        message(
            update,
            context,
            text=
            "Non ho il permesso per promuovere questo utente come admin!\nPuoi darmi questo permesso spuntando il flag:\n <i>Aggiungere Amministratori</i>"
        )
Ejemplo n.º 25
0
def update_settings(update,context):
    bot = context.bot
    languages(update,context)
    query = update.callback_query
    chat = update.effective_message.chat_id
    group = GroupRepository().getById(chat)
    # Set Welcome
    if query.data == 'setWelcome':
        record = GroupRepository.SET_WELCOME
        row = group['set_welcome']
        if row == 1:
            update_db_settings(update, record, True)
            return keyboard_settings(query,context,True)
        else:
            data_block = [(1,0,chat)]
            update_db_settings(update, record, False)
            GroupRepository().set_block_entry(data_block)
            return keyboard_settings(query,context,True)
    # Set Global Silence
    if query.data == 'setSilence':
        record = GroupRepository.SET_SILENCE
        row = group['set_silence']
        if row == 0:
            update_db_settings(update, record, False)
            bot.set_chat_permissions(update.effective_chat.id, PERM_FALSE)
            return keyboard_settings(query,context,True)
        else:
            update_db_settings(update, record, True)
            bot.set_chat_permissions(update.effective_chat.id, PERM_TRUE)
            return keyboard_settings(query,context,True)
    # Set Block Entry
    if query.data == 'setBlockEntry':
        row = group['block_new_member']
        if row == 0:
            data = [(0,1,chat)]
            GroupRepository().set_block_entry(data)
            return keyboard_settings(query,context,True)
        else:
            data = [(1,0,chat)]
            GroupRepository().set_block_entry(data)
            return keyboard_settings(query,context,True)
    if query.data == 'channelblock':
        record = GroupRepository.SENDER_CHAT_BLOCK
        row = group['sender_chat_block']
        if row == 1:
            update_db_settings(update, record, True)
            return keyboard_settings(query,context,True)
        else:
            update_db_settings(update, record, False)
            return keyboard_settings(query,context,True)
    if query.data == 'spoilerblock':
        record = GroupRepository.SPOILER_BLOCK
        row = group['spoiler_block']
        if row == 1:
            update_db_settings(update, record, True)
            return keyboard_settings(query,context,True)
        else:
            update_db_settings(update, record, False)
            return keyboard_settings(query,context,True)

    if query.data == 'novocal':
        record = GroupRepository.SET_NO_VOCAL
        row = group['set_no_vocal']
        if row == 1:
            update_db_settings(update, record, True)
            return keyboard_settings(query,context,True)
        else:
            update_db_settings(update, record, False)
            return keyboard_settings(query,context,True)

    if query.data == 'setAntiflood':
        record = GroupRepository.SET_ANTIFLOOD
        row = group['set_antiflood']
        if row == 1:
            update_db_settings(update, record, True)
            return keyboard_settings(query,context,True)
        else:
            update_db_settings(update, record, False)
            return keyboard_settings(query,context,True)

    ###################################
    ####  SET WELCOME FILTERS      ####
    ###################################
    # Set Block Arabic Entry
    if query.data == 'arabic':
        record = GroupRepository.SET_ARABIC
        row = group['set_arabic_filter']
        if row == 1:
            update_db_settings(update, record, True)
            return keyboard_settings(query,context,True)
        else:
            update_db_settings(update, record, False)
            return keyboard_settings(query,context,True)
    # Set Block Cirillic Entry
    if query.data == 'cirillic':
        record = GroupRepository.SET_CIRILLIC
        row = group['set_cirillic_filter']
        if row == 1:
            update_db_settings(update, record, True)
            return keyboard_settings(query,context,True)
        else:
            update_db_settings(update, record, False)
            return keyboard_settings(query,context,True)
    if query.data == 'chinese':
        record = GroupRepository.SET_CHINESE
        row = group['set_chinese_filter']
        if row == 1:
            update_db_settings(update, record, True)
            return keyboard_settings(query,context,True)
        else:
            update_db_settings(update, record, False)
            return keyboard_settings(query,context,True)
    if query.data == 'userPhoto':
        record = GroupRepository.SET_USER_PROFILE_PICT
        row = group['set_user_profile_picture']
        if row == 1:
            update_db_settings(update, record, True)
            return keyboard_settings(query,context,True)
        else:
            update_db_settings(update, record, False)
            return keyboard_settings(query,context,True)
    if query.data == 'zoophile':
        record = GroupRepository.ZOOPHILE_FILTER
        row = group['zoophile_filter']
        if row == 1:
            update_db_settings(update, record, True)
            return keyboard_settings(query,context,True)
        else:
            update_db_settings(update, record, False)
            return keyboard_settings(query,context,True)
    ###################################
    ####     SET CHAT LANGUAGE     ####
    ###################################
    if query.data == 'lang':
        set_lang.init(update, context)
        query.edit_message_text("You have closed the settings menu and open languages menu",parse_mode='HTML')

    # Close Menu
    if query.data == 'close':
        query.edit_message_text(languages.close_menu_msg, parse_mode='HTML')
Ejemplo n.º 26
0
def init(update, context):
    languages(update, context)
    chat = update.effective_message.chat_id
    row = GroupRepository().getById([chat])
    message(update, context, languages.rules.format(row['rules_text']))
Ejemplo n.º 27
0
def ban_error(update, context, username=None, id=None):
    languages(update, context)
    message(
        update, context,
        languages.ban_user_error % (username if username is not None else id))
Ejemplo n.º 28
0
def update_settings(update, context):
    bot = context.bot
    languages(update, context)
    query = update.callback_query
    chat = update.effective_message.chat_id
    group = GroupRepository().getById(chat)
    # Set Welcome
    if query.data == 'setWelcome':
        row = group['set_welcome']
        if row == 1:
            data = [(0, chat)]
            GroupRepository().SetWelcome(data)
            return keyboard_settings(query, context, True)
        else:
            data = [(1, chat)]
            data_block = [(1, 0, chat)]
            GroupRepository().SetWelcome(data)
            GroupRepository().set_block_entry(data_block)
            return keyboard_settings(query, context, True)
    # Set Global Silence
    if query.data == 'setSilence':
        row = group['set_silence']
        if row == 0:
            data = [(1, chat)]
            GroupRepository().setSilence(data)
            bot.set_chat_permissions(update.effective_chat.id,
                                     permission_false)
            return keyboard_settings(query, context, True)
        else:
            data = [(0, chat)]
            GroupRepository().setSilence(data)
            bot.set_chat_permissions(update.effective_chat.id, permission_true)
            return keyboard_settings(query, context, True)
    # Set Block Entry
    if query.data == 'setBlockEntry':
        row = group['block_new_member']
        if row == 0:
            data = [(0, 1, chat)]
            GroupRepository().set_block_entry(data)
            return keyboard_settings(query, context, True)
        else:
            data = [(1, 0, chat)]
            GroupRepository().set_block_entry(data)
            return keyboard_settings(query, context, True)

    ###################################
    ####  SET WELCOME FILTERS      ####
    ###################################
    # Set Block Arabic Entry
    if query.data == 'arabic':
        row = group['set_arabic_filter']
        if row == 1:
            data = [(0, chat)]
            GroupRepository().set_arabic_filter(data)
            return keyboard_settings(query, context, True)
        else:
            data = [(1, chat)]
            GroupRepository().set_arabic_filter(data)
            return keyboard_settings(query, context, True)
    # Set Block Cirillic Entry
    if query.data == 'cirillic':
        row = group['set_cirillic_filter']
        if row == 1:
            data = [(0, chat)]
            GroupRepository().set_cirillic_filter(data)
            return keyboard_settings(query, context, True)
        else:
            data = [(1, chat)]
            GroupRepository().set_cirillic_filter(data)
            return keyboard_settings(query, context, True)
    if query.data == 'chinese':
        row = group['set_chinese_filter']
        if row == 1:
            data = [(0, chat)]
            GroupRepository().set_chinese_filter(data)
            return keyboard_settings(query, context, True)
        else:
            data = [(1, chat)]
            GroupRepository().set_chinese_filter(data)
            return keyboard_settings(query, context, True)
    if query.data == 'userPhoto':
        row = group['set_user_profile_picture']
        if row == 1:
            data = [(0, chat)]
            GroupRepository().set_user_profile_photo(data)
            return keyboard_settings(query, context, True)
        else:
            data = [(1, chat)]
            GroupRepository().set_user_profile_photo(data)
            return keyboard_settings(query, context, True)

    ###################################
    ####     SET CHAT FILTERS      ####
    ###################################
    if query.data == 'Filters':
        return keyboard_filters(query, context, True)
    if query.data == 'exe_filters':
        row = group['exe_filter']
        if row == 0:
            data = [(1, chat)]
            GroupRepository().setExeFilter(data)
            query.edit_message_text("<b>EXE FILTERS ACTIVATED!</b>",
                                    parse_mode='HTML')
        else:
            data = [(0, chat)]
            GroupRepository().setExeFilter(data)
            query.edit_message_text("<b>EXE FILTERS DEACTIVATED!</b>",
                                    parse_mode='HTML')
    if query.data == 'zip_filters':
        query.edit_message_text("ZIP FILTERS ACTIVATED\nUnder Construction",
                                parse_mode='HTML')
    if query.data == 'targz_filters':
        query.edit_message_text("TARGZ FILTERS ACTIVATED\nUnder Construction",
                                parse_mode='HTML')
    if query.data == 'lang':
        set_lang.init(update, context)
        query.edit_message_text(
            "You have closed the settings menu and open languages menu",
            parse_mode='HTML')
    # Close Menu
    if query.data == 'close':
        query.edit_message_text(languages.close_menu_msg, parse_mode='HTML')
Ejemplo n.º 29
0
def close_menu(update, context):
    query = update.callback_query
    languages(update, context)
    if query.data == 'closeMenu':
        query.edit_message_text(languages.close_menu_general,
                                parse_mode='HTML')
Ejemplo n.º 30
0
def init(update, context):
    languages(update, context)
    message(update, context, languages.start)