PHP code example of reymon / tg-keyboard
1. Go to this page and download the library: Download reymon/tg-keyboard library . Choose the download type require .
2. Extract the ZIP file and open the index.php.
3. Add this code to the index.php.
<?php
require_once('vendor/autoload.php');
/* Start to develop here. Best regards https://php-download.com/ */
reymon / tg-keyboard example snippets
KeyboardMarkup::new()
->singleUse()
->addButton(KeyboardButton::Text('Cancel'))
->addButton(KeyboardButton::Text('OK'));
KeyboardMarkup::new()
->placeholder('Placeholder');
$button = KeyboardButton::Phone('Send my Contact');
$button->getText();
$button->setText('Give me contact');
$button = InlineButton::Url('hello','https://example.com');
$button->getUrl();
$button->setUrl('github.com');
KeyboardMarkup::new()
->row(
KeyboardButton::Text('Cancel'),
KeyboardButton::Text('OK')
);
KeyboardInline::new()
->row(
InlineButton::Callback('1', 'page-1'),
InlineButton::Callback('2', 'page-2'),
InlineButton::Callback('3', 'page-3')
)
->row(
InlineButton::Callback('prev', 'page-prev'),
InlineButton::Callback('next', 'page-next')
);
KeyboardInline::new()
->addCallbacks([
'1' => 'page-1',
'2' => 'page-2',
'3' => 'page-3',
],[
'prev' => 'page-prev',
'next' => 'page-next'
]);
KeyboardMarkup::new()
->addTexts([
'Cancel',
'Ok'
]);
KeyboardMarkup::new()
->addButton(KeyboardButton::Text('First Button'))
->addButton(KeyboardButton::Text('Second Button'));
KeyboardInline::new()
->addButton(
InlineButton::Callback('A','answer-a'),
InlineButton::Callback('B','answer-b')
)
->row()
->addButton(
InlineButton::Callback('C', 'answer-c'),
InlineButton::Callback('D', 'answer-d')
);
KeyboardInline::new()
->addButton(InlineButton::Callback('A', 'answer-a'))
->addButton(InlineButton::Callback('B', 'answer-b'))
->row()
->addButton(InlineButton::Callback('C', 'answer-c'))
->addButton(InlineButton::Callback('D', 'answer-d'))
->remove();
$keyboard = KeyboardInline::new()
->addButton(InlineButton::Callback('Numbers', 'Numbers'))
->addButton(InlineButton::Callback('Status', 'Status'))
->row()
->addButton(InlineButton::Callback('Add', 'Add'))
->addButton(InlineButton::Callback('Remove', 'Remove'));
$keyboard->addToCoordinates(0, 1, InlineButton::Callback('Middle','Middle'));
$keyboard->replaceIntoCoordinates(1, 0, InlineButton::Callback('Replaced Add','Add'));
$keyboard->removeFromCoordinates(1,0);
KeyboardInline::new()
->Stack(
InlineButton::LoginUrl('Login','https://example.com/login'),
InlineButton::Url('Visit Homepage','https://example.com')
);
$keyboard = KeyboardHide::new();
KeyboardForceReply::new()
->addButton(KeyboardButton::Text('Hello please reply'))
->placeholder('must reply');
KeyboardMarkup::new()
->addButton(KeyboardButton::PeerUsers('Request for user', 0, bot: false));
KeyboardMarkup::new()
->addButton(KeyboardButton::PeerGroup('Request for chat', 1));
KeyboardMarkup::new()
->addButton(KeyboardButton::PeerChannel('Request for channel', 2));
KeyboardMarkup::new()
->requestUsers('Request for user', 0);
KeyboardMarkup::new()
->requestGroup('Request for chat', 1);
KeyboardMarkup::new()
->requestChannel('Request for broadcast', 2);
$keyboard = Keyboard::fromBotApi([
"inline_keyboard": [
[
["text" => "Callback data", "callback_data" => "Some data"]
],
[
[ "text" => "Hide keyboard", "callback_data" => "HIDE"]
]
]
]);
$keyboard->addButton(InlineButton::Callback('End','End'));
// Convert to mtproto syntax
$keyborad->toMtproto();
$keyboard = Keyboard::fromMtproto([
'_' => 'replyInlineMarkup',
'rows' => [
[
'_' => 'keyboardButtonRow',
'buttons' => [
['_' => 'keyboardButtonCallback', 'text' => '1', 'data' => '0'],
['_' => 'keyboardButtonCallback', 'text' => '2', 'data' => '1'],
['_' => 'keyboardButtonCallback', 'text' => '🟢', 'data' => 'stat'],
['_' => 'keyboardButtonCallback', 'text' => '3', 'data' => '2'],
['_' => 'keyboardButtonCallback', 'text' => '4', 'data' => '3']
]
],
[
'_' => 'keyboardButtonRow',
'buttons' => [
['_' => 'keyboardButtonCallback', 'text' => '10', 'data' => '9'],
['_' => 'keyboardButtonCallback', 'text' => '11', 'data' => '10'],
['_' => 'keyboardButtonCallback', 'text' => '12', 'data' => '11'],
]
],
[
'_' => 'keyboardButtonRow',
'buttons' => [
['_' => 'keyboardButtonCallback','text' => '13', 'data' => '12'],
['_' => 'keyboardButtonCallback','text' => '14', 'data' => '13']
]
]
],
]);
$keyboard->addButton(InlineButton::Callback('15','14'));
// Convert to telegram api syntax
$keyborad->toApi();
json_encode($keyborad);
foreach ($keyboard as $row) {
foreach ($row as $button) {
printf("Text: %s Callback: %s", $button->getText(), $button->getCallback());
}
}