Решила задачу примерно так. До запуска функции скрипт определяет кол-во необходимых кнопок и передает данные в функцию для формирования кнопок. Если кнопок 0, то функция не запускается.
Если знаете решение короче, дайте знать. Спасибо!
if ts != 0:
if ts != 0 and tts != 0:
key = make_batton_imper(message, ts, tts, add_buttons="all")
elif ts != 0 and tts == 0:
key = make_batton_imper(message, ts, tts, add_buttons="pass")
answer = "бла-бла-бла с кнопками"
bot.send_message(message.chat.id, answer, reply_markup=key, parse_mode='Markdown')
else:
answer = "бла-бла-бла без кнопок"
bot.send_message_text(message.chat.id, answer, parse_mode='Markdown')
def make_batton_imper(message, ts, tts, add_buttons):
key = telebot.types.InlineKeyboardMarkup(row_width=2)
data_but = "id_"+str(ts)
but_i = telebot.types.InlineKeyboardButton(text=" + 1", callback_data=data_but)
data_but_p = "id_"+str(tts)
but_py = telebot.types.InlineKeyboardButton(text=" + 2", callback_data=data_but_p)
if add_buttons == "pass":
key.add(but_py)
elif add_buttons == "all":
key.row(but_i, but_py)
return key