Как запрашивать у пользователя числа для сохранения их в переменной "TeleBot"?

Как можно изменить код для бота, чтобы после выбора способа доставки пользователем, бот сохранял этот выбор в переменную, приглашал пользователя указать стоимость товара и автоматически отправлял ему сообщение с подсчитанной общей стоимостью?
  • 27 апреля 2024 г. 13:20
Ответы на вопрос 1
Для получения чисел от пользователя и сохранения их в переменной "TeleBot", можно использовать метод input() в Python:

```python
TeleBot = int(input("Введите число: "))
```

Чтобы добавить возможность выбора способа доставки пользователем, сохранение выбора и автоматическое вычисление общей стоимости, вам нужно модифицировать код вашего бота. Вот пример такого кода:

```python
# Импорт библиотеки telebot
import telebot

# Создание объекта бота
bot = telebot.TeleBot('YOUR_API_TOKEN')

# Обработчик команды "start"
@bot.message_handler(commands=['start'])
def handle_start(message):
    bot.send_message(message.chat.id, "Привет! Выберите способ доставки: 1 - курьер, 2 - почта")

# Обработчик текстовых сообщений
@bot.message_handler(content_types=['text'])
def handle_text(message):
    if message.text == '1':
        delivery = 'Курьер'
    elif message.text == '2':
        delivery = 'Почта'
    else:
        delivery = 'Неизвестный способ'

    bot.send_message(message.chat.id, f"Вы выбрали способ доставки: {delivery}. Укажите стоимость товара:")
    bot.register_next_step_handler(message, calculate_total, delivery)

def calculate_total(message, delivery):
    try:
        cost = float(message.text)
        total_cost = cost if delivery == 'Курьер' else cost + 100  # Добавляем стоимость доставки к общей стоимости
        bot.send_message(message.chat.id, f"Общая стоимость с учётом доставки: {total_cost}")

    except ValueError:
        bot.send_message(message.chat.id, "Пожалуйста, введите числовую стоимость товара.")

# Запуск бота
bot.polling()
```

В этом коде бот запрашивает у пользователя выбор способа доставки, просит указать стоимость товара, автоматически вычисляет общую стоимость и отправляет сообщение с результатом пользователю.
Похожие вопросы