...
Code Block | ||||
---|---|---|---|---|
| ||||
package Button_name; use strict; use warnings FATAL => 'all'; #********************************************************** =head2 new() =cut #********************************************************** sub new { my $class = shift; my ($db, $admin, $conf, $bot, undef, $APILayer) = @_; my $self = { db => $db, admin => $admin, conf => $conf, bot => $bot, api => $APILayer }; bless($self, $class); return $self; } #********************************************************** =head2 btn_name() =cut #********************************************************** sub btn_name { return "Название кнопки"; } #********************************************************** =head2 click() =cut #********************************************************** sub click { my $self = shift; my ($attr) = @_; # Что-то делаем по нажатию кнопки. Например отправляем "Привет". $self->{bot}->send_message({ text => "Привет", }); return 1; } 1; |
...
Code Block | ||||
---|---|---|---|---|
| ||||
# Внимание! Для использование многоуровневых операций необходимо понимать что это такое.
# Иначе вы рискуете сделать бота полностью неработоспособным.
$self->{bot}->send_message({
text => 'Вы на втором шаге какой-то операции.\nОтправьте текст или нажмите <b>Отменить</b>',
reply_markup => {
keyboard => [[{
text => "Отменить",
}]],
resize_keyboard => "true",
},
parse_mode => 'HTML'
});
# Запись в базу о том, что пользователь находится на втором шаге операции.
# При любом его действии будет вызываться &Button_name::fn_name
# Не забудьте удалить после завершения операции.
$self->{bot_db}->add({
UID => $self->{bot}->{uid},
BUTTON => "Button_name",
FN => "fn_name",
ARGS => "дополнительные аргументы",
}); |
Code Block | ||||
---|---|---|---|---|
| ||||
# Пример вызова API за авторизацией USERBOT. my ($res) = $self->{api}->fetch_api({ METHOD => 'GET', PATH => '/user/pi/' }); if ($res->{errno}) { $self->{bot}->send_message({ text => "Случилась ошибка, не могу узнать ваше ФИО:(" }); return; } $self->{bot}->send_message({ text => "Здравствуйте, " . $res->{fio} . "!" }); |