Клавиатуры
Вы можете отправить клавиатуру в сообщении, используя лишь корректно составленный словарь и json.dumps
import json
import vkquick as vq
@vq.Cmd(names=["kb"])
@vq.Reaction("message_new")
def kb():
keyboard_scheme = {
"one_time": True,
"inline": False,
"buttons": [
[
{
"action": {
"type": "text",
"label": "Left button"
},
"color": "positive"
},
{
"action": {
"type": "text",
"label": "Right button"
},
"color": "negative"
}
],
[
{
"action": {
"type": "text",
"label": "Buttom button"
},
"color": "primary"
}
]
]
}
return vq.Message(
"Simple keyboard",
keyboard=json.dumps(keyboard_scheme, ensure_ascii=False)
)
Либо используя автодамп
import vkquick as vq
@vq.Cmd(names=["kb"])
@vq.Reaction("message_new")
def kb():
keyboard_scheme = {
"one_time": True,
"inline": False,
"buttons": [
[
{
"action": {
"type": "text",
"label": "Left button"
},
"color": "positive"
},
{
"action": {
"type": "text",
"label": "Right button"
},
"color": "negative"
}
],
[
{
"action": {
"type": "text",
"label": "Buttom button"
},
"color": "primary"
}
]
]
}
return vq.Message(
"Simple keyboard",
keyboard=vq.Keyboard.by(keyboard_scheme)
)
Либо используя один из методов конструктора (рекомендуемо из-за своей краткойсти и читабельности)
import vkquick as vq
@vq.Cmd(names=["kb"])
@vq.Reaction("message_new")
def kb():
keyboard = vq.Keyboard(one_time=True).generate(
vq.Button.text("Left button").positive(),
vq.Button.text("Right button").negative(),
vq.Button.line()
vq.Button.text("Buttom button").primary(),
)
return vq.Message(
"Simple keyboard",
keyboard=keyboard
)
import vkquick as vq
@vq.Cmd(names=["kb"])
@vq.Reaction("message_new")
def kb():
keyboard = vq.Keyboard(one_time=True)
keyboard.add(vq.Button.text("A Button!").positive())
keyboard.add(vq.Button.text("Right button").negative())
keyboard.add(vq.Button.line())
keyboard.add(vq.Button.text("Buttom button").primary())
return vq.Message(
"Simple keyboard",
keyboard=keyboard
)
Keyboard
¶
Создает кливиатуру 3мя способами:
-
По словарю, соответствующему JSON схеме клавиатуры через метод
by
, принимающий этот словарь -
С помощью метода
generate
, принимающий в себя *список кнопок иvq.Button.line()
'ов -
Поэтапно каждую кнопку и линию через метод
add
, принимающий 1 кнопку/новую линию
После чего вы можете передать объект в поле keyboard
в классе Message
Основная информация о словаре клавиатуры хранится в поле info
Note
Dumps объекта происходит в __repr__, поэтому вы также можете просто передать объект и в ручном вызове messages.send
Пустая клавиатура¶
Вы можете создать пустую клавиатуру методом .empty()
и использовать ее, чтобы убрать one_time=False
клавиатуру