def set_sticker_set(my_id, sticker): sticker_db = SESSION.query(StickerSet).get(my_id) if sticker_db: SESSION.delete(sticker_db) sticker_db = StickerSet(my_id, sticker) SESSION.add(sticker_db) SESSION.commit()
def save_selfnote(user_id, note_name, note_data, msgtype, file=None, file_ref=None, message_id=0): global SELF_NOTES with INSERTION_LOCK: prev = SESSION.query(SelfNotes).get((user_id, note_name)) if prev: SESSION.delete(prev) note = SelfNotes(user_id, note_name, note_data, msgtype=int(msgtype), file=file, file_ref=file_ref, message_id=message_id) SESSION.add(note) SESSION.commit() if not SELF_NOTES.get(user_id): SELF_NOTES[user_id] = {} SELF_NOTES[user_id][note_name] = { 'value': note_data, 'type': msgtype, 'file': file, 'file_ref': file_ref, 'message_id': message_id }
def rem_chat(chat_id): with INSERTION_LOCK: autochat = SESSION.query(ChatbotChats).get(str(chat_id)) if autochat: SESSION.delete(autochat) SESSION.commit()
def __load_mychats_admin(): global MY_ALL_ADMINS, MY_CHATS_CREATOR, MY_CHATS_ADMINS try: MY_ALL_ADMINS = {} MY_CHATS_CREATOR = {} MY_CHATS_ADMINS = {} qall = SESSION.query(MyChatsAdmin).all() for x in qall: MY_ALL_ADMINS[x.chat_id] = { "name": x.chat_name, "username": x.chat_username } if x.chat_status == "creator": MY_CHATS_CREATOR[x.chat_id] = { "name": x.chat_name, "username": x.chat_username } if x.chat_status == "administrator": MY_CHATS_ADMINS[x.chat_id] = { "name": x.chat_name, "username": x.chat_username } print(MY_ALL_ADMINS) print(MY_CHATS_CREATOR) print(MY_CHATS_ADMINS) finally: SESSION.close()
def backup_indentity(first_name, last_name, bio): cloner_db = SESSION.query(Cloner).get(str(Owner)) if cloner_db: SESSION.delete(cloner_db) cloner_db = Cloner(Owner, first_name, last_name, bio) SESSION.add(cloner_db) SESSION.commit()
async def set_name_theme_set(my_id, name_theme): name_theme_db = SESSION.query(ThemeSet).get(my_id) if name_theme_db: SESSION.delete(name_theme_db) name_theme_db = ThemeSet(my_id, name_theme) SESSION.add(name_theme_db) SESSION.commit()
def __load_allnotes(): global SELF_NOTES getall = SESSION.query(SelfNotes).distinct().all() for x in getall: if not SELF_NOTES.get(x.user_id): SELF_NOTES[x.user_id] = {} SELF_NOTES[x.user_id][x.name] = {'value': x.value, 'type': x.msgtype, 'file': x.file}
def get_whitelist(user_id): user = SESSION.query(WhitelistUsers).get(str(user_id)) rep = "" if user: rep = str(user.username) SESSION.close() return rep
def get_req(user_id): user = SESSION.query(ReqUsers).get(str(user_id)) rep = "" if user: rep = str(user.username) SESSION.close() return rep
def switch_to_locale(chat_id, locale_name): with LOCALES_INSERTION_LOCK: prev = SESSION.query(Locales).get((str(chat_id))) if prev: SESSION.delete(prev) switch_locale = Locales(str(chat_id), locale_name) SESSION.add(switch_locale) SESSION.commit()
def __load_afk(): global MY_AFK try: MY_AFK = {} qall = SESSION.query(AFK).all() for x in qall: MY_AFK[int(x.user_id)] = {"afk": x.is_afk, "reason": x.reason} finally: SESSION.close()
def set_afk(afk, reason): global MY_AFK afk_db = SESSION.query(AFK).get(str(Owner)) if afk_db: SESSION.delete(afk_db) afk_db = AFK(Owner, afk, reason) SESSION.add(afk_db) SESSION.commit() MY_AFK[Owner] = {"afk": afk, "reason": reason}
def __load_mychats(): global MY_ALL_CHATS try: MY_ALL_CHATS = {} qall = SESSION.query(MyChats).all() for x in qall: MY_ALL_CHATS[x.chat_id] = {"name": x.chat_name, "username": x.chat_username} finally: SESSION.close()
def get_lydia(user_id): try: # return LydiaAI check = SESSION.query(LydiaAI).get(int(user_id)) if check: return check.is_enable return False finally: SESSION.close()
def set_lydia(user_id, enable): with INSERTION_LOCK: # global LydiaAI curr = SESSION.query(LydiaAI).get(int(user_id)) if not curr: curr = LydiaAI(int(user_id)) curr.is_enable = enable SESSION.add(curr) SESSION.commit()
async def get_custom_theme(id_theme): a = SESSION.query(CustomThemeSet).filter( CustomThemeSet.id_theme == id_theme).first() return { "welcome": a.welcome, "start": a.start, "settings": a.settings, "stats": a.stats }
def remove_fav(user_id): with FAV_INSERTION_LOCK: to_check = get_fav(user_id) if not to_check: return False rem = SESSION.query(Favourites).filter(Favourites.user_id == user_id) rem.delete() SESSION.commit() return True
async def get_list_costum_theme(): try: list_theme = SESSION.query(CustomThemeSet).all() list_thm = [] for i in list_theme: list_thm.append([i.name, f"cthm-{i.id_theme}"]) return list_thm finally: SESSION.close()
def set_req(user_id, username): with INSERTION_LOCK: user = SESSION.query(ReqUsers).get(str(user_id)) if not user: user = ReqUsers(str(user_id), str(username)) else: user.username = str(username) SESSION.add(user) SESSION.commit()
def get_all_chats_creator(): try: MY_CREATOR = {} qall = SESSION.query(MyChatsAdmin).all() for x in qall: if x.chat_status == "creator": MY_CREATOR[x.chat_id] = {"name": x.chat_name, "username": x.chat_username} return MY_CREATOR finally: SESSION.close()
def del_whitelist(user_id): with INSERTION_LOCK: user = SESSION.query(WhitelistUsers).get(str(user_id)) if user: SESSION.delete(user) SESSION.commit() else: SESSION.close() return False
def set_whitelist(user_id, username): with INSERTION_LOCK: user = SESSION.query(WhitelistUsers).get(str(user_id)) if not user: user = WhitelistUsers(str(user_id), str(username)) else: user.username = str(username) SESSION.add(user) SESSION.commit()
def get_all_chats_admin_only(): try: MY_ADMIN = {} qall = SESSION.query(MyChatsAdmin).all() for x in qall: if x.chat_status == "administrator": MY_ADMIN[x.chat_id] = {"name": x.chat_name, "username": x.chat_username} return MY_ADMIN finally: SESSION.close()
def get_ses(chat_id): autochat = SESSION.query(ChatbotChats).get(str(chat_id)) sesh = '' exp = '' if autochat: sesh = str(autochat.ses_id) exp = str(autochat.expires) SESSION.close() return sesh, exp
async def get_name_theme_set(my_id): try: name = SESSION.query(ThemeSet).get(my_id) if name: return f"{name}" else: await set_name_theme_set(Owner, "Nana-Official") return "Nana-Official" finally: SESSION.close()
def set_ses(chat_id, ses_id, expires): with INSERTION_LOCK: autochat = SESSION.query(ChatbotChats).get(str(chat_id)) if not autochat: autochat = ChatbotChats(str(chat_id), str(ses_id), str(expires)) else: autochat.ses_id = str(ses_id) autochat.expires = str(expires) SESSION.add(autochat) SESSION.commit()
def update_chat(chat): global MY_ALL_CHATS if str(chat.id) in list(MY_ALL_CHATS): if MY_ALL_CHATS.get(str(chat.id)) and MY_ALL_CHATS[str(chat.id)].get('name') == chat.title and MY_ALL_CHATS[str(chat.id)].get('username') == chat.username: return chat_db = SESSION.query(MyChats).get(str(chat.id)) if chat_db: SESSION.delete(chat_db) chat_db = MyChats(str(chat.id), chat.title, chat.username) SESSION.add(chat_db) SESSION.commit() MY_ALL_CHATS[str(chat.id)] = {"name": chat.title, "username": chat.username}
def __load_mychats(): global MY_ALL_CHATS try: qall = SESSION.query(MyChats).all() MY_ALL_CHATS = { x.chat_id: { 'name': x.chat_name, 'username': x.chat_username, } for x in qall } finally: SESSION.close()
def rm_selfnote(user_id, note_name): global SELF_NOTES with INSERTION_LOCK: note = SESSION.query(SelfNotes).get((user_id, note_name)) if note: SESSION.delete(note) SESSION.commit() SELF_NOTES[user_id].pop(note_name) return True else: SESSION.close() return False
def delete_my_chat_admin(chat, status): global MY_ALL_ADMINS, MY_CHATS_CREATOR, MY_CHATS_ADMINS if str(chat.id) in list(MY_ALL_ADMINS): chat_db = SESSION.query(MyChatsAdmin).get(str(chat.id)) if chat_db: SESSION.delete(chat_db) SESSION.commit() MY_ALL_ADMINS.pop(str(chat.id)) print("Deleted " + chat.title) if status == "creator": MY_CHATS_CREATOR.pop(str(chat.id)) if status == "administrator": MY_CHATS_ADMINS.pop(str(chat.id))