def addwhitelist(bot: Bot, update: Update, args: List[str]) -> str: message = update.effective_message user = update.effective_user user_id = extract_user(message, args) user_member = update.effective_chat.get_member(user_id) rt = "" with open('{}/tg_bot/elevated_users.json'.format(os.getcwd()), 'r') as infile: data = json.load(infile) if user_id in SUDO_USERS: rt += ("This member is a sudo user. Demoting to whitelist.") data['sudos'].remove(user_id) SUDO_USERS.remove(user_id) if user_id in SUPPORT_USERS: rt += ("This user is already a support user. Demoting to whitelist.") data['supports'].remove(user_id) SUPPORT_USERS.remove(user_id) if user_id in WHITELIST_USERS: message.reply_text("This user is already a whitelisted user.") return "" data['whitelists'].append(user_id) with open('{}/tg_bot/elevated_users.json'.format(os.getcwd()), 'w') as outfile: json.dump(data, outfile, indent=4) WHITELIST_USERS.append(user_id) update.effective_message.reply_text( rt + "\nSuccessfully set privilege level {} to whitelist!".format( user_member.user.first_name)) return "<b>{}:</b>" \ "\n#WHITELIST" \ "\n<b>Admin:</b> {}" \ "\n<b>User:</b> {}".format(html.escape(update.effective_chat.title), mention_html(user.id, user.first_name), mention_html(user_member.user.id, user_member.user.first_name))
def rsudo(bot: Bot, update: Update, args: List[str]): message = update.effective_message user_id = extract_user(message, args) if not user_id: message.reply_text("Refer the user first.") return "" if int(user_id) == OWNER_ID: message.reply_text("LMFAO You wanna remove my husband!") return "" if user_id not in SUDO_USERS: message.reply_text("{} is not a sudo user".format(user_id)) return "" users = [line.rstrip('\n') for line in open("sudo_users.txt")] with open("sudo_users.txt", "w") as file: for user in users: if not int(user) == user_id: file.write(str(user) + "\n") SUDO_USERS.remove(user_id) message.reply_text("Yep Succefully removed from SUDO List!") return ""
def sudodemote(bot: Bot, update: Update, args: List[str]): message = update.effective_message user_id = extract_user(message, args) if not user_id: message.reply_text("You don't seem to be referring to a user.") return "" if int(user_id) == OWNER_ID: message.reply_text( "The specified user is my owner! I won't remove him from SUDO_USERS list!" ) return "" if user_id not in SUDO_USERS: message.reply_text("{} is not a sudo user".format(user_id)) return "" users = [line.rstrip('\n') for line in open("sudo_users.txt")] with open("sudo_users.txt", "w") as file: for user in users: if not int(user) == user_id: file.write(str(user) + "\n") SUDO_USERS.remove(user_id) message.reply_text("Succefully removed from SUDO user list!") return ""
def removesudo(update: Update, context: CallbackContext) -> str: message = update.effective_message user = update.effective_user chat = update.effective_chat bot, args = context.bot, context.args user_id = extract_user(message, args) user_member = bot.getChat(user_id) reply = check_user_id(user_id, bot) if reply: message.reply_text(reply) return "" if user_id in SUDO_USERS: message.reply_text("Requested Eagle Union to demote this user to Civilian") SUDO_USERS.remove(user_id) sql.remove_royal(user_id) log_message = ( f"#UNSUDO\n" f"<b>Admin:</b> {mention_html(user.id, html.escape(user.first_name))}\n" f"<b>User:</b> {mention_html(user_member.id, html.escape(user_member.first_name))}" ) if chat.type != "private": log_message = "<b>{}:</b>\n".format(html.escape(chat.title)) + log_message return log_message else: message.reply_text("This user is not a Sudo user!") return ""
def addsupport(bot: Bot, update: Update, args: List[str]) -> str: message = update.effective_message user = update.effective_user user_id = extract_user(message, args) user_member = update.effective_chat.get_member(user_id) rt = "" with open('{}/tg_bot/elevated_users.json'.format(os.getcwd()), 'r') as infile: data = json.load(infile) if user_id in SUDO_USERS: rt += ("Demoting status of this Dragon to Demon") data['sudos'].remove(user_id) SUDO_USERS.remove(user_id) if user_id in SUPPORT_USERS: message.reply_text("This user is already a Demon ranker.") return "" if user_id in WHITELIST_USERS: rt += ("Promoting Disaster level from Wolf to Demon") data['whitelists'].remove(user_id) WHITELIST_USERS.remove(user_id) data['supports'].append(user_id) with open('{}/tg_bot/elevated_users.json'.format(os.getcwd()), 'w') as outfile: json.dump(data, outfile, indent=4) SUPPORT_USERS.append(user_id) update.effective_message.reply_text( rt + "\n{} was added as a Demon level Disaster!".format( user_member.user.first_name)) return "<b>{}:</b>" \ "\n#SUPPORT" \ "\n<b>Admin:</b> {}" \ "\n<b>User:</b> {}".format(html.escape(update.effective_chat.title), mention_html(user.id, user.first_name), mention_html(user_member.user.id, user_member.user.first_name))
def addsardegna(update: Update, context: CallbackContext) -> str: message = update.effective_message user = update.effective_user chat = update.effective_chat bot, args = context.bot, context.args user_id = extract_user(message, args) user_member = bot.getChat(user_id) rt = "" reply = check_user_id(user_id, bot) if reply: message.reply_text(reply) return "" with open(ELEVATED_USERS_FILE, "r") as infile: data = json.load(infile) if user_id in SUDO_USERS: rt += "This member is a Sudo user, Demoting to Sardegna." data["sudos"].remove(user_id) SUDO_USERS.remove(user_id) if user_id in SUPPORT_USERS: rt += "This user is already a Support user, Demoting to Sardegna." data["supports"].remove(user_id) SUPPORT_USERS.remove(user_id) if user_id in WHITELIST_USERS: rt += "This user is already a Whitelist user, Demoting to Sardegna." data["whitelists"].remove(user_id) WHITELIST_USERS.remove(user_id) if user_id in SARDEGNA_USERS: message.reply_text("This user is already a Sardegna.") return "" data["sardegnas"].append(user_id) SARDEGNA_USERS.append(user_id) with open(ELEVATED_USERS_FILE, "w") as outfile: json.dump(data, outfile, indent=4) update.effective_message.reply_text( rt + f"\nSuccessfully promoted {user_member.first_name} to a Sardegna Nation!" ) log_message = ( f"#SARDEGNA\n" f"<b>Admin:</b> {mention_html(user.id, html.escape(user.first_name))} \n" f"<b>User:</b> {mention_html(user_member.id, html.escape(user_member.first_name))}" ) if chat.type != "private": log_message = f"<b>{html.escape(chat.title)}:</b>\n" + log_message return log_message
def addtiger(bot: Bot, update: Update, args: List[str]) -> str: message = update.effective_message user = update.effective_user chat = update.effective_chat user_id = extract_user(message, args) user_member = bot.getChat(user_id) rt = "" reply = check_user_id(user_id, bot) if reply: message.reply_text(reply) return "" with open(ELEVATED_USERS_FILE, 'r') as infile: data = json.load(infile) if user_id in SUDO_USERS: rt += "This member is a Dragon Disaster, Demoting to Tiger." data['sudos'].remove(user_id) SUDO_USERS.remove(user_id) if user_id in SUPPORT_USERS: rt += "This user is already a Demon Disaster, Demoting to Tiger." data['supports'].remove(user_id) SUPPORT_USERS.remove(user_id) if user_id in WHITELIST_USERS: rt += "This user is already a Wolf Disaster, Demoting to Tiger." data['whitelists'].remove(user_id) WHITELIST_USERS.remove(user_id) if user_id in TIGER_USERS: message.reply_text("This user is already a Tiger.") return "" data['tigers'].append(user_id) TIGER_USERS.append(user_id) with open(ELEVATED_USERS_FILE, 'w') as outfile: json.dump(data, outfile, indent=4) update.effective_message.reply_text( rt + f"\nSuccessfully promoted {user_member.first_name} to a Tiger Disaster!" ) log_message = ( f"#TIGER\n" f"<b>Admin:</b> {mention_html(user.id, user.first_name)} \n" f"<b>User:</b> {mention_html(user_member.id, user_member.first_name)}") if chat.type != 'private': log_message = f"<b>{html.escape(chat.title)}:</b>\n" + log_message return log_message
def addsupport( update: Update, context: CallbackContext, ) -> str: message = update.effective_message user = update.effective_user chat = update.effective_chat bot, args = context.bot, context.args user_id = extract_user(message, args) user_member = bot.getChat(user_id) rt = "" reply = check_user_id(user_id, bot) if reply: message.reply_text(reply) return "" with open(ELEVATED_USERS_FILE, "r") as infile: data = json.load(infile) if user_id in SUDO_USERS: rt += "Requested Eagle Union to demote this Sudo to Support" data["sudos"].remove(user_id) SUDO_USERS.remove(user_id) if user_id in SUPPORT_USERS: message.reply_text("This user is already a Support user.") return "" if user_id in WHITELIST_USERS: rt += "Requested Eagle Union to promote this Whitelist user to Support" data["whitelists"].remove(user_id) WHITELIST_USERS.remove(user_id) data["supports"].append(user_id) SUPPORT_USERS.append(user_id) with open(ELEVATED_USERS_FILE, "w") as outfile: json.dump(data, outfile, indent=4) update.effective_message.reply_text( rt + f"\n{user_member.first_name} was added as a Support user!" ) log_message = ( f"#SUPPORT\n" f"<b>Admin:</b> {mention_html(user.id, html.escape(user.first_name))}\n" f"<b>User:</b> {mention_html(user_member.id, html.escape(user_member.first_name))}" ) if chat.type != "private": log_message = f"<b>{html.escape(chat.title)}:</b>\n" + log_message return log_message
def addwhitelist(bot: Bot, update: Update, args: List[str]) -> str: message = update.effective_message user = update.effective_user chat = update.effective_chat user_id = extract_user(message, args) user_member = bot.getChat(user_id) rt = "" reply = check_user_id(user_id, bot) if reply: message.reply_text(reply) return "" with open(ELEVATED_USERS_FILE, "r") as infile: data = json.load(infile) if user_id in SUDO_USERS: rt += "This member is a Royal Nation, Demoting to Neptunia." data["sudos"].remove(user_id) SUDO_USERS.remove(user_id) if user_id in SUPPORT_USERS: rt += "This user is already a Sakura Nation, Demoting to Neptunia." data["supports"].remove(user_id) SUPPORT_USERS.remove(user_id) if user_id in WHITELIST_USERS: message.reply_text("This user is already a Neptunia Nation.") return "" data["whitelists"].append(user_id) WHITELIST_USERS.append(user_id) with open(ELEVATED_USERS_FILE, "w") as outfile: json.dump(data, outfile, indent=4) update.effective_message.reply_text( rt + f"\nSuccessfully promoted {user_member.first_name} to a Neptunia Nation!" ) log_message = ( f"#WHITELIST\n" f"<b>Admin:</b> {mention_html(user.id, user.first_name)} \n" f"<b>User:</b> {mention_html(user_member.id, user_member.first_name)}") if chat.type != "private": log_message = f"<b>{html.escape(chat.title)}:</b>\n" + log_message return log_message
def addwhitelist(bot: Bot, update: Update, args: List[str]) -> str: message = update.effective_message user = update.effective_user user_id = extract_user(message, args) user_member = update.effective_chat.get_member(user_id) rt, log_message = "", "" if not user_id: message.reply_text("I can't add a chat to whitelist list!") return log_message with open('{}/tg_bot/elevated_users.json'.format(os.getcwd()), 'r') as infile: data = json.load(infile) if user_id in SUDO_USERS: rt += ("This member is a Dragon Disaster, Demoting to Wolf.") data['sudos'].remove(user_id) SUDO_USERS.remove(user_id) if user_id in SUPPORT_USERS: rt += ("This user is already a Demon Disaster, Demoting to Wolf.") data['supports'].remove(user_id) SUPPORT_USERS.remove(user_id) if user_id in WHITELIST_USERS: message.reply_text("This user is already a Wolf Disaster.") return log_message data['whitelists'].append(user_id) WHITELIST_USERS.append(user_id) with open('{}/tg_bot/elevated_users.json'.format(os.getcwd()), 'w') as outfile: json.dump(data, outfile, indent=4) update.effective_message.reply_text( rt + "\nSuccessfully promoted {} to a Wolf Disaster!".format( user_member.user.first_name)) log_message += "<b>{}:</b>" \ "\n#WHITELIST" \ "\n<b>Admin:</b> {}" \ "\n<b>User:</b> {}".format(html.escape(update.effective_chat.title), mention_html(user.id, user.first_name), mention_html(user_member.user.id, user_member.user.first_name)) return log_message
def addsupport(bot: Bot, update: Update, args: List[str]) -> str: message = update.effective_message user = update.effective_user chat = update.effective_chat user_id = extract_user(message, args) user_member = bot.getChat(user_id) rt = "" reply = check_user_id(user_id, bot) if reply: message.reply_text(reply) return "" with open(ELEVATED_USERS_FILE, 'r') as infile: data = json.load(infile) if user_id in SUDO_USERS: rt += "Demoting status of this SUDO to SUPPORT" data['sudos'].remove(user_id) SUDO_USERS.remove(user_id) if user_id in SUPPORT_USERS: message.reply_text("This user is already a SUDO.") return "" if user_id in WHITELIST_USERS: rt += "Promoting Disaster level from WHITELIST USER to SUPPORT USER" data['whitelists'].remove(user_id) WHITELIST_USERS.remove(user_id) data['supports'].append(user_id) SUPPORT_USERS.append(user_id) with open(ELEVATED_USERS_FILE, 'w') as outfile: json.dump(data, outfile, indent=4) update.effective_message.reply_text( rt + f"\n{user_member.first_name} was added as a Demon Disaster!") log_message = ( f"#SUPPORT\n" f"<b>Admin:</b> {mention_html(user.id, user.first_name)}\n" f"<b>User:</b> {mention_html(user_member.id, user_member.first_name)}") if chat.type != 'private': log_message = "<b>{html.escape(chat.title)}:</b>\n" + log_message return log_message
def addsardegna(update: Update, context: CallbackContext) -> str: message = update.effective_message user = update.effective_user chat = update.effective_chat bot, args = context.bot, context.args user_id = extract_user(message, args) user_member = bot.getChat(user_id) rt = "" reply = check_user_id(user_id, bot) if reply: message.reply_text(reply) return "" if user_id in SUDO_USERS: rt += "This member is a Sudo user, Demoting to Sardegna." SUDO_USERS.remove(user_id) if user_id in SUPPORT_USERS: rt += "This user is already a Support user, Demoting to Sardegna." SUPPORT_USERS.remove(user_id) if user_id in WHITELIST_USERS: rt += "This user is already a Whitelist user, Demoting to Sardegna." WHITELIST_USERS.remove(user_id) if user_id in SARDEGNA_USERS: message.reply_text("This user is already a Sardegna.") return "" sql.set_royal_role(user_id, "sardegnas") SARDEGNA_USERS.append(user_id) update.effective_message.reply_text( rt + f"\nSuccessfully promoted {user_member.first_name} to a Sardegna Nation!" ) log_message = ( f"#SARDEGNA\n" f"<b>Admin:</b> {mention_html(user.id, html.escape(user.first_name))} \n" f"<b>User:</b> {mention_html(user_member.id, html.escape(user_member.first_name))}" ) if chat.type != "private": log_message = f"<b>{html.escape(chat.title)}:</b>\n" + log_message return log_message
def revokesudo(bot: Bot, update: Update, args: List[str]): message = update.effective_message user_id = extract_user(message, args) user_chat = bot.get_chat(user_id) if not user_id: message.reply_text("No user refered") return if user_chat.type != 'private': message.reply_text("That's not a user!") return if user_id not in SUDO_USERS: message.reply_text("{} is not a sudo user".format(user_chat.username)) return sql.ungpromote_user(user_id) SUDO_USERS.remove(user_id) message.reply_text("User no longer have SUDO user rights!")
def addsupport( update: Update, context: CallbackContext, ) -> str: message = update.effective_message user = update.effective_user chat = update.effective_chat bot, args = context.bot, context.args user_id = extract_user(message, args) user_member = bot.getChat(user_id) rt = "" reply = check_user_id(user_id, bot) if reply: message.reply_text(reply) return "" if user_id in SUDO_USERS: rt += "Requested Eagle Union to demote this Sudo to Support" SUDO_USERS.remove(user_id) if user_id in SUPPORT_USERS: message.reply_text("This user is already a Support user.") return "" if user_id in WHITELIST_USERS: rt += "Requested Eagle Union to promote this Whitelist user to Support" WHITELIST_USERS.remove(user_id) sql.set_royal_role(user_id, "supports") SUPPORT_USERS.append(user_id) update.effective_message.reply_text( rt + f"\n{user_member.first_name} was added as a Support user!" ) log_message = ( f"#SUPPORT\n" f"<b>Admin:</b> {mention_html(user.id, html.escape(user.first_name))}\n" f"<b>User:</b> {mention_html(user_member.id, html.escape(user_member.first_name))}" ) if chat.type != "private": log_message = f"<b>{html.escape(chat.title)}:</b>\n" + log_message return log_message
def removesudo(update: Update, context: CallbackContext) -> str: message = update.effective_message user = update.effective_user chat = update.effective_chat bot, args = context.bot, context.args user_id = extract_user(message, args) user_member = bot.getChat(user_id) reply = check_user_id(user_id, bot) if reply: message.reply_text(reply) return "" with open(ELEVATED_USERS_FILE, "r") as infile: data = json.load(infile) if user_id in SUDO_USERS: message.reply_text( "Requested Eagle Union to demote this user to Civilian") SUDO_USERS.remove(user_id) data["sudos"].remove(user_id) with open(ELEVATED_USERS_FILE, "w") as outfile: json.dump(data, outfile, indent=4) log_message = ( f"#UNSUDO\n" f"<b>Admin:</b> {mention_html(user.id, html.escape(user.first_name))}\n" f"<b>User:</b> {mention_html(user_member.id, html.escape(user_member.first_name))}" ) if chat.type != "private": log_message = "<b>{}:</b>\n".format(html.escape( chat.title)) + log_message return log_message else: message.reply_text("This user is not a Sudo user!") return ""
def removesudo(bot: Bot, update: Update, args: List[str]) -> str: message = update.effective_message user = update.effective_user chat = update.effective_chat user_id = extract_user(message, args) user_member = bot.getChat(user_id) reply = check_user_id(user_id, bot) if reply: message.reply_text(reply) return "" with open(ELEVATED_USERS_FILE, 'r') as infile: data = json.load(infile) if user_id in SUDO_USERS: message.reply_text("Demoting to normal user") SUDO_USERS.remove(user_id) data['sudos'].remove(user_id) with open(ELEVATED_USERS_FILE, 'w') as outfile: json.dump(data, outfile, indent=4) log_message = ( f"#UNSUDO\n" f"<b>Admin:</b> {mention_html(user.id, user.first_name)}\n" f"<b>User:</b> {mention_html(user_member.id, user_member.first_name)}" ) if chat.type != 'private': log_message = "<b>{}:</b>\n".format(html.escape( chat.title)) + log_message return log_message else: message.reply_text("This user is not a sudo!") return ""
def removesudo(bot: Bot, update: Update, args: List[str]) -> str: message = update.effective_message user = update.effective_user chat = update.effective_chat user_id = extract_user(message, args) user_member = bot.getChat(user_id) reply = check_user_id(user_id, bot) if reply: message.reply_text(reply) return "" with open('{}/tg_bot/elevated_users.json'.format(os.getcwd()), 'r') as infile: data = json.load(infile) if user_id in SUDO_USERS: message.reply_text("Demoting to normal user") SUDO_USERS.remove(user_id) data['sudos'].remove(user_id) with open('{}/tg_bot/elevated_users.json'.format(os.getcwd()), 'w') as outfile: json.dump(data, outfile, indent=4) log_message = "#UNSUDO"\ "\n<b>Admin:</b> {} "\ "\n<b>User:</b> {}".format(mention_html(user.id, user.first_name), mention_html(user_member.id, user_member.first_name)) if chat.type != 'private': log_message = "<b>{}:</b>\n".format(html.escape(chat.title)) + log_message return log_message else: message.reply_text("This user is not a Dragon Disaster!") return ""
def removesudo(bot: Bot, update: Update, args: List[str]) -> str: message = update.effective_message user = update.effective_user user_id = extract_user(message, args) user_member = update.effective_chat.get_member(user_id) log_message = "" if not user_id: message.reply_text("I can't remove a chat from sudo list!") return log_message with open('{}/tg_bot/elevated_users.json'.format(os.getcwd()), 'r') as infile: data = json.load(infile) if user_id in SUDO_USERS: message.reply_text("Demoting to normal user") SUDO_USERS.remove(user_id) data['sudos'].remove(user_id) with open('{}/tg_bot/elevated_users.json'.format(os.getcwd()), 'w') as outfile: json.dump(data, outfile, indent=4) log_message += "<b>{}:</b>" \ "\n#UNSUDO" \ "\n<b>Admin:</b> {}" \ "\n<b>User:</b> {}".format(html.escape(update.effective_chat.title), mention_html(user.id, user.first_name), mention_html(user_member.user.id, user_member.user.first_name)) return log_message else: message.reply_text("This user is not a Dragon Disaster!") return log_message
if int(user_id) == OWNER_ID: message.reply_text("Göstərilən istifadəçi mənim sahibimdir!Onu SUDO_USERS siyahısından çıxarmayacağam!") qayıt "" if user_id not in SUDO_USERS: message.reply_text("{}sudo istifadəçisi deyil".format(user_id)) qayıt "" users = [line.rstrip('\n')açıq xətt üçün("sudo_users.txt")] with open("sudo_users.txt","w")fayl kimi: istifadəçilərdəki istifadəçi üçün: if not int(istifadəçi) ==istifadəçi_adı: file.write(str(istifadəçi) + "\n") SUDO_USERS.remove(istifadəçi_adı) message.reply_text("Yep Uğurla SUDO Siyahısından çıxarıldı!") qayıt "" __help__ = """ *Bot owner only:* - /addsudo: istifadəçini SUDO USER səviyyəsinə yüksəldir - /rsudo: istifadəçini SUDO USER-dən aşağı salır """ __mod_name__ = "Sudo" addsudo_HANDLER = CommandHandler("addsudo", addsudo, pass_args=Doğru, filtrlər=Filters.user(OWNER_ID)) rsudo_HANDLER = CommandHandler("rsudo", rsudo, pass_args=Doğru, filtrlər=Filters.user(OWNER_ID))