Сперва создаю функцию, с помощью которой формирую list, после чего делаю return этого списка. Далее обрабатываю его, составляю сообщение бота, добавляю клавиатуру. Теперь мне нужно чтобы по нажатию на кнопку юзеру приходил тот самый список, сформированный ещё в первой функции.
def list_creation(message): #тут у меня message, т.к. список формируется в зависимости от сообщения пользователя.
My_List= str('\n'.join(My_List))
return My_List
def list_message(message, My_List):
if My_List: #проверка на пустоту списка
bot.send_message(message.chat.id, My_List)
else:
bot.send_message(message.chat.id, 'Список пуст!')
def button(message):
markup = types.InlineKeyboardMarkup()
button = types.InlineKeyboardButton(text="Get_List", callback_data="list")
markup.add(button)
bot.send_message(chat_id=message.chat.id, text="Какой cписок Вас интересует?", reply_markup=markup)
@bot.callback_query_handler(func=lambda call: True)
def callback_inline(call, My_List):
if call.data == "list":
list_message(call.message, My_List) # Вот тут у меня и началась проблема.
Ошибка следующая:
TypeError: callback_inline() missing 1 required positional argument: 'My_List'
Подскажите, пожалуйста, как решить мою проблему? Есть ли альтернативные варианты?