Напиши чат-бота для Telegram на Python с использованием библиотеки pyTelegramBotAPI. Бот должен будет выполнять функцию подборщика фильмов и сериалов. Для подбора от пользователя нужен любимый жанр и любимый фильм, а бот будет на основе этих данных выводить похожие фильмы и сериалы. Так же добавь функцию, чтобы при выборе фильма бот выдавал ссылку на сайт где можно посмотреть тот или иной фильм или сериал. Укрась бота.
Для создания чат-бота для Telegram на Python с использованием библиотеки pyTelegramBotAPI
, который будет подбирать фильмы и сериалы на основе любимого жанра и фильма пользователя, нам потребуется выполнить несколько шагов:
pyTelegramBotAPI
.Вот пример кода для такого бота:
import telebot
from telebot import types
# Замените 'YOUR_BOT_TOKEN' на токен вашего бота
bot = telebot.TeleBot('YOUR_BOT_TOKEN')
# Пример базы данных фильмов и сериалов
movies_db = {
'action': [
{'title': 'Mad Max: Fury Road', 'link': 'https://www.example.com/mad-max'},
{'title': 'John Wick', 'link': 'https://www.example.com/john-wick'}
],
'comedy': [
{'title': 'The Grand Budapest Hotel', 'link': 'https://www.example.com/grand-budapest'},
{'title': 'Superbad', 'link': 'https://www.example.com/superbad'}
],
# Добавьте больше жанров и фильмов
}
# Начальное сообщение
@bot.message_handler(commands=['start'])
def send_welcome(message):
bot.reply_to(message, "Привет! Я помогу тебе подобрать фильмы и сериалы. Напиши свой любимый жанр.")
# Обработка сообщений с жанром
@bot.message_handler(func=lambda message: True)
def handle_genre(message):
genre = message.text.lower()
if genre in movies_db:
bot.reply_to(message, f"Отлично! Теперь напиши свой любимый фильм в жанре {genre}.")
bot.register_next_step_handler(message, handle_favorite_movie, genre)
else:
bot.reply_to(message, "Извини, я не знаю такого жанра. Попробуй другой.")
# Обработка сообщений с любимым фильмом
def handle_favorite_movie(message, genre):
favorite_movie = message.text
recommendations = movies_db.get(genre, [])
if recommendations:
response = f"Вот несколько фильмов и сериалов, которые могут тебе понравиться, если тебе нравится {favorite_movie}:\n"
for movie in recommendations:
response += f"- {movie['title']} (ссылка: {movie['link']})\n"
bot.reply_to(message, response)
else:
bot.reply_to(message, "Извини, я не нашел подходящих рекомендаций.")
# Запуск бота
bot.polling()
Установка библиотеки:
pip install pyTelegramBotAPI
Создание бота в Telegram:
@BotFather
./newbot
и следуйте инструкциям.Код бота:
Украшение бота:
@bot.message_handler(commands=['start'])
def send_welcome(message):
markup = types.ReplyKeyboardMarkup(row_width=2)
itembtn1 = types.KeyboardButton('Action')
itembtn2 = types.KeyboardButton('Comedy')
# Добавьте больше кнопок для жанров
markup.add(itembtn1, itembtn2)
bot.send_message(message.chat.id, "Привет! Я помогу тебе подобрать фильмы и сериалы. Выбери свой любимый жанр:", reply_markup=markup)
@bot.message_handler(func=lambda message: message.text in ['Action', 'Comedy'])
def handle_genre(message):
genre = message.text.lower()
bot.reply_to(message, f"Отлично! Теперь напиши свой любимый фильм в жанре {genre}.")
bot.register_next_step_handler(message, handle_favorite_movie, genre)
Этот код добавляет кнопки для выбора жанра, что делает взаимодействие с ботом более удобным.