Как сейчас:
Идет генерация текста, вывод по запросу бота пользователю. Но при очередном запросе пользователя на нажатие обновление текста не происходит.
Как сделать так, чтобы каждое нажатие кнопки(Запрос пользователя) обновлял генератор текста и выводил новый?
import telebot
from telebot import types
import numpy as np
text = open('text.txt', encoding='utf-8').read()
foundation = text.split()
def make_pairs(foundation):
for i in range(len(foundation) - 1):
yield (foundation[i], foundation[i + 1])
pairs = make_pairs(foundation)
words = {}
for word_1, word_2 in pairs:
if word_1 in words.keys():
words[word_1].append(word_2)
else:
words[word_1] = [word_2]
first_word = np.random.choice(foundation)
while first_word.islower():
first_word = np.random.choice(foundation)
chain = [first_word]
n_words = 100
for i in range(n_words):
chain.append(np.random.choice(words[chain[-1]]))
print(' '.join(chain))
TOKEN = 'Здесь должен быть токен'
bot = telebot.TeleBot(TOKEN)
@bot.message_handler(commands=['start'])
def welcome(message):
markup = types.ReplyKeyboardMarkup(resize_keyboard=True)
item1 = types.KeyboardButton('Кнопка')
markup.add(item1)
bot.send_message(message.chat.id, 'Привет <3'.format(message.from_user, bot.get_me()),
parse_mode='html', reply_markup=markup)
@bot.message_handler(content_types=['text'])
def bot_message(message):
if message.chat.type == 'private':
if message.text == 'Кнопка':
bot.send_message(message.chat.id,(' '.join(chain)))
bot.polling(none_stop=True, interval=0)