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")
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")
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")
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")
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")
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
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))