Бот для игры в 'Слова' для telegram бота
Возможно ли сделать телеграм бота для игры в слова на языке программирования python (Пользователь пишет слово, а бот придумывает слово на последнюю букву предыдущего. Например: Пользователь: машинА Бот: АрбуЗ Пользователь: ЗебрА И так далее) если да, то подскажите библиотеку
import telebot
import openai
bot = telebot.TeleBot("{Ваш TELEGRAM TOKEN}") # Регистрируется через BOT FATHER в TELEGRAM
openai.api_key = "{Ваш OPEN AI API KEY}" # Нужно быть зарегистированым в OPEN AI и получить токен.
last_letter = None
@bot.message_handler(func=lambda message: True)
def game(message):
global last_letter # Объявляем, что будем использовать глобальную переменную
# Если last_letter пустая, значит это первый ход игры, и нужно получить первое слово от пользователя
if last_letter is None:
last_letter = message.text[-1].lower()
bot.send_message(message.chat.id, "Начнем игру! Введите слово, которое начинается с буквы " + last_letter)
else:
first_letter = message.text[0].lower()
if first_letter != last_letter:
bot.send_message(message.chat.id,
"К сожалению, вы ввели неверное слово. Введите слово, которое начинается с буквы " + last_letter)
else:
last_letter = message.text[-1].lower()
prompt = f"Give me a word that starts with {last_letter}"
response = openai.Completion.create(
engine="text-davinci-002",
prompt=prompt,
max_tokens=60,
n=1,
stop=None,
temperature=0.5,
)
generated_word = response.choices[0].text.strip()
if generated_word and generated_word[0].lower() == last_letter:
bot.send_message(message.chat.id, generated_word)
last_letter = generated_word[-1].lower()
else:
bot.send_message(message.chat.id, "К сожалению, я не знаю слов на букву " + last_letter)
bot.polling()