next_step_handler с функцией где 2 переменные

desperado

Новичок
Пользователь
Янв 12, 2022
1
0
1
Здравствуйте, есть функция с 2 аргументами, search(obj,store). Как правильно добавить ее, пытался вот так:
if message.text == "Поиск" or message.text == "поиск":
bot.send_message(message.from_user.id, "Введите obj")
bot.send_message(message.from_user.id, "Введите store")
bot.register_next_step_handler(message, get_search)

def get_search(message):
obj = message.text
store = message.text
bot.send_message(message.from_user.id, f'{search(obj,store)}')

но функция не спрашивая 2 аргумент сразу же выкидывает ошибку. Если вне бота ее запускать через obj = input() и store = input() то она работает, а в боте нет.
 

Ципихович Эндрю

Активный пользователь
Пользователь
Мар 27, 2021
490
25
28
if message.text == "Поиск" or message.text == "поиск":
это пишется через lower или upper на выбор
2 вставьте изменённое в форму форума как код
 

Vershitel_sudeb

Vershitel sudeb
Команда форума
Модератор
Мар 17, 2021
932
208
43
20
Москва
Вставьте пожалуйста код как код:
1642010685639.png
 

stud_55

Модератор
Команда форума
Модератор
Апр 3, 2020
1 522
672
113
Здравствуйте, есть функция с 2 аргументами, search(obj,store). Как правильно добавить ее
Нужно 2 раза получить данные от пользователя это можно сделать с помощью двух функций и bot.register_next_step_handler().
То есть сначала запросить один аргумент, потом второй и после вызвать функцию:
Python:
# словарь для сохранения данных запроса пользователя
# {id: obj}
d = {} 

if message.text.lower() == "поиск":
    bot.send_message(message.from_user.id, "Введите obj")   
    bot.register_next_step_handler(message, get_obj)

    
def get_obj(message):
    obj = message.text
    d[message.from_user.id] = obj
    bot.send_message(message.from_user.id, "Введите store")
    bot.register_next_step_handler(message, get_store)
    
    
def get_store(message):
    store = message.text
    obj = d[message.from_user.id]
    bot.send_message(message.from_user.id, f'{search(obj,store)}')
 
  • Мне нравится
Реакции: Vershitel_sudeb

Форум IT Специалистов