def set_warn_strength(update, context): chat = update.effective_chat # type: Optional[Chat] user = update.effective_user # type: Optional[User] msg = update.effective_message # type: Optional[Message] args = context.args conn = connected(context.bot, update, chat, user.id, need_admin=True) if conn: chat = dispatcher.bot.getChat(conn) chat_id = 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_id = update.effective_chat.id chat_name = update.effective_message.chat.title if args: if args[0].lower() in ("on", "yes"): sql.set_warn_strength(chat.id, False) if conn: text = "Terlalu banyak peringatan sekarang akan menghasilkan blokir pada *{}*!".format( chat_name) else: text = "Terlalu banyak peringatan sekarang akan menghasilkan blokir!" send_message(update.effective_message, text, parse_mode="markdown") return "<b>{}:</b>\n" \ "<b>Admin:</b> {}\n" \ "Telah mengaktifkan peringatan yang kuat. Pengguna akan diblokir.".format(html.escape(chat.title), mention_html(user.id, user.first_name)) elif args[0].lower() in ("off", "no"): sql.set_warn_strength(chat.id, True) if conn: text = "Terlalu banyak peringatan akan menghasilkan tendangan pada *{}*! Pengguna akan dapat bergabung lagi.".format( chat_name) else: text = "Terlalu banyak peringatan akan menghasilkan tendangan! Pengguna akan dapat bergabung lagi." send_message(update.effective_message, text, parse_mode="markdown") return "<b>{}:</b>\n" \ "<b>Admin:</b> {}\n" \ "Telah menonaktifkan peringatan kuat. Pengguna hanya akan ditendang.".format(html.escape(chat.title), mention_html(user.id, user.first_name)) else: send_message(update.effective_message, "Saya hanya mengerti on/yes/no/off!") else: limit, soft_warn, warn_mode = sql.get_warn_setting(chat.id) if soft_warn: if conn: text = "Peringatan saat ini disetel ke *tendangan* pengguna saat melampaui batas pada *{}*.".format( chat_name) else: text = "Peringatan saat ini disetel ke *tendangan* pengguna saat melampaui batas." send_message(update.effective_message, text, parse_mode=ParseMode.MARKDOWN) else: if conn: text = "Peringatan saat ini disetel untuk *diblokir* pengguna saat melampaui batas pada *{}*.".format( chat_name) else: text = "Peringatan saat ini disetel untuk *diblokir* pengguna saat melampaui batas." send_message(update.effective_message, text, parse_mode=ParseMode.MARKDOWN) return ""
def WARN_EDITBTN(bot: Bot, update: Update): query = update.callback_query user = update.effective_user print("User {} clicked button WARN EDIT".format(user.id)) qdata = query.data.split("=")[1].split("|")[0] chat_id = query.data.split("|")[1] if qdata == "?": bot.answerCallbackQuery( query.id, "Batas dari peringatan. Jika peringatan melewati batas maka akan di eksekusi.", show_alert=True) if qdata == "-": button = [] limit, soft_warn = sql.get_warn_setting(chat_id) limit = int(limit) - 1 if limit <= 2: bot.answerCallbackQuery(query.id, "Batas limit Tidak boleh kurang dari 3", show_alert=True) return sql.set_warn_limit(chat_id, int(limit)) chat = bot.get_chat(chat_id) text = "*{}* memiliki pengaturan berikut untuk modul *Peringatan*:\n\n".format( escape_markdown(chat.title)) text += "Batas maksimal peringatan telah di setel menjadi `{}`. Dibutuhkan `{}` peringatan " \ "sebelum pengguna akan mendapatkan *{}*.".format(limit, limit, "tendangan" if soft_warn else "pemblokiran") button.append([ InlineKeyboardButton( text="➖", callback_data="set_wlim=-|{}".format(chat_id)), InlineKeyboardButton( text="Limit {}".format(limit), callback_data="set_wlim=?|{}".format(chat_id)), InlineKeyboardButton(text="➕", callback_data="set_wlim=+|{}".format(chat_id)) ]) button.append([ InlineKeyboardButton( text="{}".format("❎ Tendang" if soft_warn else "⛔️ Blokir"), callback_data="set_wlim=exec|{}".format(chat_id)) ]) button.append([ InlineKeyboardButton( text="Kembali", callback_data="stngs_back({})".format(chat_id)) ]) query.message.edit_text(text=text, parse_mode=ParseMode.MARKDOWN, reply_markup=InlineKeyboardMarkup(button)) bot.answer_callback_query(query.id) if qdata == "+": button = [] limit, soft_warn = sql.get_warn_setting(chat_id) limit = int(limit) + 1 if limit <= 0: bot.answerCallbackQuery(query.id, "Batas limit Tidak boleh kurang dari 0", show_alert=True) return sql.set_warn_limit(chat_id, int(limit)) chat = bot.get_chat(chat_id) text = "*{}* memiliki pengaturan berikut untuk modul *Peringatan*:\n\n".format( escape_markdown(chat.title)) text += "Batas maksimal peringatan telah di setel menjadi `{}`. Dibutuhkan `{}` peringatan " \ "sebelum pengguna akan mendapatkan *{}*.".format(limit, limit, "tendangan" if soft_warn else "pemblokiran") button.append([ InlineKeyboardButton( text="➖", callback_data="set_wlim=-|{}".format(chat_id)), InlineKeyboardButton( text="Limit {}".format(limit), callback_data="set_wlim=?|{}".format(chat_id)), InlineKeyboardButton(text="➕", callback_data="set_wlim=+|{}".format(chat_id)) ]) button.append([ InlineKeyboardButton( text="{}".format("❎ Tendang" if soft_warn else "⛔️ Blokir"), callback_data="set_wlim=exec|{}".format(chat_id)) ]) button.append([ InlineKeyboardButton( text="Kembali", callback_data="stngs_back({})".format(chat_id)) ]) query.message.edit_text(text=text, parse_mode=ParseMode.MARKDOWN, reply_markup=InlineKeyboardMarkup(button)) bot.answer_callback_query(query.id) if qdata == "exec": button = [] limit, soft_warn = sql.get_warn_setting(chat_id) if soft_warn: exc = "Blokir" sql.set_warn_strength(chat_id, False) soft_warn = False else: exc = "Tendang" sql.set_warn_strength(chat_id, True) soft_warn = True chat = bot.get_chat(chat_id) text = "*{}* memiliki pengaturan berikut untuk modul *Peringatan*:\n\n".format( escape_markdown(chat.title)) text += "Pengguna akan di `{}` jika sudah diluar batas peringatan. Dibutuhkan `{}` peringatan " \ "sebelum pengguna akan mendapatkan *{}*.".format(exc, limit, "tendangan" if soft_warn else "pemblokiran") button.append([ InlineKeyboardButton( text="➖", callback_data="set_wlim=-|{}".format(chat_id)), InlineKeyboardButton( text="Limit {}".format(limit), callback_data="set_wlim=?|{}".format(chat_id)), InlineKeyboardButton(text="➕", callback_data="set_wlim=+|{}".format(chat_id)) ]) button.append([ InlineKeyboardButton( text="{}".format("❎ Tendang" if soft_warn else "⛔️ Blokir"), callback_data="set_wlim=exec|{}".format(chat_id)) ]) button.append([ InlineKeyboardButton( text="Kembali", callback_data="stngs_back({})".format(chat_id)) ]) query.message.edit_text(text=text, parse_mode=ParseMode.MARKDOWN, reply_markup=InlineKeyboardMarkup(button)) bot.answer_callback_query(query.id)