def addpiro(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 int(user_id) in DEV_USERS: message.reply_text("This member is already a Pro Developer") if user_id in DRAGONS: rt += "Requested HQ to promote a Dragon Disaster to Pro Developer." data['sudos'].remove(user_id) DRAGONS.remove(user_id) if user_id in DEMONS: rt += "Requested HQ to promote a Demon Disaster to Pro Developer." data['supports'].remove(user_id) DEMONS.remove(user_id) if user_id in WOLVES: rt += "Requested HQ to promote a Wolf Disaster to Pro Developer." data['whitelists'].remove(user_id) WOLVES.remove(user_id) data['devs'].append(user_id) DEV_USERS.append(user_id) with open(ELEVATED_USERS_FILE, 'w') as outfile: json.dump(data, outfile, indent=4) update.effective_message.reply_text( rt + "\nSuccessfully set Disaster level of {} to Pro Developer!".format( user_member.first_name)) log_message = ( f"#ProDeveloper\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
from io import BytesIO from time import sleep from telegram import TelegramError, Update from telegram.error import BadRequest, Unauthorized from telegram.ext import (CallbackContext, CommandHandler, Filters, MessageHandler, run_async) import SaitamaRobot.modules.sql.users_sql as sql from SaitamaRobot import DEV_USERS, LOGGER, OWNER_ID, dispatcher from SaitamaRobot.modules.helper_funcs.chat_status import dev_plus, sudo_plus from SaitamaRobot.modules.sql.users_sql import get_all_users USERS_GROUP = 4 CHAT_GROUP = 5 DEV_AND_MORE = DEV_USERS.append(int(OWNER_ID)) def get_user_id(username): # ensure valid userid if len(username) <= 5: return None if username.startswith('@'): username = username[1:] users = sql.get_userid_by_name(username) if not users: return None