Ошибка возникает потому, что параметр reply_markup принимает специальный формат для отправки клавиатуры в чат. Вам нужно создать объект InlineKeyboardMarkup и передать его в качестве значения параметра reply_markup.
Вот пример кода на языке Python, который демонстрирует, как отправить текст и клавиатуру кнопок в чат с использованием библиотеки python-telegram-bot:
```python
from telegram import InlineKeyboardButton, InlineKeyboardMarkup
from telegram.ext import Updater, CommandHandler, CallbackQueryHandler
def start(update, context):
keyboard = [[InlineKeyboardButton("Button 1", callback_data='1'),
InlineKeyboardButton("Button 2", callback_data='2')]]
reply_markup = InlineKeyboardMarkup(keyboard)
context.bot.send_message(chat_id=update.effective_chat.id, text="Text", reply_markup=reply_markup)
def button(update, context):
query = update.callback_query
query.answer()
query.edit_message_text(text="Button {} pressed".format(query.data))
updater = Updater(token='your_token', use_context=True)
updater.dispatcher.add_handler(CommandHandler('start', start))
updater.dispatcher.add_handler(CallbackQueryHandler(button))
updater.start_polling()
```
В этом примере функция start отправляет текст "Text" и клавиатуру с двумя кнопками. Функция button вызывается, когда пользователь нажимает на одну из кнопок, и обновляет сообщение с текстом "Button 1 pressed" или "Button 2 pressed" в зависимости от нажатой кнопки.
Обратите внимание, что пример использует библиотеку python-telegram-bot. Если вы используете другую библиотеку, то синтаксис может немного отличаться.