def about_bio(update: Update, context: CallbackContext): args = context.args bot = context.bot message = update.effective_message user_id = extract_user(message, args) user = bot.get_chat(user_id) if user_id else message.from_user info = sql.get_user_bio(user.id) if info: update.effective_message.reply_text( "*{}*:\n{}".format(user.first_name, escape_markdown(info)), parse_mode=ParseMode.MARKDOWN, ) elif message.reply_to_message: username = user.first_name update.effective_message.reply_text( f"{username} hasn't had a message set about themselves yet!") else: update.effective_message.reply_text( "You haven't had a bio set about yourself yet!") message = update.effective_message if message.reply_to_message: repl_message = message.reply_to_message user_id = repl_message.from_user.id if user_id == message.from_user.id: message.reply_text( "Ha, you can't set your own bio! You're at the mercy of others here..." ) return sender_id = update.effective_user.id if (user_id == bot.id and sender_id not in SUDO_USERS and sender_id not in DEV_USERS): message.reply_text( "Erm... yeah, I only trust sudo users or developers to set my bio." ) return text = message.text # use python's maxsplit to only remove the cmd, hence keeping newlines. bio = text.split(None, 1) if len(bio) == 2: if len(bio[1]) < MAX_MESSAGE_LENGTH // 4: sql.set_user_bio(user_id, bio[1]) message.reply_text("Updated {}'s bio!".format( repl_message.from_user.first_name)) else: message.reply_text( "A bio needs to be under {} characters! You tried to set {}." .format(MAX_MESSAGE_LENGTH // 4, len(bio[1]))) else: message.reply_text("Reply to someone's message to set their bio!")
def __user_info__(user_id): bio = html.escape(sql.get_user_bio(user_id) or "") me = html.escape(sql.get_user_me_info(user_id) or "") if bio and me: return f"\n<b>About user:</b>\n{me}\n<b>What others say:</b>\n{bio}\n" elif bio: return f"\n<b>What others say:</b>\n{bio}\n" elif me: return f"\n<b>About user:</b>\n{me}\n" else: return "\n"
def __user_info__(user_id): bio = html.escape(sql.get_user_bio(user_id) or "") me = html.escape(sql.get_user_me_info(user_id) or "") if bio and me: return "<b>About user:</b>\n{me}\n\n<b>What others say:</b>\n{bio}".format( me=me, bio=bio ) elif bio: return "<b>What others say:</b>\n{bio}\n".format(me=me, bio=bio) elif me: return "<b>About user:</b>\n{me}" "".format(me=me, bio=bio) else: return ""
def about_bio(bot: Bot, update: Update, args: List[str]): message = update.effective_message user_id = extract_user(message, args) if user_id: user = bot.get_chat(user_id) else: user = message.from_user info = sql.get_user_bio(user.id) if info: update.effective_message.reply_text( "*{}*:\n{}".format(user.first_name, escape_markdown(info)), parse_mode=ParseMode.MARKDOWN) elif message.reply_to_message: username = user.first_name update.effective_message.reply_text( f"{username} hasn't had a message set about themselves yet!") else: update.effective_message.reply_text( "You haven't had a bio set about yourself yet!")
def about_bio(update, context): message = update.effective_message # type: Optional[Message] args = context.args user_id = extract_user(message, args) if user_id: user = context.bot.get_chat(user_id) else: user = message.from_user info = sql.get_user_bio(user.id) if info: update.effective_message.reply_text( "*{}*:\n{}".format(user.first_name, escape_markdown(info)), parse_mode=ParseMode.MARKDOWN, ) elif message.reply_to_message: username = user.first_name update.effective_message.reply_text( "{} No details about him have been saved yet !".format(username) ) else: update.effective_message.reply_text(" Your bio about you has been saved !")