Skip to content

Commit 4235b32

Browse files
committed
Extract donate callback and answer the query with a message
1 parent fcbdbc3 commit 4235b32

File tree

2 files changed

+24
-5
lines changed

2 files changed

+24
-5
lines changed

commands/CallbackqueryCommand.php

+2-5
Original file line numberDiff line numberDiff line change
@@ -51,11 +51,8 @@ public function execute(): ServerResponse
5151
parse_str($callback_query->getData(), $callback_data);
5252

5353
if ('donate' === $callback_data['command']) {
54-
DonateCommand::createPaymentInvoice(
55-
$callback_query->getFrom()->getId(),
56-
$callback_data['amount'],
57-
$callback_data['currency']
58-
);
54+
return DonateCommand::handleCallbackQuery($callback_query, $callback_data);
55+
}
5956

6057
if ('rules' === $callback_data['command']) {
6158
return RulesCommand::handleCallbackQuery($callback_query, $callback_data);

commands/DonateCommand.php

+22
Original file line numberDiff line numberDiff line change
@@ -16,6 +16,7 @@
1616
use JsonException;
1717
use LitEmoji\LitEmoji;
1818
use Longman\TelegramBot\Commands\UserCommand;
19+
use Longman\TelegramBot\Entities\CallbackQuery;
1920
use Longman\TelegramBot\Entities\InlineKeyboard;
2021
use Longman\TelegramBot\Entities\Payments\LabeledPrice;
2122
use Longman\TelegramBot\Entities\Payments\SuccessfulPayment;
@@ -57,6 +58,27 @@ class DonateCommand extends UserCommand
5758
*/
5859
protected $private_only = true;
5960

61+
/**
62+
* Handle the callback queries regarding the /donate command.
63+
*
64+
* @param CallbackQuery $callback_query
65+
* @param array $callback_data
66+
*
67+
* @return ServerResponse
68+
*/
69+
public static function handleCallbackQuery(CallbackQuery $callback_query, array $callback_data): ServerResponse
70+
{
71+
self::createPaymentInvoice(
72+
$callback_query->getFrom()->getId(),
73+
$callback_data['amount'],
74+
$callback_data['currency']
75+
);
76+
77+
return $callback_query->answer([
78+
'text' => 'Awesome, an invoice has been sent to you.',
79+
]);
80+
}
81+
6082
/**
6183
* @return ServerResponse
6284
* @throws TelegramException

0 commit comments

Comments
 (0)