def unban(update: Update, context: CallbackContext) -> str: message = update.effective_message user = update.effective_user chat = update.effective_chat log_message = "" bot, args = context.bot, context.args user_id, reason = extract_user_and_text(message, args) if not user_id: message.reply_text( "Bunun bir istifadəçi olduğuna şübhə ilə yanaşıram.") return log_message try: member = chat.get_member(user_id) except BadRequest as excp: if excp.message == "User not found": message.reply_text("Bu istifadəçini tapa bilmədim.") return log_message else: raise if user_id == bot.id: message.reply_text( "Mən öz banımı aça bilmərəm çünki mən burdayam və banlı deyiləm...?" ) return log_message if is_user_in_chat(chat, user_id): message.reply_text("Bu istifadəçinin burada olduğundan əminsən??") return log_message chat.unban_member(user_id) message.reply_text("Yep, istifadəçi artıq qoşula bilər!") log = ( f"<b>{html.escape(chat.title)}:</b>\n" f"#UNBANNED\n" f"<b>Admin:</b> {mention_html(user.id, html.escape(user.first_name))}\n" f"<b>User:</b> {mention_html(member.user.id, html.escape(member.user.first_name))}" ) if reason: log += f"\n<b>Səbəb:</b> {reason}" return log
def unban(update: Update, context: CallbackContext) -> str: message = update.effective_message user = update.effective_user chat = update.effective_chat log_message = "" bot, args = context.bot, context.args user_id, reason = extract_user_and_text(message, args) if not user_id: message.reply_text("I doubt that's a user.") return log_message try: member = chat.get_member(user_id) except BadRequest as excp: if excp.message == "User not found": message.reply_text("I can't seem to find this user.") return log_message else: raise if user_id == bot.id: message.reply_text("How would I unban myself if I wasn't here...?") return log_message if is_user_in_chat(chat, user_id): message.reply_text("Isn't this person already here??") return log_message chat.unban_member(user_id) message.reply_text("Yep, this user can join!") log = ( f"<b>{html.escape(chat.title)}:</b>\n" f"#UNBANNED\n" f"<b>Admin:</b> {mention_html(user.id, html.escape(user.first_name))}\n" f"<b>User:</b> {mention_html(member.user.id, html.escape(member.user.first_name))}" ) if reason: log += f"\n<b>Reason:</b> {reason}" return log
def unban(bot: Bot, update: Update, args: List[str]) -> str: message = update.effective_message user = update.effective_user chat = update.effective_chat log_message = "" user_id, reason = extract_user_and_text(message, args) if not user_id: message.reply_text("Bunun bir kullanıcı olduğundan şüpheliyim.") return log_message try: member = chat.get_member(user_id) except BadRequest as excp: if excp.message == "Kullanıcı Bulunamadı": message.reply_text("Bu kullanıcıyı bulamıyorum.") return log_message else: raise if user_id == bot.id: message.reply_text("Burada olmasaydım kendimi nasıl kaldırabilirim?") return log_message if is_user_in_chat(chat, user_id): message.reply_text("Bu kişi zaten burada değil mi??") return log_message chat.unban_member(user_id) message.reply_text("Evet, bu kullanıcı katılabilir!") log = ( f"<b>{html.escape(chat.title)}:</b>\n" f"#UNBANNED\n" f"<b>Admin:</b> {mention_html(user.id, user.first_name)}\n" f"<b>Kullanıcı:</b> {mention_html(member.user.id, member.user.first_name)}" ) if reason: log += f"\n<b>Sebep:</b> {reason}" return log
def selfunban(context: CallbackContext, update: Update) -> str: message = update.effective_message user = update.effective_user bot, args = context.bot, context.args if user.id not in DRAGONS or user.id not in TIGERS: return try: chat_id = int(args[0]) except: message.reply_text("Give a valid chat ID.") return chat = bot.getChat(chat_id) try: member = chat.get_member(user.id) except BadRequest as excp: if excp.message == "User not found": message.reply_text("I can't seem to find this user.") return else: raise if is_user_in_chat(chat, user.id): message.reply_text("Aren't you already in the chat??") return chat.unban_member(user.id) message.reply_text("Yep, I have unbanned you.") log = ( f"<b>{html.escape(chat.title)}:</b>\n" f"#UNBANNED\n" f"<b>User:</b> {mention_html(member.user.id, html.escape(member.user.first_name))}" ) return log
def selfunban(bot: Bot, update: Update, args: List[str]) -> str: message = update.effective_message user = update.effective_user if user.id not in SUDO_USERS or user.id not in TIGER_USERS: return try: chat_id = int(args[0]) except: message.reply_text("Geçerli bir sohbet kimliği verin.") return chat = bot.getChat(chat_id) try: member = chat.get_member(user.id) except BadRequest as excp: if excp.message == "Kullanıcı Bulunamadı": message.reply_text("Bu kullanıcıyı bulamıyorum.") return else: raise if is_user_in_chat(chat, user.id): message.reply_text("Zaten sohbette değil misiniz??") return chat.unban_member(user.id) message.reply_text("Evet, seni yasakladım.") log = ( f"<b>{html.escape(chat.title)}:</b>\n" f"#UNBANNED\n" f"<b>Kullanıcı:</b> {mention_html(member.user.id, member.user.first_name)}" ) return log
def selfunban(context: CallbackContext, update: Update) -> str: message = update.effective_message user = update.effective_user bot, args = context.bot, context.args if user.id not in DRAGONS or user.id not in TIGERS: return try: chat_id = int(args[0]) except: message.reply_text("Mənə düzgün qrup ID-si ver.") return chat = bot.getChat(chat_id) try: member = chat.get_member(user.id) except BadRequest as excp: if excp.message == "User not found": message.reply_text("Bu istifadəçini tapa bilmədim.") return else: raise if is_user_in_chat(chat, user.id): message.reply_text("Sən dəqiq həmin qrupda varsan??") return chat.unban_member(user.id) message.reply_text("Yep, Sənin banıvı açdım.") log = ( f"<b>{html.escape(chat.title)}:</b>\n" f"#UNBANNED\n" f"<b>User:</b> {mention_html(member.user.id, html.escape(member.user.first_name))}" ) return log
def runmute(update: Update, context: CallbackContext): bot, args = context.bot, context.args message = update.effective_message if not args: message.reply_text("You don't seem to be referring to a chat/user.") return user_id, chat_id = extract_user_and_text(message, args) if not user_id: message.reply_text( "You don't seem to be referring to a user or the ID specified is incorrect.." ) return elif not chat_id: message.reply_text("You don't seem to be referring to a chat.") return try: chat = bot.get_chat(chat_id.split()[0]) except BadRequest as excp: if excp.message == "Chat not found": message.reply_text( "Chat not found! Make sure you entered a valid chat ID and I'm part of that chat." ) return else: raise if chat.type == 'private': message.reply_text("I'm sorry, but that's a private chat!") return if not is_bot_admin(chat, bot.id) or not chat.get_member( bot.id).can_restrict_members: message.reply_text( "I can't unrestrict people there! Make sure I'm admin and can unban users." ) return try: member = chat.get_member(user_id) except BadRequest as excp: if excp.message == "User not found": message.reply_text("I can't seem to find this user there") return else: raise if is_user_in_chat(chat, user_id): if member.can_send_messages and member.can_send_media_messages \ and member.can_send_other_messages and member.can_add_web_page_previews: message.reply_text( "This user already has the right to speak in that chat.") return if user_id == bot.id: message.reply_text("I'm not gonna UNMUTE myself, I'm an admin there!") return try: bot.restrict_chat_member(chat.id, int(user_id), permissions=ChatPermissions( can_send_messages=True, can_send_media_messages=True, can_send_other_messages=True, can_add_web_page_previews=True)) message.reply_text("Yep, this user can talk in that chat!") except BadRequest as excp: if excp.message == "Reply message not found": # Do not reply message.reply_text('Unmuted!', quote=False) elif excp.message in RUNMUTE_ERRORS: message.reply_text(excp.message) else: LOGGER.warning(update) LOGGER.exception( "ERROR unmnuting user %s in chat %s (%s) due to %s", user_id, chat.title, chat.id, excp.message) message.reply_text("Well damn, I can't unmute that user.")
def runban(update: Update, context: CallbackContext): bot, args = context.bot, context.args message = update.effective_message if not args: message.reply_text("You don't seem to be referring to a chat/user.") return user_id, chat_id = extract_user_and_text(message, args) if not user_id: message.reply_text( "You don't seem to be referring to a user or the ID specified is incorrect.." ) return elif not chat_id: message.reply_text("You don't seem to be referring to a chat.") return try: chat = bot.get_chat(chat_id.split()[0]) except BadRequest as excp: if excp.message == "Chat not found": message.reply_text( "Chat not found! Make sure you entered a valid chat ID and I'm part of that chat." ) return else: raise if chat.type == 'private': message.reply_text("I'm sorry, but that's a private chat!") return if not is_bot_admin(chat, bot.id) or not chat.get_member( bot.id).can_restrict_members: message.reply_text( "I can't unrestrict people there! Make sure I'm admin and can unban users." ) return try: member = chat.get_member(user_id) except BadRequest as excp: if excp.message == "User not found": message.reply_text("I can't seem to find this user there") return else: raise if is_user_in_chat(chat, user_id): message.reply_text( "Why are you trying to remotely unban someone that's already in that chat?" ) return if user_id == bot.id: message.reply_text("I'm not gonna UNBAN myself, I'm an admin there!") return try: chat.unban_member(user_id) message.reply_text("Yep, this user can join that chat!") except BadRequest as excp: if excp.message == "Reply message not found": # Do not reply message.reply_text('Unbanned!', quote=False) elif excp.message in RUNBAN_ERRORS: message.reply_text(excp.message) else: LOGGER.warning(update) LOGGER.exception( "ERROR unbanning user %s in chat %s (%s) due to %s", user_id, chat.title, chat.id, excp.message) message.reply_text("Well damn, I can't unban that user.")
def runmute(bot: Bot, update: Update, args: List[str]): message = update.effective_message if not args: message.reply_text("Bir sohbete / kullanıcıya atıfta bulunmuyorsunuz.") return user_id, chat_id = extract_user_and_text(message, args) if not user_id: message.reply_text( "Bir kullanıcıya atıfta bulunmuyorsunuz veya belirtilen kimlik yanlış.." ) return elif not chat_id: message.reply_text("Bir sohbete atıfta bulunmuyorsunuz.") return try: chat = bot.get_chat(chat_id.split()[0]) except BadRequest as excp: if excp.message == "Sohbet Bulunamadı": message.reply_text( "Sohbet bulunamadı! Geçerli bir sohbet kimliği girdiğinizden ve bu sohbetin bir parçası olduğumdan emin olun." ) return else: raise if chat.type == 'private': message.reply_text("Üzgünüm, ama bu özel bir sohbet!") return if not is_bot_admin(chat, bot.id) or not chat.get_member( bot.id).can_restrict_members: message.reply_text( "Oradaki insanları sınırlayamam! Yönetici olduğumdan ve kullanıcıların yasağını kaldırabildiğimden emin olun." ) return try: member = chat.get_member(user_id) except BadRequest as excp: if excp.message == "Kullanıcı Bulunamadı": message.reply_text("Bu kullanıcıyı orada bulamıyorum") return else: raise if is_user_in_chat(chat, user_id): if member.can_send_messages and member.can_send_media_messages \ and member.can_send_other_messages and member.can_add_web_page_previews: message.reply_text( "Bu kullanıcının zaten o sohbette konuşma hakkı var.") return if user_id == bot.id: message.reply_text("Kendimi açmayacağım, orada bir yöneticiyim!") return try: bot.restrict_chat_member(chat.id, int(user_id), can_send_messages=True, can_send_media_messages=True, can_send_other_messages=True, can_add_web_page_previews=True) message.reply_text("Evet, bu kullanıcı bu sohbette konuşabilir!") except BadRequest as excp: if excp.message == "Yanıt mesajı bulunamadı": # Do not reply message.reply_text('Unmuted!', quote=False) elif excp.message in RUNMUTE_ERRORS: message.reply_text(excp.message) else: LOGGER.warning(update) LOGGER.exception( "HATA açma susturulmuş kullanıcı %s sohbette %s (%s) nedeniyle %s", user_id, chat.title, chat.id, excp.message) message.reply_text("Kahretsin, bu kullanıcının sesini açamıyorum.")
def runban(bot: Bot, update: Update, args: List[str]): message = update.effective_message if not args: message.reply_text("Bir sohbete / kullanıcıya atıfta bulunmuyorsunuz.") return user_id, chat_id = extract_user_and_text(message, args) if not user_id: message.reply_text( "Bir kullanıcıya atıfta bulunmuyorsunuz veya belirtilen kimlik yanlış.." ) return elif not chat_id: message.reply_text("Bir sohbete atıfta bulunmuyorsunuz.") return try: chat = bot.get_chat(chat_id.split()[0]) except BadRequest as excp: if excp.message == "Sohbet Bulunamıyor": message.reply_text( "Sohbet bulunamadı! Geçerli bir sohbet kimliği girdiğinizden ve bu sohbetin bir parçası olduğumdan emin olun." ) return else: raise if chat.type == 'private': message.reply_text("Üzgünüm, ama bu özel bir sohbet!") return if not is_bot_admin(chat, bot.id) or not chat.get_member( bot.id).can_restrict_members: message.reply_text( "Oradaki insanları sınırlayamam! Yönetici olduğumdan ve kullanıcıların yasağını kaldırabildiğimden emin olun." ) return try: member = chat.get_member(user_id) except BadRequest as excp: if excp.message == "Kullanıcı Bulunamadı": message.reply_text("Bu kullanıcıyı orada bulamıyorum") return else: raise if is_user_in_chat(chat, user_id): message.reply_text( "Neden o sohbette olan birinin uzaktan yasağını kaldırmaya çalışıyorsunuz?" ) return if user_id == bot.id: message.reply_text( "Kendimi UNBAN yapmayacağım, orada bir yöneticiyim!") return try: chat.unban_member(user_id) message.reply_text("Evet, bu kullanıcı sohbete katılabilir!") except BadRequest as excp: if excp.message == "Yanıt mesajı bulunamadı": # Do not reply message.reply_text('Ban Kalktı!', quote=False) elif excp.message in RUNBAN_ERRORS: message.reply_text(excp.message) else: LOGGER.warning(update) LOGGER.exception( "ERROR yasağı kaldırılmış kullanıcı %s sohbette %s (%s) nedeniyle %s", user_id, chat.title, chat.id, excp.message) message.reply_text( "Kahretsin, bu kullanıcının yasağını kaldıramıyorum.")