Показать сообщение отдельно

  #2  
Старый 23.07.2023, 08:44
Mamashin
Познавший АНТИЧАТ
Регистрация: 17.11.2021
Сообщений: 1,134
С нами: 2363906

Репутация: 8


По умолчанию

Могу предложить свою версию на
Код:
vkbottle
Писал за 5 минут, поэтому говнокод,
Код:
payload
предоставляет задать некую команду, так называемый target для кнопки клавиатуры VK.

Бот отвечает только на нажатия клавиатуры, если скопировать и вставить текст - бот нечего не ответит.

keyboard.py:





Код:
from
vkbottle
.
bot
import
Bot
,
Message
from
vkbottle
import
Keyboard
,
KeyboardButtonColor
,
Text

token
=
"str"
bot_token
=
token
bot_group_id
=
0
# int
bh
=
Bot
(
bot_token
,
bot_group_id
)
bh
.
labeler
.
vbml_ignore_case
=
True
btn_hello
=
"Приветик!"
btn_bh
=
"BlastHack"
btn_primary
=
"Синий"
btn_red
=
"Красненький"
@bh.on.private_message
(
text
=
[
'/gk'
,
'Привет'
]
)
async
def
get_keyboard
(
bh
:
Message
)
:
await
bh
.
answer
(
message
=
"Клавиатура:"
,
keyboard
=
(
Keyboard
(
one_time
=
False
,
inline
=
False
)
.
add
(
Text
(
btn_hello
,
payload
=
{
'cmd'
:
'hello'
}
)
,
color
=
KeyboardButtonColor
.
POSITIVE
)
.
add
(
Text
(
btn_bh
,
payload
=
{
'cmd'
:
'bh'
}
)
,
color
=
KeyboardButtonColor
.
POSITIVE
)
.
row
(
)
.
add
(
Text
(
btn_primary
,
payload
=
{
'cmd'
:
'btn_p'
}
)
,
color
=
KeyboardButtonColor
.
PRIMARY
)
.
add
(
Text
(
btn_red
,
payload
=
{
'cmd'
:
'btn_r'
}
)
,
color
=
KeyboardButtonColor
.
NEGATIVE
)
)
.
get_json
(
)
)
@bh.on.private_message
(
payload
=
{
'cmd'
:
'hello'
}
)
async
def
hello
(
bh
:
Message
)
:
await
bh
.
answer
(
btn_hello
)
@bh.on.private_message
(
payload
=
{
'cmd'
:
'bh'
}
)
async
def
cmd_bh
(
bh
:
Message
)
:
await
bh
.
answer
(
btn_bh
)
@bh.on.private_message
(
payload
=
{
'cmd'
:
'btn_p'
}
)
async
def
cmd_primary
(
bh
:
Message
)
:
await
bh
.
answer
(
btn_primary
)
@bh.on.private_message
(
payload
=
{
'cmd'
:
'btn_r'
}
)
async
def
cmd_negative
(
bh
:
Message
)
:
await
bh
.
answer
(
btn_red
)
bh
.
run_forever
(
)
 
Ответить с цитированием