def rem_chat(chat_id): with INSERTION_LOCK: autochat = SESSION.query(ChatbotChats).get(str(chat_id)) if autochat: SESSION.delete(autochat) SESSION.commit()
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 get_whitelist(user_id): user = SESSION.query(WhitelistUsers).get(str(user_id)) rep = "" if user: rep = str(user.username) SESSION.close() return rep
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 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
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 add_fav(user_id, data): with FAV_INSERTION_LOCK: to_check = check_fav(user_id, data) if not to_check: adder = Favourites(int(user_id), str(data)) SESSION.add(adder) SESSION.commit() return True return False
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_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
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 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()
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", False) return "Nana-Official" finally: SESSION.close()
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 set_stanim_set(my_id, sticker): sticker_db = SESSION.query(StickerAnimationSet).get(my_id) if sticker_db: SESSION.delete(sticker_db) sticker_db = StickerAnimationSet(my_id, sticker) SESSION.add(sticker_db) SESSION.commit()
async def set_name_theme_set(my_id, name_theme, custom): 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, custom) SESSION.add(name_theme_db) SESSION.commit()
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 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 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 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_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 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 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 update_chat(chat): global MY_ALL_CHATS if chat.id in list(MY_ALL_CHATS): if MY_ALL_CHATS.get(chat.id) and MY_ALL_CHATS[chat.id].get( 'name') == chat.title and MY_ALL_CHATS[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[chat.id] = {"name": chat.title, "username": chat.username}
def save_selfnote(user_id, note_name, note_data, msgtype, file=None): 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) 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 }
def get_sticker_set(my_id): try: return SESSION.query(StickerSet).get(my_id) finally: SESSION.close()
def is_chat(chat_id): try: chat = SESSION.query(ChatbotChats).get(str(chat_id)) return bool(chat) finally: SESSION.close()
def count_notes(): return SESSION.query(SelfNotes).count()
def get_all_chats(): try: return SESSION.query(ChatbotChats.chat_id).all() finally: SESSION.close()
def get_stanim_set(my_id): try: return SESSION.query(StickerAnimationSet).get(my_id) finally: SESSION.close()
def get_all_chats(): try: return SESSION.query(MyChats).all() finally: SESSION.close()