HOME FORUMS MEMBERS RECENT POSTS LOG IN  
× Авторизация
Имя пользователя:
Пароль:
Нет аккаунта? Регистрация
Баннер 1   Баннер 2
НОВЫЕ ТОРГОВАЯ НОВОСТИ ЧАТ
loading...
Скрыть
Вернуться   ANTICHAT > ПРОГРАММИРОВАНИЕ > Общие вопросы программирования
   
Ответ
 
Опции темы Поиск в этой теме Опции просмотра

  #1  
Старый 02.02.2025, 20:03
Fasz fiatal
Постоянный
Регистрация: 19.06.2019
Сообщений: 330
С нами: 3633525

Репутация: 83
По умолчанию

ругается на кнопки с такой ошибкой

Цитата:
Сообщение от Спойлер  

Task exception was never retrieved

future: exception=BadRequest("Can't parse reply keyboard markup json object")>
Python:





Код:
rsp
=
ReplyKeyboardMarkup
(
resize_keyboard
=
True
)
rsp
.
add
(
"Камень"
)
.
add
(
"Ножницы"
)
.
add
(
"Бумага"
)
@disp.message_handler
(
text
=
"Y"
)
async
def
accept
(
m
:
Message
)
:
text
=
m
.
text
    chat_id
=
m
.
chat
.
id
if
text
==
"Y"
await
m
.
answer
(
"Выбор за тобой"
,
reply_markup
=
rsp
)
 
Ответить с цитированием

  #2  
Старый 09.02.2025, 13:29
FixZer
Участник форума
Регистрация: 15.07.2021
Сообщений: 142
С нами: 2543284

Репутация: 33
По умолчанию

Добрый день. Попробуйте вот так:

Python:





Код:
from
aiogram
import
Bot
,
Dispatcher
,
types
from
aiogram
.
types
import
ReplyKeyboardMarkup
,
KeyboardButton

rsp
=
ReplyKeyboardMarkup
(
resize_keyboard
=
True
)
rsp
.
add
(
KeyboardButton
(
"Камень"
)
)
rsp
.
add
(
KeyboardButton
(
"Ножницы"
)
)
rsp
.
add
(
KeyboardButton
(
"Бумага"
)
)
@disp.message_handler
(
text
=
"Y"
)
async
def
accept
(
m
:
types
.
Message
)
:
text
=
m
.
text
    chat_id
=
m
.
chat
.
id
if
text
==
"Y"
:
await
m
.
answer
(
"Выбор за тобой"
,
reply_markup
=
rsp
)
 
Ответить с цитированием

  #3  
Старый 09.02.2025, 20:28
Fasz fiatal
Постоянный
Регистрация: 19.06.2019
Сообщений: 330
С нами: 3633525

Репутация: 83
По умолчанию

Цитата:
Сообщение от FixZer  

Добрый день. Попробуйте вот так:

Python:





Код:
from
aiogram
import
Bot
,
Dispatcher
,
types
from
aiogram
.
types
import
ReplyKeyboardMarkup
,
KeyboardButton

rsp
=
ReplyKeyboardMarkup
(
resize_keyboard
=
True
)
rsp
.
add
(
KeyboardButton
(
"Камень"
)
)
rsp
.
add
(
KeyboardButton
(
"Ножницы"
)
)
rsp
.
add
(
KeyboardButton
(
"Бумага"
)
)
@disp.message_handler
(
text
=
"Y"
)
async
def
accept
(
m
:
types
.
Message
)
:
text
=
m
.
text
    chat_id
=
m
.
chat
.
id
if
text
==
"Y"
:
await
m
.
answer
(
"Выбор за тобой"
,
reply_markup
=
rsp
)

А, еще забыл уточнение: это вторая клавиатура. Стало выводить первую клавиатуру
 
Ответить с цитированием

  #4  
Старый 10.02.2025, 20:27
FixZer
Участник форума
Регистрация: 15.07.2021
Сообщений: 142
С нами: 2543284

Репутация: 33
По умолчанию

Цитата:
Сообщение от Fasz fiatal  

А, еще забыл уточнение: это вторая клавиатура. Стало выводить первую клавиатуру
Чуть-чуть не понял вас, можете пожалуйста прислать скриншот ?
 
Ответить с цитированием

  #5  
Старый 12.02.2025, 10:45
Fasz fiatal
Постоянный
Регистрация: 19.06.2019
Сообщений: 330
С нами: 3633525

Репутация: 83
По умолчанию

Цитата:
Сообщение от FixZer  

Чуть-чуть не понял вас, можете пожалуйста прислать скриншот ?
есть у меня 2 варианта кнопок






, но при вызове второго выводит первый и выдает ошибку
 
Ответить с цитированием

  #6  
Старый 12.02.2025, 13:05
FixZer
Участник форума
Регистрация: 15.07.2021
Сообщений: 142
С нами: 2543284

Репутация: 33
По умолчанию

Так используй только что-то одно

Используй вот это:

Python:





Код:
button
=
ReplyKeyboardMarkup
(
resize_keyboard
=
True
)
button
.
add
(
KeyboardButton
(
"Камень"
)
)
.
add
(
KeyboardButton
(
"Ножницы"
)
)
.
add
(
KeyboardButton
(
"Ребро"
)
)


Или вот это:

Python:





Код:
rsp
=
ReplyKeyboardMarkup
(
resize_keyboard
=
True
)
rsp
.
add
(
KeyboardButton
(
"Камень"
)
)
rsp
.
add
(
KeyboardButton
(
"Ножницы"
)
)
rsp
.
add
(
KeyboardButton
(
"Бумага"
)
)
 
Ответить с цитированием

  #7  
Старый 13.02.2025, 14:55
Fasz fiatal
Постоянный
Регистрация: 19.06.2019
Сообщений: 330
С нами: 3633525

Репутация: 83
По умолчанию

Цитата:
Сообщение от FixZer  

Так используй только что-то одно

Используй вот это:

Python:





Код:
button
=
ReplyKeyboardMarkup
(
resize_keyboard
=
True
)
button
.
add
(
KeyboardButton
(
"Камень"
)
)
.
add
(
KeyboardButton
(
"Ножницы"
)
)
.
add
(
KeyboardButton
(
"Ребро"
)
)


Или вот это:

Python:





Код:
rsp
=
ReplyKeyboardMarkup
(
resize_keyboard
=
True
)
rsp
.
add
(
KeyboardButton
(
"Камень"
)
)
rsp
.
add
(
KeyboardButton
(
"Ножницы"
)
)
rsp
.
add
(
KeyboardButton
(
"Бумага"
)
)

не помогло
 
Ответить с цитированием

  #8  
Старый 13.02.2025, 21:28
FixZer
Участник форума
Регистрация: 15.07.2021
Сообщений: 142
С нами: 2543284

Репутация: 33
По умолчанию

Добрый вечер, совсем забыл что в новой версии библиотеки убрали функцию add, теперь нужно именно в ReplyKeyboardMarkup передавать список кнопок.

Вот пример:

Python:





Код:
keyboard
=
[
[
KeyboardButton
(
text
=
"Камень"
)
,
KeyboardButton
(
text
=
"Ножницы"
)
]
,
[
KeyboardButton
(
text
=
"Бумага"
)
]
]
rsp
=
ReplyKeyboardMarkup
(
keyboard
=
keyboard
,
resize_keyboard
=
True
)
 
Ответить с цитированием
Ответ





Здесь присутствуют: 1 (пользователей: 0 , гостей: 1)
 


Быстрый переход




ANTICHAT ™ © 2001- Antichat Kft.