Не могу выбрать random фразу из списка для своего бота телеграм
Нужно чтобы бот выбирал каждый раз случайную фразу из списка. Я пытался использовать random.choice, он действительно выбирает случайную фразу, но лишь только один раз. Во время работы бота он все время повторяет только одну выбраную фразу. Я же хочу чтобы при получении сообщения бот реагировал на словои выбирал каждый раз случайную фразу из списка. Надеюсь понятно обьяснил, вот полный код бота, чтобы было понятнее:
import telebot
import config
import random
import numpy
bot = telebot.TeleBot(config.token)
list = (['Осуждаю','Не одобряю','Максимальное осуждение' 'Бан'])
pid = random.choice(list)
pid1 = numpy.random.choice(list,replace=False)
@bot.message_handler(regexp='Слива|груша|яблоко|банан|орех')
def handle_message(message):
bot.reply_to(message, pid)
bot.polling(none_stop=True)
Ответы (1 шт):
Вы в самом начале программы вызвали random.choice, т.е. всего один раз выбрали случайную фразу и удивляетесь, что эта фраза повторяется.
Быть может вы имели ввиду вот это? А именно - каждый раз, при вызове обработчика выбирать случайную фразу.
@bot.message_handler(regexp='Слива|груша|яблоко|банан|орех')
def handle_message(message):
pid = random.choice(list)
bot.reply_to(message, pid)
И list, это имя встроенного типа, никогда так не называйте свои объекты. Используйте, условный, answers_list. А что значит имя pid - известно только вам.