new function voice chat

This commit is contained in:
KerradKerridi
2022-08-30 23:17:17 +03:00
parent ae82ef414b
commit aa455ee1a5
2 changed files with 46 additions and 21 deletions

32
db.py
View File

@@ -125,15 +125,31 @@ class BotDB:
except sqlite3.Error as error:
print(error)
def get_random_audio(self, user_id):
"""Получает данные о войсе юзера из БД"""
def check_listen_audio(self, user_id):
"""Проверяет прослушано ли аудио пользователем"""
try:
file_name = self.cursor.execute(
"SELECT `file_name` FROM `audio_message_reference` WHERE `author_id` <> ?", (user_id,))
file_name_massive = file_name.fetchall()
number_element = random.randint(0, len(file_name_massive)-1)
audio_for_user = file_name_massive[number_element]
return audio_for_user
query_listen_audio = self.cursor.execute(
"""SELECT l.file_name
FROM audio_message_reference a
LEFT JOIN listen_audio_users l ON l.file_name = a.file_name
WHERE l.user_id = ?
AND l.file_name IS NOT NULL""" , (user_id,))
check_sign = query_listen_audio.fetchall()
query_all_audio = self.cursor.execute('SELECT file_name FROM audio_message_reference WHERE author_id <> ?', (user_id,))
sign_all_audio = query_all_audio.fetchall()
new_sign1 = list(set(sign_all_audio) - set(check_sign))
new_sign = []
for i in new_sign1:
new_sign.append(i[0])
return new_sign
except sqlite3.Error as error:
print(error)
def mark_listened_audio(self, file_name, user_id):
"""Отмечает аудио прослушанным для конкретного пользователя."""
try:
result = self.cursor.execute("INSERT INTO `listen_audio_users` (file_name, user_id, is_listen) VALUES (?, ?, ?)", (file_name, user_id, 1))
return self.conn.commit()
except sqlite3.Error as error:
print(error)