def no_longer_afk(update, context): user = update.effective_user message = update.effective_message if not user: # ignore channels return if not is_user_afk(user.id): #Check if user is afk or not return end_afk_time = get_readable_time((time.time() - float(REDIS.get(f'afk_time_{user.id}')))) REDIS.delete(f'afk_time_{user.id}') res = end_afk(user.id) if res: if message.new_chat_members: # dont say msg return firstname = update.effective_user.first_name try: options = [ "{} Is wasting his time in the chat!", "The Dead {} Came Back From His Grave!", "Welcome back {}! I hope you bought pizza", "Good to hear from you again {}", "{} Good job waking up now get ready for your classes!", "Hey {}! Why weren't you online for such a long time?", "{} why did you came back?", "{} Is now back online!", "OwO, Welcome back {}", "Welcome to hell again {}", "Whats poppin {}?", ] chosen_option = random.choice(options) update.effective_message.reply_text( chosen_option.format(firstname), ) except Exception: return
def __user_info__(user_id): is_afk = is_user_afk(user_id) text = "" if is_afk: since_afk = get_readable_time((time.time() - float(REDIS.get(f'afk_time_{user_id}')))) text = "This user is currently afk (away from keyboard)." text += f"\nLast Seen: {since_afk} Ago." else: text = "This user currently isn't afk (not away from keyboard)." return text
def check_afk(update, context, user_id, fst_name, userc_id): if is_user_afk(user_id): reason = afk_reason(user_id) since_afk = get_readable_time((time.time() - float(REDIS.get(f'afk_time_{user_id}')))) if int(userc_id) == int(user_id): return if reason == "none": res = "{} is Dead!\nLast Liveliness: {} Ago.".format(fst_name, since_afk) else: res = "{} is afk!\nReason: {}\nLast seen: {} Ago.".format(fst_name, reason, since_afk) update.effective_message.reply_text(res)