def addSudo(update, context): reply_message = None message_ = None reply_message = update.message.reply_to_message message_ = update.message.text.split(' ') if len(message_) == 2: user_id = int(message_[1]) if user_id in SUDO_USERS: msg = 'Already Sudo' elif DB_URI is not None: msg = DbManger().db_addsudo(user_id) else: with open('sudo_users.txt', 'a') as file: file.write(f'{user_id}\n') SUDO_USERS.add(user_id) msg = 'Promoted as Sudo' elif reply_message is None: msg = "Give ID or Reply To message of whom you want to Promote" else: # Trying to authorize someone by replying user_id = reply_message.from_user.id if user_id in SUDO_USERS: msg = 'Already Sudo' elif DB_URI is not None: msg = DbManger().db_addsudo(user_id) else: with open('sudo_users.txt', 'a') as file: file.write(f'{user_id}\n') SUDO_USERS.add(user_id) msg = 'Promoted as Sudo' sendMessage(msg, context.bot, update)
def db_addsudo(self, chat_id: int): self.connect() if self.err: return "There's some error check log for details" if chat_id in AUTHORIZED_CHATS: sql = 'UPDATE users SET sudo = TRUE where uid = {};'.format( chat_id) self.cur.execute(sql) self.conn.commit() self.disconnect() SUDO_USERS.add(chat_id) return 'Successfully promoted as Sudo' else: sql = 'INSERT INTO users VALUES ({},TRUE);'.format(chat_id) self.cur.execute(sql) self.conn.commit() self.disconnect() SUDO_USERS.add(chat_id) return 'Successfully Authorized and promoted as Sudo'
def db_addsudo(self,chat_id: int): self.connect() if self.err : return "<b>Tʜᴇʀᴇ's Sᴏᴍᴇ Eʀʀᴏʀ Cʜᴇᴄᴋ Lᴏɢ Fᴏʀ Dᴇᴛᴀɪʟs</b>" else: if chat_id in AUTHORIZED_CHATS: sql = 'UPDATE users SET sudo = TRUE where uid = {};'.format(chat_id) self.cur.execute(sql) self.conn.commit() self.disconnect() SUDO_USERS.add(chat_id) return '<b>Sᴜᴄᴄᴇssꜰᴜʟʟʏ Pʀᴏᴍᴏᴛᴇᴅ Usᴇʀ As Sᴜᴅᴏ</b>' else: sql = 'INSERT INTO users VALUES ({},TRUE);'.format(chat_id) self.cur.execute(sql) self.conn.commit() self.disconnect() AUTHORIZED_CHATS.add(chat_id) SUDO_USERS.add(chat_id) return '<b>Sᴜᴄᴄᴇssꜰᴜʟʟʏ Aᴜᴛʜᴏʀɪᴢᴇᴅ Aɴᴅ Pʀᴏᴍᴏᴛᴇᴅ Usᴇʀ As Sᴜᴅᴏ</b>'
def db_addsudo(self, chat_id: int): self.connect() if self.err: return "T𝚑𝚎𝚛𝚎'𝚜 𝚜𝚘𝚖𝚎 𝚎𝚛𝚛𝚘𝚛 𝚌𝚑𝚎𝚌𝚔 𝚕𝚘𝚐 𝚏𝚘𝚛 𝚍𝚎𝚝𝚊𝚒𝚕𝚜" else: if chat_id in AUTHORIZED_CHATS: sql = 'UPDATE users SET sudo = TRUE where uid = {};'.format( chat_id) self.cur.execute(sql) self.conn.commit() self.disconnect() SUDO_USERS.add(chat_id) return '𝚂𝚞𝚌𝚌𝚎𝚜𝚜𝚏𝚞𝚕𝚕𝚢 𝚙𝚛𝚘𝚖𝚘𝚝𝚎𝚍 𝚊𝚜 𝚜𝚞𝚍𝚘🤗' else: sql = 'INSERT INTO users VALUES ({},TRUE);'.format(chat_id) self.cur.execute(sql) self.conn.commit() self.disconnect() AUTHORIZED_CHATS.add(chat_id) SUDO_USERS.add(chat_id) return '𝚂𝚞𝚌𝚌𝚎𝚜𝚜𝚏𝚞𝚕𝚕𝚢 𝙰𝚞𝚝𝚑𝚘𝚛𝚒𝚣𝚎𝚍 𝚊𝚗𝚍 𝚙𝚛𝚘𝚖𝚘𝚝𝚎𝚍 𝚊𝚜 𝚜𝚞𝚍𝚘🤗'
def db_load(self): # User Data self.cur.execute("SELECT * from users") rows = self.cur.fetchall( ) #returns a list ==> (uid, sudo, auth, media, doc, thumb) if rows: for row in rows: if row[1] and row[0] not in SUDO_USERS: SUDO_USERS.add(row[0]) elif row[2] and row[0] not in AUTHORIZED_CHATS: AUTHORIZED_CHATS.add(row[0]) if row[3]: AS_MEDIA_USERS.add(row[0]) elif row[4]: AS_DOC_USERS.add(row[0]) path = f"Thumbnails/{row[0]}.jpg" if row[5] is not None and not ospath.exists(path): if not ospath.exists('Thumbnails'): makedirs('Thumbnails') with open(path, 'wb+') as f: f.write(row[5]) f.close() LOGGER.info("Users data has been imported from Database") # Rss Data self.cur.execute("SELECT * FROM rss") rows = self.cur.fetchall( ) #returns a list ==> (name, feed_link, last_link, last_title, filters) if rows: for row in rows: f_lists = [] if row[4] is not None: filters_list = row[4].split('|') for x in filters_list: y = x.split(' or ') f_lists.append(y) rss_dict[row[0]] = [row[1], row[2], row[3], f_lists] LOGGER.info("Rss data has been imported from Database.") self.disconnect()