Вопрос задан 25.10.2023 в 21:39. Предмет Информатика. Спрашивает Кёнигсберг Милана.

Треба створити телеграм бота на python з кнопкою 'гороскоп' при натисканні на яку бот питає нас

'Вкажіть свій знак зодіаку'. Ми водимо наш зз і потім бот перевіряє чи є такий знак зодіаку чи ні. Якщо є то він ввиводе гороскоп а якщо ні то пише що такого зз не існує. Дякую!
0 0
Перейти к ответам

Ответы на вопрос

Внимание! Ответы на вопросы дают живые люди. Они могут содержать ошибочную информацию, заблуждения, а также ответы могут быть сгенерированы нейросетями. Будьте внимательны. Если вы уверены, что ответ неверный, нажмите кнопку "Пожаловаться" под ответом.
Отвечает Шаламай Сергій.

Ответ:

import telebot

# Створюємо екземпляр бота з токеном вашого телеграм-бота

bot = telebot.TeleBot('YOUR_BOT_TOKEN')

# Обробник команди /start або натискання на кнопку "гороскоп"

@bot.message_handler(commands=['start'])

@bot.message_handler(func=lambda message: message.text == 'гороскоп')

def handle_start(message):

   # Відправляємо повідомлення з проханням ввести знак зодіаку

   bot.reply_to(message, 'Вкажіть свій знак зодіаку')

# Обробник отриманих повідомлень

@bot.message_handler(func=lambda message: True)

def handle_message(message):

   # Отримуємо текст повідомлення

   sign = message.text.lower()

   # Словник знаків зодіаку і відповідних гороскопів

   zodiac_signs = {

       'овен': 'Сьогодні ваш день буде повний енергії і нових початків.',

       'телець': 'Сьогодні ви будете насолоджуватися затишком і комфортом.',

       'близнюки': 'Сьогодні ваш день буде повний цікавих знайомств і комунікацій.',

       'рак': 'Сьогодні ви будете дуже чутливі та уважні до потреб інших.',

       'лев': 'Сьогодні ваша харизма буде на висоті, і вам будуть підкорятися.',

       'діва': 'Сьогодні ваш день буде пройманий організованістю і точністю.',

       'травень': 'Сьогодні ви будете схильні до компромісів і гармонії.',

       'ваги': 'Сьогодні ви будете шукати гармонію і баланс у всіх сферах життя.',

       'скорпіон': 'Сьогодні вам потрібно буде виявити свою силу і впевненість.',

       'стрілець': 'Сьогодні ви будете сповнені ентузіазму і прагнення до нових пригод.',

       'козорі

0 0
Отвечает нейросеть ChatGpt. Будьте внимательны, ответы нейросети могут содержать ошибочные или выдуманные данные.

Для створення телеграм бота на Python з такою функціональністю вам знадобиться використовувати бібліотеку python-telegram-bot. Почнемо з кроків, які потрібно виконати:

  1. Спочатку встановіть бібліотеку python-telegram-bot. Ви можете зробити це за допомогою pip:
bash
pip install python-telegram-bot
  1. Створіть бота на Telegram та отримайте API-ключ бота.

  2. Ось приклад коду для вашого бота:

python
import logging from telegram import InlineKeyboardButton, InlineKeyboardMarkup, Update from telegram.ext import Updater, CommandHandler, CallbackQueryHandler, ConversationHandler, MessageHandler, Filters, CallbackContext # Змінні для зберігання інформації про знак зодіаку ZODIAC_SIGNS = ['Овен', 'Телець', 'Близнюки', 'Рак', 'Лев', 'Діва', 'Терези', 'Скорпіон', 'Стрілець', 'Козеріг', 'Водолій', 'Риби'] zodiac_data = { 'Овен': 'Гороскоп для Овна ...', 'Телець': 'Гороскоп для Тельця ...', # Додайте гороскоп для інших знаків зодіаку тут } # Стани для обробки різних кроків розмови SELECTING_ACTION, SELECTING_ZODIAC = range(2) # Функція для старту бота def start(update: Update, context: CallbackContext) -> int: user = update.message.from_user update.message.reply_text( f"Привіт, {user.first_name}! Я бот гороскопів. Натисніть 'гороскоп', щоб продовжити.", reply_markup=main_menu() ) return SELECTING_ACTION # Функція для вибору дії def main_menu(): buttons = [ [InlineKeyboardButton("Гороскоп", callback_data=str(SELECTING_ZODIAC))] ] return InlineKeyboardMarkup(buttons) # Функція для вибору знаку зодіаку def select_zodiac(update: Update, context: CallbackContext) -> int: update.callback_query.message.edit_text("Вкажіть свій знак зодіаку:") return SELECTING_ZODIAC # Функція для обробки введеного знаку зодіаку def check_zodiac(update: Update, context: CallbackContext) -> int: user_input = update.message.text if user_input in ZODIAC_SIGNS: horoscope = zodiac_data[user_input] update.message.reply_text(f"Ваш гороскоп для {user_input}:\n{horoscope}") else: update.message.reply_text("Такого знаку зодіаку не існує. Вкажіть коректний знак зодіаку.") return SELECTING_ACTION # Головна функція для запуску бота def main(): updater = Updater("ВАШ_API_КЛЮЧ", use_context=True) dp = updater.dispatcher conv_handler = ConversationHandler( entry_points=[CommandHandler('start', start)], states={ SELECTING_ACTION: [CallbackQueryHandler(select_zodiac, pattern='^' + str(SELECTING_ZODIAC) + '$')], SELECTING_ZODIAC: [MessageHandler(Filters.text & ~Filters.command, check_zodiac)] }, fallbacks=[] ) dp.add_handler(conv_handler) updater.start_polling() updater.idle() if __name__ == '__main__': main()

Не забудьте замінити "ВАШ_API_КЛЮЧ" на ваш власний API-ключ бота.

Цей код створює телеграм бота, який запитує користувача про його знак зодіаку і відповідає гороскопом для обраного знаку.

0 0

Похожие вопросы

Топ вопросов за вчера в категории Информатика

Последние заданные вопросы в категории Информатика

Задать вопрос