TypeError: Object of type ReplyKeyboardMarkup is not JSON serializable

from telegram.ext import CallbackContext    
from telegram.ext import Updater
from telegram.ext import Filters
from telegram.ext import MessageHandler
from telegram import ReplyKeyboardMarkup
from telegram import KeyboardButton



button = 'Кнопка'

def messagehandler (update: Update,conext: CallbackContext):
    reply_markup = ReplyKeyboardMarkup(
        keyboard=[
               [
        KeyboardButton(text=button)
               ],   
        ],
        resize_keyboard = True,
        ),
    update.message.reply_text(
        text='Привет',
        reply_markup = reply_markup,
        )


def main ():
    print('start')
    updater = Updater(
       token = '1316145158:AAF2hFXftyoA0rPbv4b_I1rTFMca',
       use_context=True,)
    updater.dispatcher.add_handler(MessageHandler(filters=Filters.all, callback= messagehandler))
    updater.start_polling()
    updater.idle()

if __name__=='__main__':
    main()
      ```


Что делать?

Ответы (1 шт):

Автор решения: Eddir

Наткнулся на подобную ошибку. Вот решение.

Вместо ReplyKeyboardMarkup следует использовать types.ReplyKeyboardMarkup:

keyboard_markup = types.ReplyKeyboardMarkup(resize_keyboard = True,)
keyboard_markup.add(types.KeyboardButton(text=button))

update.message.reply_text(
    text='Привет',
    reply_markup=reply_markup,
)

https://github.com/aiogram/aiogram/blob/dev-2.x/examples/regular_keyboard_example.py

→ Ссылка