NAME
Telegram::BotKit::Keyboards - Easy creation of keyboards for Telegram bots
VERSION
version 0.03
SYNOPSIS
use Telegram::Keyboards qw(create_one_time_keyboard create_inline_keyboard);
my $api = WWW::Telegram::BotAPI->new(token => 'my_token');
$api->sendMessage ({
chat_id => 123456,
text => 'This is a regular keyboard',
reply_markup => create_one_time_keyboard(['Button1','Button2'])
});
$api->sendMessage ({
chat_id => 123456,
text => 'This is a regular keyboard',
reply_markup => create_inline_keyboard(['Button1','Button2'], 2)
});
METHODS
create_one_time_keyboard
Create a regular one time keyboard. For using with (reply_markup) param of API sendMessage method
$keyboard = create_one_time_keyboard($arrayref, $max_keys_per_row);
$api->sendMessage ({ chat_id => 123456, reply_markup => $keyboard });
If no $max_keys_per_row specified keyboard will have only one column
create_inline_keyboard
Create an INLINE keyboard. For using with (reply_markup) param of API sendMessage method
my $api = WWW::Telegram::BotAPI->new ( token => 'my_token' );
# $keyboard = create_one_time_keyboard($arrayref, $max_keys_per_row); $keyboard = create_one_time_keyboard(['Button1', 'Button2', 'Button3'], 2);
$api->sendMessage ({ chat_id => 123456, reply_markup => $keyboard });
available_keys
Helper function for tg-botkit simulator. Return string of possible answers in Backus–Naur notation
print Dumper available_keys(['B1', 'B2', 'B3' ]) # '[ B1 | B2 | B3 ]'
parse_reply_markup
Helper function for tg-botkit simulator. Function opposite to create_inline_keyboard and create_one_time_keyboard Transform $reply_markup JSON object into perl array
TODO
build_optimal()
build keyboard with optimalrows and columns based on keyboard content
build_optimal_according_order()
build keyboard with optimal rows and columns based on keyboard content WITHOUT changing buttons order
= cut
AUTHOR
Pavel Serikov <pavelsr@cpan.org>
COPYRIGHT AND LICENSE
This software is copyright (c) 2017 by Pavel Serikov.
This is free software; you can redistribute it and/or modify it under the same terms as the Perl 5 programming language system itself.