Esempio n. 1
0
def security(bot: Bot, update: Update, args: List[str]) -> str:
    chat = update.effective_chat  # type: Optional[Chat]
    getcur, cur_value, cust_text = sql.welcome_security(chat.id)
    if len(args) >= 1:
        var = args[0].lower()
        if (var in ("yes", "on")):
            check = bot.getChatMember(chat.id, bot.id)
            if check.status == 'member' or check[
                    'can_restrict_members'] is False:
                text = tld(chat.id, 'welcome_mute_bot_cant_mute')
                update.effective_message.reply_text(text,
                                                    parse_mode="markdown")
                return ""
            sql.set_welcome_security(chat.id, True, str(cur_value), cust_text)
            update.effective_message.reply_text(
                tld(chat.id, 'welcome_mute_enabled'))
        elif (var in ("no", "off")):
            sql.set_welcome_security(chat.id, False, str(cur_value), cust_text)
            update.effective_message.reply_text(
                tld(chat.id, 'welcome_mute_disabled'))
        else:
            update.effective_message.reply_text(tld(chat.id,
                                                    'common_invalid_arg'),
                                                parse_mode=ParseMode.MARKDOWN)
    else:
        getcur, cur_value, cust_text = sql.welcome_security(chat.id)
        if getcur:
            getcur = "True"
        else:
            getcur = "False"
        if cur_value[:1] == "0":
            cur_value = "None"
        text = tld(chat.id, 'welcome_mute_curr_settings').format(
            getcur, cur_value, cust_text)
        update.effective_message.reply_text(text, parse_mode="markdown")
Esempio n. 2
0
def set_welctimeout(update, context):
    args = context.args
    chat = update.effective_chat
    message = update.effective_message
    getcur, extra_verify, cur_value, timeout, timeout_mode, cust_text = sql.welcome_security(chat.id)
    if len(args) >= 1:
        var = args[0]
        if var[:1] == "0":
            mutetime = "0"
            sql.set_welcome_security(chat.id, getcur, extra_verify, cur_value, "0", timeout_mode, cust_text)
            text = tl(update.effective_message, "Batas waktu verifikasi telah di nonaktifkan!")
        else:
            mutetime = extract_time_int(message, var)
            if mutetime == "":
                return
            sql.set_welcome_security(chat.id, getcur, extra_verify, cur_value, str(mutetime), timeout_mode, cust_text)
            text = tl(update.effective_message,
                      "Jika member baru tidak memverifikasi selama *{}* maka dia akan di *{}*").format(var,
                                                                                                       "Kick" if timeout_mode == 1 else "Banned")
        send_message(update.effective_message, text, parse_mode="markdown")
    else:
        if timeout == "0":
            send_message(update.effective_message,
                         tl(update.effective_message, "Pengaturan batas waktu ketika join: *{}*").format("Disabled"),
                         parse_mode="markdown")
        else:
            send_message(update.effective_message,
                         tl(update.effective_message, "Pengaturan batas waktu ketika join: *{}*").format(
                             make_time(int(timeout))), parse_mode="markdown")
Esempio n. 3
0
def set_verify_welcome(update, context):
    args = context.args
    chat = update.effective_chat
    getcur, extra_verify, cur_value, timeout, timeout_mode, cust_text = sql.welcome_security(chat.id)
    if len(args) >= 1:
        var = args[0].lower()
        if (var == "yes" or var == "on"):
            check = context.bot.getChatMember(chat.id, context.bot.id)
            if check.status == 'member' or check['can_restrict_members'] is False:
                text = tl(update.effective_message,
                          "Saya tidak bisa membatasi orang di sini! Pastikan saya admin agar bisa membisukan seseorang!")
                send_message(update.effective_message, text, parse_mode="markdown")
                return ""
            sql.set_welcome_security(chat.id, getcur, True, str(cur_value), str(timeout), int(timeout_mode), cust_text)
            send_message(update.effective_message, tl(update.effective_message,
                                                      "Keamanan untuk member baru di aktifkan! Pengguna baru di wajibkan harus menyelesaikan verifikasi untuk chat"))
        elif (var == "no" or var == "off"):
            sql.set_welcome_security(chat.id, getcur, False, str(cur_value), str(timeout), int(timeout_mode), cust_text)
            send_message(update.effective_message, tl(update.effective_message,
                                                      "Di nonaktifkan, pengguna dapat mengklik tombol untuk langsung chat"))
        else:
            send_message(update.effective_message, tl(update.effective_message, "Silakan tulis `on`/`ya`/`off`/`ga`!"),
                         parse_mode=ParseMode.MARKDOWN)
    else:
        getcur, extra_verify, cur_value, timeout, timeout_mode, cust_text = sql.welcome_security(chat.id)
        if cur_value[:1] == "0":
            cur_value = tl(update.effective_message, "Selamanya")
        text = tl(update.effective_message,
                  "Pengaturan saat ini adalah:\nWelcome security: `{}`\nVerify security: `{}`\nMember akan di mute selama: `{}`\nWaktu verifikasi timeout: `{}`\nTombol unmute custom: `{}`").format(
            getcur, extra_verify, cur_value, make_time(int(timeout)), cust_text)
        send_message(update.effective_message, text, parse_mode="markdown")
Esempio n. 4
0
def security_text_reset(bot: Bot, update: Update):
    chat = update.effective_chat  # type: Optional[Chat]
    getcur, cur_value, cust_text = sql.welcome_security(chat.id)
    sql.set_welcome_security(chat.id, getcur, cur_value,
                             tld(chat.id, 'welcome_mute_btn_default_text'))
    update.effective_message.reply_text(tld(
        chat.id, 'welcome_mute_btn_text_reset').format(
            tld(chat.id, 'welcome_mute_btn_default_text')),
                                        parse_mode="markdown")
Esempio n. 5
0
def security_text(bot: Bot, update: Update, args: List[str]) -> str:
    chat = update.effective_chat  # type: Optional[Chat]
    getcur, cur_value, cust_text = sql.welcome_security(chat.id)
    if len(args) >= 1:
        text = " ".join(args)
        sql.set_welcome_security(chat.id, getcur, cur_value, text)
        text = tld(chat.id, 'welcome_mute_btn_text_changed').format(text)
        update.effective_message.reply_text(text, parse_mode="markdown")
    else:
        update.effective_message.reply_text(tld(
            chat.id, 'welcome_mute_btn_curr_text').format(cust_text),
                                            parse_mode="markdown")
Esempio n. 6
0
def timeout_mode(update, context):
    chat = update.effective_chat
    user = update.effective_user
    args = context.args

    conn = connected(context.bot, update, chat, user.id, need_admin=True)
    if conn:
        chat = dispatcher.bot.getChat(conn)
        chat_name = dispatcher.bot.getChat(conn).title
    else:
        if update.effective_message.chat.type == "private":
            send_message(update.effective_message,
                         tl(update.effective_message, "Anda bisa lakukan command ini pada grup, bukan pada PM"))
            return ""
        chat = update.effective_chat
        chat_name = update.effective_message.chat.title

    getcur, extra_verify, cur_value, timeout, timeout_mode, cust_text = sql.welcome_security(chat.id)

    if args:
        if args[0].lower() == 'kick' or args[0].lower() == 'tendang' or args[0].lower() == 'leave':
            settypeblacklist = tl(update.effective_message, 'kick')
            sql.set_welcome_security(chat.id, getcur, extra_verify, cur_value, timeout, 1, cust_text)
        elif args[0].lower() == 'ban' or args[0].lower() == 'banned':
            settypeblacklist = tl(update.effective_message, 'banned')
            sql.set_welcome_security(chat.id, getcur, extra_verify, cur_value, timeout, 2, cust_text)
        else:
            send_message(update.effective_message, tl(update.effective_message, "Saya hanya mengerti kick/banned!"))
            return
        if conn:
            text = tl(update.effective_message, "Mode timeout diubah, Pengguna akan di `{}` pada *{}*!").format(
                settypeblacklist, chat_name)
        else:
            text = tl(update.effective_message, "Mode timeout diubah, Pengguna akan di `{}`!").format(settypeblacklist)
        send_message(update.effective_message, text, parse_mode="markdown")
    else:
        if timeout_mode == 1:
            settypeblacklist = tl(update.effective_message, "kick")
        elif timeout_mode == 2:
            settypeblacklist = tl(update.effective_message, "banned")
        if conn:
            text = tl(update.effective_message, "Mode timeout saat ini disetel ke *{}* pada *{}*.").format(
                settypeblacklist, chat_name)
        else:
            text = tl(update.effective_message, "Mode timeout saat ini disetel ke *{}*.").format(settypeblacklist)
        send_message(update.effective_message, text, parse_mode=ParseMode.MARKDOWN)
    return
Esempio n. 7
0
def security_mute(bot: Bot, update: Update, args: List[str]) -> str:
    chat = update.effective_chat  # type: Optional[Chat]
    message = update.effective_message  # type: Optional[Message]
    getcur, cur_value, cust_text = sql.welcome_security(chat.id)
    if len(args) >= 1:
        var = args[0]
        if var[:1] == "0":
            mutetime = "0"
            sql.set_welcome_security(chat.id, getcur, "0", cust_text)
            text = tld(chat.id, 'welcome_mute_time_none')
        else:
            mutetime = extract_time(message, var)
            if mutetime == "":
                return ""
            sql.set_welcome_security(chat.id, getcur, str(var), cust_text)
            text = tld(chat.id, 'welcome_mute_time').format(var)
        update.effective_message.reply_text(text)
    else:
        if str(cur_value) == "0":
            update.effective_message.reply_text(
                tld(chat.id, 'welcome_mute_time_settings_none'))
        else:
            update.effective_message.reply_text(
                tld(chat.id, 'welcome_mute_time_settings').format(cur_value))