значение переменной не выводиться в сообщение в telebot
Написал такой фрагмент кода:
@bot.callback_query_handler(func=lambda call: True)
def callback_inline(call):
if call.message:
if call.data == 'yes':
for generatekey in range (15):
payid = random.choice(chars)
print (payid)
bot.send_message(call.message.chat.id,'Вот твоя ссылка на оплату: [ссылка позже].\nОбязательно в комментариях к оплате укажи этот код: ', payid)
elif call.data == 'no':
bot.send_message(call.message.chat.id,'Хорошо, заказ отменен')
когда я вывожу переменную payid через print, то все хорошо работает, но сам бот в телеграме отказывается выводить переменную payid. При этом python не ругается

Ответы (2 шт):
Автор решения: Muxe1
→ Ссылка
Изучи f-строки https://python-scripts.com/f-strings
@bot.callback_query_handler(func=lambda call: True)
def callback_inline(call):
if call.message:
if call.data == 'yes':
for generatekey in range (15):
payid = random.choice(chars)
print (payid)
bot.send_message(call.message.chat.id, f'Вот твоя ссылка на оплату: [ссылка позже].\nОбязательно в комментариях к оплате укажи этот код: {payid}')
elif call.data == 'no':
bot.send_message(call.message.chat.id,'Хорошо, заказ отменен')
Автор решения: Magmuss1
→ Ссылка
fixed. В ответе бота написал так:
bot.send_message(call.message.chat.id,'Вот твоя ссылка на оплату: [ссылка позже].\nОбязательно в комментариях к оплате укажи этот код: %s' % payid)