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

35
main.py
View File

@@ -19,7 +19,6 @@ config.read(config_path)
BOT_TOKEN = config.get('Telegram', 'BOT_TOKEN')
GROUP_FOR_POST = config.get('Telegram', 'group_for_posts')
GROUP_FOR_MESSAGE = config.get('Telegram', 'group_for_message')
GROUP_FOR_AUDIO = config.get('Telegram', 'group_for_audio')
MAIN_PUBLIC = config.get('Telegram', 'main_public')
GROUP_FOR_LOGS = config.get('Telegram', 'group_for_logs')
IMPORTANT_LOGS = config.get('Telegram', 'important_logs')
@@ -194,26 +193,36 @@ def telegram_bot():
bot.forward_message(chat_id=GROUP_FOR_LOGS,
from_chat_id=message.chat.id,
message_id=message.message_id)
#menu_standup(message=message)
bot.register_next_step_handler(message, callback=go_send_messages)
def standup(message):
# Клавиатуру добавляем
markup = types.ReplyKeyboardMarkup(resize_keyboard=True, one_time_keyboard=True)
item1 = types.KeyboardButton("Высказаться")
item2 = types.KeyboardButton("Послушать")
item3 = types.KeyboardButton("Вернуться в меню")
markup.add(item1, item2, item3)
try:
if message.text == 'Высказаться' or message.text == 'Высказаться еще':
markup = types.ReplyKeyboardRemove()
msg = bot.send_message(chat_id=message.chat.id, text='Пришли мне свое голосовое сообщение', reply_markup=markup)
bot.register_next_step_handler(msg, save_voice_message)
elif message.text == 'Послушать':
file = BotDB.get_random_audio(user_id=message.from_user.id)[0]
path = Path(f'voice_users/{file}.ogg')
voice = open(path, 'rb')
#Клавиатуру добавляем
markup = types.ReplyKeyboardMarkup(resize_keyboard=True, one_time_keyboard=True)
item1 = types.KeyboardButton("Высказаться")
item2 = types.KeyboardButton("Послушать")
item3 = types.KeyboardButton("Вернуться в меню")
markup.add(item1, item2, item3)
msg = bot.send_voice(message.chat.id, voice=voice, reply_markup=markup)
bot.register_next_step_handler(msg, standup)
check_audio = BotDB.check_listen_audio(user_id=message.from_user.id)
list_audio = list(check_audio)
if list_audio == []:
msg = bot.send_message(message.chat.id, 'Прости, ты прослушал все аудио. Возвращайся позже', reply_markup=markup)
bot.register_next_step_handler(msg, standup)
else:
number_element = random.randint(0, len(list_audio) - 1)
audio_for_user = check_audio[number_element]
path = Path(f'voice_users/{audio_for_user}.ogg')
voice = open(path, 'rb')
#Маркируем сообщение как прослушанное
BotDB.mark_listened_audio(audio_for_user, user_id=message.from_user.id)
msg = bot.send_voice(message.chat.id, voice=voice, reply_markup=markup)
bot.register_next_step_handler(msg, standup)
elif message.text == 'Вернуться в меню':
after_post(message=message)
except: