Телеграмм бот (Python) . Как выгружать из текстового файла рандомную фразу?
У меня вопрос, делаю простого телеграмм бота, хочу при нажатии на кнопку random выдавал рандомное слово в загруженном txt файле, а при нажатии на кнопку picture, отправляло так же рандомную картинку из папки в проекте. Картинки отправляются, но при нажатии random бот падает.
import telebot
import random
import os
from telebot import types
# Список рандомных слов
f = open('cm.txt', 'r', encoding='UTF-8')
compl = f.read().split('\n')
f.close()
#Токен
bot = telebot.TeleBot("token")
@bot.message_handler(commands=["start"])
def start(m, res=False):
# кнопки
markup=types.ReplyKeyboardMarkup(resize_keyboard=True)
item1=types.KeyboardButton("Random")
item2=types.KeyboardButton("Пикча")
markup.add(item1, item2)
# Получение сообщений от юзера
@bot.message_handler(content_types=["text"])
def handle_text(message):
# Если юзер прислал 1, выдаем ему случайное слово
if message.text.strip() == 'Random' :
answer = random.choice(compl)
# Если юзер прислал 2, выдаем картинку
elif message.text.strip() == 'Пикча':
photo = open('pic/' + random.choice(os.listdir('pic')), 'rb')
bot.send_photo(message.chat.id, photo)
# Запускаем бота
bot.polling(none_stop=True, interval=0)