TypeError: TeleBot.send_message() got an unexpected keyword argument 'reply_markup'

Рейтинг: 0Ответов: 1Опубликовано: 01.04.2023

писал телеграмм бота и хочу создать кнопки, но мне выдает ошибку о том что reply_markup не существует, вот исходник:

import random, os
from telebot import types
from telebot_router import TeleBot
from telegram import KeyboardButton
from telegram import ReplyKeyboardMarkup

app = TeleBot(__name__)



@app.route('/start ?(.*)')
def example_command(message, cmd):
    chat_dest = message['chat']['id']
    msg = "Введите секретный код{}".format(cmd)
    app.send_message(chat_dest, msg)


@app.route('(?!/).+')
def parrot(message):
    chat_dest = message['chat']['id']
    user_msg = message['text']
    if user_msg=="335":
        sustem(message)
    else:
        msg = "{}".format("Вы ввели неверный код")
        app.send_message(chat_dest, msg)

def sustem(message):
    chat_dest = message['chat']['id']
    user_msg = message['text']
    msg = "{}".format("Вход в систему успешен")
    app.send_message(chat_dest, msg)
    msg = "{}".format("Что бы вы хотели сделать?")
    app.send_message(chat_dest, msg)

    keyboard = types.ReplyKeyboardMarkup(row_width=2)
    button1 = types.KeyboardButton('Button 1')
    button2 = types.KeyboardButton('Button 2')
    keyboard.add(button1, button2)
    app.send_message(chat_dest, reply_markup=keyboard)

if __name__ == '__main__':
    app.config['api_key'] = 'TOKEN'
    app.poll(debug=True)

Причём библиотеки все новые, никак я их не изменял. Помогите. upd: Я понял что у меня работает только 1 импорт в коде, а остальные просто не работают, вот поэтому у меня и не видит аргумент reply_markup. Как это исправить?

Ответы

▲ 0

замените импорт from telebot import types на from telegram import KeyboardButton, ReplyKeyboardMarkup и замените создание клавиатуры

keyboard = ReplyKeyboardMarkup([[KeyboardButton('Button 1'), KeyboardButton('Button 2')]], resize_keyboard=True)
app.send_message(chat_dest, text="Что бы вы хотели сделать?", reply_markup=keyboard)