コード例 #1
0
def del_user(user_id):
    with INSERTION_LOCK:
        curr = SESSION.query(Users).get(user_id)
        if curr:
            SESSION.delete(curr)
            SESSION.commit()
            return
コード例 #2
0
def disapprove(chat_id, user_id):
    with INSERTION_LOCK:
        note = SESSION.query(Approvals).get((str(chat_id), user_id))
        if note:
            SESSION.delete(note)
            SESSION.commit()
            return True
        SESSION.close()
        return False
コード例 #3
0
ファイル: antispam_db.py プロジェクト: Disegual/Alita_Robot
def ungban_user(user_id):
    with GBAN_LOCK:
        user = SESSION.query(GloballyBannedUsers).get(user_id)
        try:
            if user:
                SESSION.delete(user)
                SESSION.commit()
        finally:
            SESSION.close()
            __load_gbanned_userid_list()
コード例 #4
0
def clear_rules(chat_id):
    with INSERTION_LOCK:
        try:
            rules = SESSION.query(Rules).get(str(chat_id))
            SESSION.delete(rules)
            SESSION.commit()
        except BaseException:
            return False
        finally:
            SESSION.close()
    return True
コード例 #5
0
def rem_chat(chat_id):
    with INSERTION_LOCK:
        chat = SESSION.query(Chats).get(str(chat_id))
        if chat:
            try:
                SESSION.delete(chat)
                SESSION.commit()
            finally:
                SESSION.close()
        else:
            SESSION.close()
コード例 #6
0
def rm_note(chat_id, note_name):
    global CHAT_NOTES
    with INSERTION_LOCK:
        note = SESSION.query(Notes).get((str(chat_id), note_name))
        if note:
            SESSION.delete(note)
            SESSION.commit()
            CHAT_NOTES[str(chat_id)].pop(note_name)
            return True

        else:
            SESSION.close()
            return False
コード例 #7
0
def rm_from_blacklist(chat_id, trigger):
    with INSERTION_LOCK:
        try:
            blacklist_filt = SESSION.query(BlackListFilters).get(
                (str(chat_id), trigger))
            if blacklist_filt:
                if trigger in CHAT_BLACKLISTS.get(str(chat_id), set()):
                    CHAT_BLACKLISTS.get(str(chat_id), set()).remove(trigger)

                SESSION.delete(blacklist_filt)
                SESSION.commit()
                return True
        finally:
            SESSION.close()
        return False
コード例 #8
0
def rm_all_note(chat_id):
    global CHAT_NOTES
    with INSERTION_LOCK:
        all_notes = get_all_notes(chat_id)
        for note_name in all_notes:
            note = SESSION.query(Notes).get((str(chat_id), note_name))
            if note:
                try:
                    SESSION.delete(note)
                    SESSION.commit()
                    CHAT_NOTES[str(chat_id)].pop(note_name)
                except:
                    pass
            SESSION.close()
        del CHAT_NOTES[str(chat_id)]
    return True
コード例 #9
0
def save_note(chat_id, note_name, note_data, msgtype, file=None):
    global CHAT_NOTES
    with INSERTION_LOCK:
        prev = SESSION.query(Notes).get((str(chat_id), note_name))
        if prev:
            SESSION.delete(prev)
        note = Notes(str(chat_id), note_name, note_data, msgtype, file)
        SESSION.add(note)
        SESSION.commit()

        if not CHAT_NOTES.get(chat_id):
            CHAT_NOTES[chat_id] = {}
        CHAT_NOTES[chat_id][note_name] = {
            "value": note_data,
            "type": msgtype,
            "file": file,
        }
コード例 #10
0
def disapprove_all(chat_id):
    users_list = []
    try:
        users = (SESSION.query(Approvals).filter(
            Approvals.chat_id == str(chat_id)).order_by(
                Approvals.user_id.asc()).all())
        for i in users:
            users_list.append(int(i.user_id))
        with INSERTION_LOCK:
            for user_id in users_list:
                note = SESSION.query(Approvals).get((str(chat_id), user_id))
                if note:
                    SESSION.delete(note)
                    SESSION.commit()
                else:
                    SESSION.close()
        return True
    except BaseException:
        return False