Я хочу создать бота с калькулятором в Telegram, но я не знаю, как я могу сохранить ввод из пользовательского сообщения для сохранения в переменной.
Моя идея заключается в том, что пользователь отправляет два числа, а бот суммирует оба числа и отправляет результат пользователю в сообщении.
Тем не менее, нет необходимости «сохранять ввод в переменной», если вы пытаетесь отправить обратно сумму этих сообщений.
Вы получаете пользовательский ввод с помощью register_next_step_handler
Вы можете использовать register_next_step_handler
.
пример 1:
https://github.com/eternnoir/pyTelegramBotAPI/blob/master/examples/step_example.py
пример 2:
import telebot
bot = telebot.TeleBot("api")
@bot.message_handler(content_types=['text'])
def welcome(pm):
sent_msg = bot.send_message(pm.chat.id, "Welcome to bot. what's your name?")
bot.register_next_step_handler(sent_msg, name_handler) #Next message will call the name_handler function
def name_handler(pm):
name = pm.text
sent_msg = bot.send_message(pm.chat.id, f"Your name is {name}. how old are you?")
bot.register_next_step_handler(sent_msg, age_handler, name) #Next message will call the age_handler function
def age_handler(pm, name):
age = pm.text
bot.send_message(pm.chat.id, f"Your name is {name}, and your age is {age}.")
bot.polling()
Привет! Добро пожаловать в StackOverflow! Пожалуйста, прочитайте наш тур, чтобы лучше понять, как задавать вопросы здесь. Не могли бы вы поделиться кодом, здесь требуется показать ваши попытки.