inlineKeyboardButton   A
last analyzed

Complexity

Total Complexity 2

Size/Duplication

Total Lines 77
Duplicated Lines 0 %

Importance

Changes 0
Metric Value
eloc 18
c 0
b 0
f 0
dl 0
loc 77
rs 10
wmc 2

1 Method

Rating   Name   Duplication   Size   Complexity  
A __construct() 0 3 2
1
<?php
2
3
namespace BPT\types;
4
5
use stdClass;
6
7
/**
8
 * This object represents one button of an inline keyboard. Exactly one of the optional fields must be used to
9
 * specify type of the button.
10
 * @method self setText(string $value)
11
 * @method self setUrl(string $value)
12
 * @method self setCallback_data(string $value)
13
 * @method self setWeb_app(webAppInfo $value)
14
 * @method self setLogin_url(loginUrl $value)
15
 * @method self setSwitch_inline_query(string $value)
16
 * @method self setSwitch_inline_query_current_chat(string $value)
17
 * @method self setSwitch_inline_query_chosen_chat(switchInlineQueryChosenChat $value)
18
 * @method self setCallback_game(callbackGame $value)
19
 * @method self setPay(bool $value)
20
 */
21
class inlineKeyboardButton extends types {
0 ignored issues
show
Bug introduced by
The type BPT\types\types was not found. Maybe you did not declare it correctly or list all dependencies?

The issue could also be caused by a filter entry in the build configuration. If the path has been excluded in your configuration, e.g. excluded_paths: ["lib/*"], you can move it to the dependency path list as follows:

filter:
    dependency_paths: ["lib/*"]

For further information see https://scrutinizer-ci.com/docs/tools/php/php-scrutinizer/#list-dependency-paths

Loading history...
22
    /** Keep all properties which has sub properties */
23
    private const subs = [
24
        'web_app' => 'BPT\types\webAppInfo',
25
        'login_url' => 'BPT\types\loginUrl',
26
        'switch_inline_query_chosen_chat' => 'BPT\types\switchInlineQueryChosenChat',
27
        'callback_game' => 'BPT\types\callbackGame',
28
    ];
29
30
    /** Label text on the button */
31
    public string $text;
32
33
    /**
34
     * Optional. HTTP or tg:// URL to be opened when the button is pressed. Links tg://user?id=<user_id> can be used
35
     * to mention a user by their identifier without using a username, if this is allowed by their privacy settings.
36
     */
37
    public string $url;
38
39
    /**
40
     * Optional. Data to be sent in a callback query to the bot when button is pressed, 1-64 bytes. Not supported for
41
     * messages sent on behalf of a Telegram Business account.
42
     */
43
    public string $callback_data;
44
45
    /**
46
     * Optional. Description of the Web App that will be launched when the user presses the button. The Web App will
47
     * be able to send an arbitrary message on behalf of the user using the method answerWebAppQuery. Available only
48
     * in private chats between a user and the bot. Not supported for messages sent on behalf of a Telegram Business
49
     * account.
50
     */
51
    public webAppInfo $web_app;
52
53
    /**
54
     * Optional. An HTTPS URL used to automatically authorize the user. Can be used as a replacement for the Telegram
55
     * Login Widget.
56
     */
57
    public loginUrl $login_url;
58
59
    /**
60
     * Optional. If set, pressing the button will prompt the user to select one of their chats, open that chat and
61
     * insert the bot's username and the specified inline query in the input field. May be empty, in which case just
62
     * the bot's username will be inserted. Not supported for messages sent on behalf of a Telegram Business account.
63
     */
64
    public string $switch_inline_query;
65
66
    /**
67
     * Optional. If set, pressing the button will insert the bot's username and the specified inline query in the
68
     * current chat's input field. May be empty, in which case only the bot's username will be inserted.This offers a
69
     * quick way for the user to open your bot in inline mode in the same chat - good for selecting something from
70
     * multiple options. Not supported in channels and for messages sent on behalf of a Telegram Business account.
71
     */
72
    public string $switch_inline_query_current_chat;
73
74
    /**
75
     * Optional. If set, pressing the button will prompt the user to select one of their chats of the specified type,
76
     * open that chat and insert the bot's username and the specified inline query in the input field. Not supported
77
     * for messages sent on behalf of a Telegram Business account.
78
     */
79
    public switchInlineQueryChosenChat $switch_inline_query_chosen_chat;
80
81
    /**
82
     * Optional. Description of the game that will be launched when the user presses the button.NOTE: This type of
83
     * button must always be the first button in the first row.
84
     */
85
    public callbackGame $callback_game;
86
87
    /**
88
     * Optional. Specify True, to send a Pay button. Substrings “⭐” and “XTR” in the buttons's text will be
89
     * replaced with a Telegram Star icon.NOTE: This type of button must always be the first button in the first row
90
     * and can only be used in invoice messages.
91
     */
92
    public bool $pay;
93
94
95
    public function __construct(stdClass|null $object = null) {
96
        if ($object != null) {
97
            parent::__construct($object, self::subs);
98
        }
99
    }
100
}
101