示例#1
0
def get_whitelist(user_id):
    user = SESSION.query(PMTable).get(user_id)
    rep = ""
    if user:
        rep = str(user.boolvalue)
    SESSION.close()
    return rep
示例#2
0
def gmute(sender):
    global GMUTE_USERS
    with INSERTION_LOCK:
        adder = GMute(sender)
        GMUTE_USERS.append(sender)
        SESSION.add(adder)
        SESSION.commit()
    return
示例#3
0
def ungmute(sender):
    global GMUTE_USERS
    with INSERTION_LOCK:
        rem = SESSION.query(GMute).get(sender)
        if rem:
            GMUTE_USERS.remove(sender)
            SESSION.delete(rem)
            SESSION.commit()
        return
示例#4
0
def get_msg_id(user_id):
    try:
        user = SESSION.query(MsgID).get(user_id)
        msg_id = None
        if user:
            msg_id = user.msg_id
            return msg_id
    finally:
        SESSION.close()
示例#5
0
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()
示例#6
0
def set_credential(chat_id, credential_string):
    with INSERTION_LOCK:
        saved_cred = SESSION.query(gDriveCreds).get(chat_id)
        if not saved_cred:
            saved_cred = gDriveCreds(chat_id)

        saved_cred.credential_string = pickle.dumps(credential_string)

        SESSION.add(saved_cred)
        SESSION.commit()
示例#7
0
def is_gmuted(sender_id):
    global GMUTE_USERS
    with INSERTION_LOCK:
        try:
            if sender_id in GMUTE_USERS:
                return True
            else:
                return None
        finally:
            SESSION.close()
        return
示例#8
0
def get_credential(chat_id):
    with INSERTION_LOCK:
        saved_cred = SESSION.query(gDriveCreds).get(chat_id)
        creds = None
        if saved_cred is not None:
            creds = pickle.loads(saved_cred.credential_string)
        return creds
示例#9
0
def save_note(user_id,
              note_name,
              note_data,
              msgtype,
              file_id=None,
              file_ref=None):
    global SELF_NOTES
    with INSERTION_LOCK:
        prev = SESSION.query(Notes).get((user_id, note_name))
        if prev:
            SESSION.delete(prev)
        note = Notes(user_id,
                     note_name,
                     note_data,
                     msgtype=int(msgtype),
                     file_id=file_id,
                     file_ref=file_ref)
        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_id': file_id,
            "file_ref": file_ref
        }
示例#10
0
def set_afk(afk, reason):
    global MY_AFK
    afk_db = SESSION.query(AFK).get(str(OWNER_ID))
    if afk_db:
        SESSION.delete(afk_db)
    afk_db = AFK(OWNER_ID, afk, reason)
    SESSION.add(afk_db)
    SESSION.commit()
    MY_AFK[OWNER_ID] = {"afk": afk, "reason": reason}
示例#11
0
def del_whitelist(user_id):
    with INSERTION_LOCK:
        user = SESSION.query(PMTable).get(user_id)
        try:
            if user:
                SESSION.delete(user)
                SESSION.commit()
        finally:
            SESSION.close()
        return False
示例#12
0
def __load_all_notes():
    global SELF_NOTES
    getall = SESSION.query(Notes).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_id': x.file_id,
            'file_ref': x.file_ref
        }
示例#13
0
def rm_note(user_id, note_name):
    global SELF_NOTES
    with INSERTION_LOCK:
        note = SESSION.query(Notes).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
示例#14
0
def set_last_msg_id(user_id, msg_id):
    with INSERTION_LOCK:
        try:
            user = SESSION.query(MsgID).get(user_id)
            if not user:
                user = MsgID(user_id, msg_id)
            else:
                user.msg_id = msg_id
            SESSION.merge(user)
            SESSION.commit()
        finally:
            SESSION.close()
示例#15
0
def set_whitelist(user_id, boolvalue):
    with INSERTION_LOCK:
        user = SESSION.query(PMTable).get(user_id)
        try:
            if not user:
                user = PMTable(user_id, boolvalue)
            else:
                user.boolvalue = str(boolvalue)
            SESSION.add(user)
            SESSION.commit()
        finally:
            SESSION.close()
    return user_id
示例#16
0
def clear_credential(chat_id):
    with INSERTION_LOCK:
        saved_cred = SESSION.query(gDriveCreds).get(chat_id)
        if saved_cred:
            SESSION.delete(saved_cred)
            SESSION.commit()
示例#17
0
def __load_all_gmute_users():
    global GMUTE_USERS
    getall = SESSION.query(GMute).all()
    for x in getall:
        GMUTE_USERS.append(x)
    return
示例#18
0
def get_num_notes(user_id):
    try:
        num_notes = SESSION.query(Notes).count()
        return num_notes
    finally:
        SESSION.close()