@Belavor

Как добавить данные из message.text в array telebot?

keyboard1 = telebot.types.ReplyKeyboardMarkup(True,True)
keyboard1.row(f"{day[0]}",f"{day[1]}",f"{day[2]}")
keyboard1.row(f"{day[3]}",f"{day[4]}",f"{day[5]}")
keyboard1.row("добавить инфо")
qq = []

@bot.message_handler(commands=['start'])
def start_message(message):
         bot.send_message(message.chat.id, 'Which day you need' , reply_markup=keyboard1)

@bot.message_handler(content_types=['text'])
def send_text(message):
     if message.text == f"{day[0]}":
          bot.send_message(message.chat.id, "some text")
     elif message.text == 'добавить инфо':
          qq.append("lol")
          bot.send_message(message.chat.id, "added")


и как можно сделать чтобы вводить текст после нажатии на keyboard1.row("добавить инфо")
потом чтобы этот текст сохранялся в var и добавлялся array
  • Вопрос задан
  • 1025 просмотров
Решения вопроса 1
Big_Trouble
@Big_Trouble
Программист недосамоучка
Как добавить данные из message.text в array telebot?

Просто
qq.append(message.text)
keyboard1 = telebot.types.ReplyKeyboardMarkup(True,True)
keyboard1.row(f"{day[0]}",f"{day[1]}",f"{day[2]}")
keyboard1.row(f"{day[3]}",f"{day[4]}",f"{day[5]}")
keyboard1.row("добавить инфо")
qq = []

@bot.message_handler(commands=['start'])
def start_message(message):
         bot.send_message(message.chat.id, 'Which day you need' , reply_markup=keyboard1)

@bot.message_handler(content_types=['text'])
def send_text(message):
     if message.text == f"{day[0]}":
          bot.send_message(message.chat.id, "some text")
     elif message.text == 'добавить инфо':
          bot.register_next_step_handler(message, infoAdding)
#если message.text == добавить инфо - мы переходим к функции infoAdding, message - #обязательный параметр, в нем храниться вся информация о сообщении
#(имя пользователя который его прислал, текст сообщения, id и тд..)
def infoAdding(message):
    bot.send_message(message.chat.id, "Введите информацию")
    bot.register_next_step_handler(msg, result)
    #Здесь, в  infoAdding - пользователь вводит нужную информацию, 
    #чтобы её получить нам нужно перейти к другой в функции
    # в нашем случае result но может быть любая другая. 
    # Тогда в функции result придет сообщение(message) с текстом который ввёл пользователь
def result(message):
    qq.append(message.text)
    bot.send_message(message.chat.id, qq[0])
    #Здесь мы сохраняем значение message.text в наш массив qq
    #И бот отправляет нам первый элемент списка qq(для наглядности, что message.text добавлено в массив)
Ответ написан
Комментировать
Пригласить эксперта
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Войти через центр авторизации
Похожие вопросы