def add_to_blacklist(chat_id, trigger): with BLACKLIST_FILTER_INSERTION_LOCK: blacklist_filt = BlackListFilters(str(chat_id), trigger) SESSION.merge(blacklist_filt) # merge to avoid duplicate key issues SESSION.commit() CHAT_BLACKLISTS.setdefault(str(chat_id), set()).add(trigger)
def blacklistChat(chat_id): with BANCHATLOCK: chat = SESSION.query(BannedChat).get(chat_id) if not chat: chat = BannedChat(chat_id) SESSION.merge(chat) SESSION.commit() __load_blacklisted_chats_list()
def update_gmute_reason(user_id, name, reason=None): with GMUTED_USERS_LOCK: user = SESSION.query(GloballyMutedUsers).get(user_id) if not user: return False user.name = name user.reason = reason SESSION.merge(user) SESSION.commit() return True
def add_to_stickers(chat_id, trigger): with STICKERS_FILTER_INSERTION_LOCK: stickers_filt = StickersFilters(str(chat_id), trigger) SESSION.merge(stickers_filt) # merge to avoid duplicate key issues SESSION.commit() global CHAT_STICKERS if CHAT_STICKERS.get(str(chat_id), set()) == set(): CHAT_STICKERS[str(chat_id)] = {trigger} else: CHAT_STICKERS.get(str(chat_id), set()).add(trigger)
def gmute_user(user_id, name, reason=None): with GMUTED_USERS_LOCK: user = SESSION.query(GloballyMutedUsers).get(user_id) if not user: user = GloballyMutedUsers(user_id, name, reason) else: user.name = name user.reason = reason SESSION.merge(user) SESSION.commit() __load_gmuted_userid_list()
def update_gban_reason(user_id, name, reason=None): with GBANNED_USERS_LOCK: user = SESSION.query(GloballyBannedUsers).get(user_id) if not user: return None old_reason = user.reason user.name = name user.reason = reason SESSION.merge(user) SESSION.commit() return old_reason