Проблема при запуске бота
Ребят, всем привет. Помогите разобрать что тут не так?
@bot.message_handler(commands=['owner'])
def owner(message):
markup = types.InlineKeyboardMarkup()
item1 = types.InlineKeyboardButton(text="? Открыть в личных сообщениях")
item2 = types.InlineKeyboardButton(text="? Открыть в данном чате")
markup.add(item1, item2)
bot.send_message(message.chat.id,'Выберите место для открытия содержимого команды:',reply_markup=markup)
@bot.message_handler(content_types='text')
def message_reply(message):
if message.text == "? Открыть в личных сообщениях":
keyboard = types.InlineKeyboardMarkup()
key_ypravlenie_admins = types.InlineKeyboardButton(text='?? | Управление администраторами', callback_data='ypravlenie_admins')
keyboard.add(key_ypravlenie_admins)
key_privetstvie = types.InlineKeyboardButton(text='? | Настроить приветствие', callback_data='privetstvie')
key_antispam = types.InlineKeyboardButton(text='✍️| Настроить антиспам', callback_data='anispam')
keyboard.add(key_privetstvie, key_antispam)
key_pravila = types.InlineKeyboardButton(text='? | Настроить правила канала', callback_data='pravila')
keyboard.add(key_pravila)
key_antiflood = types.InlineKeyboardButton(text='? | Настроить антифлуд', callback_data='antiflood')
key_media = types.InlineKeyboardButton(text='? | Настроить медиа', callback_data='media')
keyboard.add(key_antiflood, key_media)
key_warn = types.InlineKeyboardButton(text='? | Настроить предупреждения', callback_data='warn')
keyboard.add(key_warn)
key_mat = types.InlineKeyboardButton(text='? | Фильтрация мата', callback_data='mat')
key_neactiv = types.InlineKeyboardButton(text='? | Настроить неактив', callback_data='neactiv')
keyboard.add(key_mat, key_neactiv)
key_interval = types.InlineKeyboardButton(text='? | Интервал для команд', callback_data='interval')
key_captcha = types.InlineKeyboardButton(text='? | Капча', callback_data='captcha')
keyboard.add(key_captcha, key_interval)
key_block = types.InlineKeyboardButton(text='? | Настроить блокировку [PREMIUM]', callback_data='block')
keyboard.add(key_block)
key_ypravlenie = types.InlineKeyboardButton(text='? | Настройка прав для команд [PREMIUM]', callback_data='ypravlenie')
keyboard.add(key_ypravlenie)
info_text_for_owner = f'<b>⚙ Добро пожаловать в панель управления ботом!</b>\n\n? - постарайтесь настроить бота грамотно.\n? - вам доступны все настройки, потому что Вы либо <u><b>владелец канала</b></u>, либо владелец назначил вас на должность <u><b>помощник владельца</b></u>\n\n<b>Приобрести PREMIUM: </b>httml://sss.ru'
bot.send_message(message.from_user.id, info_text_for_owner, reply_markup=keyboard, parse_mode='html')
elif message.text == "???? Открыть в данном чате":
keyboard = types.InlineKeyboardMarkup()
key_ypravlenie_admins = types.InlineKeyboardButton(text='?? | Управление администраторами', callback_data='ypravlenie_admins')
keyboard.add(key_ypravlenie_admins)
key_privetstvie = types.InlineKeyboardButton(text='? | Настроить приветствие', callback_data='privetstvie')
key_antispam = types.InlineKeyboardButton(text='✍️| Настроить антиспам', callback_data='anispam')
keyboard.add(key_privetstvie, key_antispam)
key_pravila = types.InlineKeyboardButton(text='? | Настроить правила канала', callback_data='pravila')
keyboard.add(key_pravila)
key_antiflood = types.InlineKeyboardButton(text='? | Настроить антифлуд', callback_data='antiflood')
key_media = types.InlineKeyboardButton(text='? | Настроить медиа', callback_data='media')
keyboard.add(key_antiflood, key_media)
key_warn = types.InlineKeyboardButton(text='? | Настроить предупреждения', callback_data='warn')
keyboard.add(key_warn)
key_mat = types.InlineKeyboardButton(text='? | Фильтрация мата', callback_data='mat')
key_neactiv = types.InlineKeyboardButton(text='? | Настроить неактив', callback_data='neactiv')
keyboard.add(key_mat, key_neactiv)
key_interval = types.InlineKeyboardButton(text='? | Интервал для команд', callback_data='interval')
key_captcha = types.InlineKeyboardButton(text='? | Капча', callback_data='captcha')
keyboard.add(key_captcha, key_interval)
key_block = types.InlineKeyboardButton(text='? | Настроить блокировку [PREMIUM]', callback_data='block')
keyboard.add(key_block)
key_ypravlenie = types.InlineKeyboardButton(text='? | Настройка прав для команд [PREMIUM]', callback_data='ypravlenie')
keyboard.add(key_ypravlenie)
info_text_for_owner = f'<b>⚙ Добро пожаловать в панель управления ботом!</b>\n\n? - постарайтесь настроить бота грамотно.\n? - вам доступны все настройки, потому что Вы либо <u><b>владелец канала</b></u>, либо владелец назначил вас на должность <u><b>помощник владельца</b></u>\n\n<b>Приобрести PREMIUM: </b>httml://sss.ru'
bot.send_message(message.chat.id, info_text_for_owner, reply_markup=keyboard, parse_mode='html')
Выдает ошибку: Error code: 400. Description: Bad Request: can't parse inline keybo ard button: Text buttons are unallowed in the inline keyboard
Ответы (1 шт):
Автор решения: oleksandrigo
→ Ссылка
Вы не добавили callback_data в инлайн кнопки, а без этого никак.
@bot.message_handler(commands=['owner'])
def owner(message: types.Message):
markup = types.InlineKeyboardMarkup()
markup.add(types.InlineKeyboardButton(text="? Открыть в личных сообщениях", callback_data="open_lc"),
types.InlineKeyboardButton(text="? Открыть в данном чате", callback_data="open_chat"))
bot.send_message(message.chat.id, 'Выберите место для открытия содержимого команды:', reply_markup=markup)
@bot.callback_query_handler(func=lambda call: call.data in ['open_lc', 'open_chat'])
def message_reply(call: types.CallbackQuery):
if call.data == 'open_lc':
keyboard = types.InlineKeyboardMarkup()
key_ypravlenie_admins = types.InlineKeyboardButton(text='?? | Управление администраторами',
callback_data='ypravlenie_admins')
keyboard.add(key_ypravlenie_admins)
key_privetstvie = types.InlineKeyboardButton(text='? | Настроить приветствие', callback_data='privetstvie')
key_antispam = types.InlineKeyboardButton(text='✍️| Настроить антиспам', callback_data='anispam')
keyboard.add(key_privetstvie, key_antispam)
key_pravila = types.InlineKeyboardButton(text='? | Настроить правила канала', callback_data='pravila')
keyboard.add(key_pravila)
key_antiflood = types.InlineKeyboardButton(text='? | Настроить антифлуд', callback_data='antiflood')
key_media = types.InlineKeyboardButton(text='? | Настроить медиа', callback_data='media')
keyboard.add(key_antiflood, key_media)
key_warn = types.InlineKeyboardButton(text='? | Настроить предупреждения', callback_data='warn')
keyboard.add(key_warn)
key_mat = types.InlineKeyboardButton(text='? | Фильтрация мата', callback_data='mat')
key_neactiv = types.InlineKeyboardButton(text='? | Настроить неактив', callback_data='neactiv')
keyboard.add(key_mat, key_neactiv)
key_interval = types.InlineKeyboardButton(text='? | Интервал для команд', callback_data='interval')
key_captcha = types.InlineKeyboardButton(text='? | Капча', callback_data='captcha')
keyboard.add(key_captcha, key_interval)
key_block = types.InlineKeyboardButton(text='? | Настроить блокировку [PREMIUM]', callback_data='block')
keyboard.add(key_block)
key_ypravlenie = types.InlineKeyboardButton(text='? | Настройка прав для команд [PREMIUM]',
callback_data='ypravlenie')
keyboard.add(key_ypravlenie)
info_text_for_owner = f'<b>⚙ Добро пожаловать в панель управления ботом!</b>\n\n? - постарайтесь настроить бота грамотно.\n? - вам доступны все настройки, потому что Вы либо <u><b>владелец канала</b></u>, либо владелец назначил вас на должность <u><b>помощник владельца</b></u>\n\n<b>Приобрести PREMIUM: </b>httml://sss.ru'
bot.send_message(call.message.from_user.id, info_text_for_owner, reply_markup=keyboard, parse_mode='html')
else:
keyboard = types.InlineKeyboardMarkup()
key_ypravlenie_admins = types.InlineKeyboardButton(text='?? | Управление администраторами',
callback_data='ypravlenie_admins')
keyboard.add(key_ypravlenie_admins)
key_privetstvie = types.InlineKeyboardButton(text='? | Настроить приветствие', callback_data='privetstvie')
key_antispam = types.InlineKeyboardButton(text='✍️| Настроить антиспам', callback_data='anispam')
keyboard.add(key_privetstvie, key_antispam)
key_pravila = types.InlineKeyboardButton(text='? | Настроить правила канала', callback_data='pravila')
keyboard.add(key_pravila)
key_antiflood = types.InlineKeyboardButton(text='? | Настроить антифлуд', callback_data='antiflood')
key_media = types.InlineKeyboardButton(text='? | Настроить медиа', callback_data='media')
keyboard.add(key_antiflood, key_media)
key_warn = types.InlineKeyboardButton(text='? | Настроить предупреждения', callback_data='warn')
keyboard.add(key_warn)
key_mat = types.InlineKeyboardButton(text='? | Фильтрация мата', callback_data='mat')
key_neactiv = types.InlineKeyboardButton(text='? | Настроить неактив', callback_data='neactiv')
keyboard.add(key_mat, key_neactiv)
key_interval = types.InlineKeyboardButton(text='? | Интервал для команд', callback_data='interval')
key_captcha = types.InlineKeyboardButton(text='? | Капча', callback_data='captcha')
keyboard.add(key_captcha, key_interval)
key_block = types.InlineKeyboardButton(text='? | Настроить блокировку [PREMIUM]', callback_data='block')
keyboard.add(key_block)
key_ypravlenie = types.InlineKeyboardButton(text='? | Настройка прав для команд [PREMIUM]',
callback_data='ypravlenie')
keyboard.add(key_ypravlenie)
info_text_for_owner = f'<b>⚙ Добро пожаловать в панель управления ботом!</b>\n\n? - постарайтесь настроить бота грамотно.\n? - вам доступны все настройки, потому что Вы либо <u><b>владелец канала</b></u>, либо владелец назначил вас на должность <u><b>помощник владельца</b></u>\n\n<b>Приобрести PREMIUM: </b>httml://sss.ru'
bot.send_message(call.message.chat.id, info_text_for_owner, reply_markup=keyboard, parse_mode='html')