def unban(update: Update, context: CallbackContext) -> str: args = context.args 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("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 == context.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, user.first_name)}\n" f"<b>User:</b> {mention_html(member.user.id, member.user.first_name)}" ) if reason: log += f"\n<b>Reason:</b> {reason}" return log
def selfunban(update: Update, context: CallbackContext) -> None: message = update.effective_message user = update.effective_user args = context.args if user.id not in SUDO_USERS or user.id not in SARDEGNA_USERS: return try: chat_id = int(args[0]) except Exception as e: print(e) message.reply_text("Give a valid chat ID.") return chat = context.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, member.user.first_name)}" ) return log