blob: f70b2fca2344e82e7606375d1c9321fea2266bee (
plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
|
#ifndef TGBOT_REPLYKEYBOARDMARKUP_H
#define TGBOT_REPLYKEYBOARDMARKUP_H
#include "tgbot/types/GenericReply.h"
#include "tgbot/types/KeyboardButton.h"
#include <memory>
#include <string>
#include <vector>
namespace TgBot {
/**
* @brief This object represents a [custom keyboard](https://core.telegram.org/bots/features#keyboards) with reply options (see [Introduction to bots](https://core.telegram.org/bots/features#keyboards) for details and examples).
*
* @ingroup types
*/
class ReplyKeyboardMarkup : public GenericReply {
public:
typedef std::shared_ptr<ReplyKeyboardMarkup> Ptr;
/**
* @brief Array of button rows, each represented by an Array of KeyboardButton objects
*/
std::vector<std::vector<KeyboardButton::Ptr>> keyboard;
/**
* @brief Optional. Requests clients to always show the keyboard when the regular keyboard is hidden.
*
* Defaults to false, in which case the custom keyboard can be hidden and opened with a keyboard icon.
*/
bool isPersistent;
/**
* @brief Optional. Requests clients to resize the keyboard vertically for optimal fit (e.g., make the keyboard smaller if there are just two rows of buttons).
*
* Defaults to false, in which case the custom keyboard is always of the same height as the app's standard keyboard.
*/
bool resizeKeyboard;
/**
* @brief Optional. Requests clients to hide the keyboard as soon as it's been used.
*
* The keyboard will still be available, but clients will automatically display the usual letter-keyboard in the chat - the user can press a special button in the input field to see the custom keyboard again.
* Defaults to false.
*/
bool oneTimeKeyboard;
/**
* @brief Optional. The placeholder to be shown in the input field when the keyboard is active; 1-64 characters
*/
std::string inputFieldPlaceholder;
/**
* @brief Optional. Use this parameter if you want to show the keyboard to specific users only.
*
* Targets: 1) users that are @mentioned in the text of the Message object; 2) if the bot's message is a reply to a message in the same chat and forum topic, sender of the original message.
* Example: A user requests to change the bot's language, bot replies to the request with a keyboard to select the new language.
* Other users in the group don't see the keyboard.
*/
bool selective;
};
}
#endif //TGBOT_REPLYKEYBOARDMARKUP_H
|