как сделать ввод данных в телеграм боте
Мне нужно разбить сообщение от пользователя таким образом
пользователь пишет
1 - слово1
2 - слово2
3 - слово3
и чтобы это все сохранялось в словарь и в json файл. Ключом будет цифра слова, значением само слово. Я пытался сделать это через register_next_step_handler, но так и не смог.
Ответы (1 шт):
Автор решения: oleksandrigo
→ Ссылка
Ну это не сложно, главное помнить как именно он работает. Вы словно говорите, что следующее, что введет юзер обработай вот в этой функции. Ну и передаете обьект Message, к тому же не важно какой. Возможно он из него берет данные чата, чтобы правильно работать. Хз. Вот код
from telebot import TeleBot, types
import config
bot = TeleBot(config.BOT_TOKEN)
@bot.message_handler(commands=['start'])
def send_welcome(message: types.Message):
bot.send_message(chat_id=message.chat.id, text='Привет, как твое имя?')
bot.register_next_step_handler(message, get_name)
def get_name(message: types.Message):
print(message.text)
# тут у вас то что ввел юзер
bot.send_message(chat_id=message.chat.id, text=f'Приятно познакомиться, {message.text}\n'
f'А сколько тебе лет?')
bot.register_next_step_handler(message, get_age)
def get_age(message: types.Message):
bot.send_message(chat_id=message.chat.id, text=f'Вау тебе уже, {message.text} лет\n'
f'Как настроение?')
bot.register_next_step_handler(message, get_mood)
def get_mood(message: types.Message):
bot.send_message(chat_id=message.chat.id, text=f'Отлично!\n')
bot.infinity_polling(skip_pending=True)
Думаю как записывать в словарь, вам говорить не надо?
