 |

10.08.2024, 00:24
|
|
Познающий
Регистрация: 23.10.2023
Сообщений: 78
С нами:
1347696
Репутация:
13
|
|
есть функция reply кнопок, всё работает, выводит нужный мне текст и всё окей
мне нужно чтобы после сообщения "Создать Заказ" вылазил текст "Выберите нужную вам услугу" с инлайн кнопками ниже
не понимаю что сделал не так
Python:
Код:
@bot.message_handler
(
message
=
"Создать Заказ"
)
def
zakaz
(
message
)
:
markup
=
types
.
InlineKeyboardMarkup
(
)
one
=
types
.
InlineKeyboardButton
(
"первая услуга"
,
callback_data
=
"one"
)
two
=
types
.
InlineKeyboardButton
(
"вторая услуга"
,
callback_data
=
"two"
)
three
=
types
.
InlineKeyboardButton
(
"третья услуга"
,
callback_data
=
"thee"
)
four
=
types
.
InlineKeyboardButton
(
"четвёртая услуга"
,
callback_data
=
"four"
)
five
=
types
.
InlineKeyboardButton
(
"пятая услуга"
,
callback_data
=
"five"
)
markup
.
row
(
one
,
two
,
three
,
four
,
five
)
bot
.
send_message
(
message
.
chat
.
id
,
"Выберите нужную вам услугу"
)
bot
.
infinity_polling
(
)
|
|
|

10.08.2024, 00:46
|
|
Постоянный
Регистрация: 28.12.2023
Сообщений: 509
С нами:
1253890
Репутация:
68
|
|
я конечно не знаю библиотеку telebot, но мне кажется в bot.send_message еще должен быть reply_markup=markup
|
|
|

10.08.2024, 10:45
|
|
Познающий
Регистрация: 25.12.2018
Сообщений: 38
С нами:
3886891
Репутация:
63
|
|
Ну как минимум у тебя все пять кнопок идут в ряд. Их прочитать тяжело будет.
Во вторых ты отправляешь пустое сообщение без кнопок. То есть, ты их инициализируешь, но не отправляешь вместе с сообщением.
Python:
Код:
@bot.message_handler
(
message
=
"Создать Заказ"
)
def
zakaz
(
message
)
:
markup
=
types
.
InlineKeyboardMarkup
(
)
one
=
types
.
InlineKeyboardButton
(
"первая услуга"
,
callback_data
=
"one"
)
two
=
types
.
InlineKeyboardButton
(
"вторая услуга"
,
callback_data
=
"two"
)
three
=
types
.
InlineKeyboardButton
(
"третья услуга"
,
callback_data
=
"three"
)
four
=
types
.
InlineKeyboardButton
(
"четвёртая услуга"
,
callback_data
=
"four"
)
five
=
types
.
InlineKeyboardButton
(
"пятая услуга"
,
callback_data
=
"five"
)
markup
.
row
(
one
,
two
)
markup
.
row
(
three
,
four
,
five
)
bot
.
send_message
(
message
.
chat
.
id
,
"Выберите нужную вам услугу"
,
reply_markup
=
markup
)
К тому же тебе нужно отправлять конкретно пользователю, а не в чат где было написано сообщение. Так как, если у тебя бот добавлен в любую группу, и там напишут "Создать Заказ", то твой бот отправит меню прямо в чат, а не в лс пользователю. Исправь с message.chat.id на message.from_user.id
|
|
|

10.08.2024, 12:14
|
|
Познающий
Регистрация: 23.10.2023
Сообщений: 78
С нами:
1347696
Репутация:
13
|
|
Сообщение от bootstrap
Ну как минимум у тебя все пять кнопок идут в ряд. Их прочитать тяжело будет.
Во вторых ты отправляешь пустое сообщение без кнопок. То есть, ты их инициализируешь, но не отправляешь вместе с сообщением.
Python:
Код:
@bot.message_handler
(
message
=
"Создать Заказ"
)
def
zakaz
(
message
)
:
markup
=
types
.
InlineKeyboardMarkup
(
)
one
=
types
.
InlineKeyboardButton
(
"первая услуга"
,
callback_data
=
"one"
)
two
=
types
.
InlineKeyboardButton
(
"вторая услуга"
,
callback_data
=
"two"
)
three
=
types
.
InlineKeyboardButton
(
"третья услуга"
,
callback_data
=
"three"
)
four
=
types
.
InlineKeyboardButton
(
"четвёртая услуга"
,
callback_data
=
"four"
)
five
=
types
.
InlineKeyboardButton
(
"пятая услуга"
,
callback_data
=
"five"
)
markup
.
row
(
one
,
two
)
markup
.
row
(
three
,
four
,
five
)
bot
.
send_message
(
message
.
chat
.
id
,
"Выберите нужную вам услугу"
,
reply_markup
=
markup
)
К тому же тебе нужно отправлять конкретно пользователю, а не в чат где было написано сообщение. Так как, если у тебя бот добавлен в любую группу, и там напишут "Создать Заказ", то твой бот отправит меню прямо в чат, а не в лс пользователю. Исправь с message.chat.id на message.from_user.id
так же не работает, нет отклика, после нажатия на кнопку вызова сообщения с менюшкой, ничего не происходит
1723277762387.pngKfgeer · 10 Авг 2024 в 11:14' data-fancybox="lb-post-1527955" data-lb-caption-extra-html="" data-lb-sidebar-href="" data-single-image="1" data-src="https://www.blast.hk/attachments/248837/" style="cursor: pointer;" title="1723277762387.png">
Проблема решена!
Стоило заменить
Код:
Код:
@bot.message_handler(message="Создать Заказ")
на
Код:
Код:
@bot.message_handler(func=lambda message: message.text == "Создать Заказ")
воспользовавшись правкой человека выше, а так же переместить функцию инлайн выше функции распознавания сообщения с кнопок
всё заработало
|
|
|
|
 |
|
Здесь присутствуют: 1 (пользователей: 0 , гостей: 1)
|
|
|
|