feat: tg bot start message customization
This commit is contained in:
@@ -59,7 +59,19 @@ TEXT,
|
||||
'texts' => [
|
||||
'text_no_more_products' => 'Это всё по текущему запросу. Попробуйте уточнить фильтры или поиск.',
|
||||
'text_empty_cart' => 'Ваша корзина пуста.',
|
||||
'text_order_created_success' => 'Ваш заказ успешно оформлен и будет обработан в ближайшее время.'
|
||||
'text_order_created_success' => 'Ваш заказ успешно оформлен и будет обработан в ближайшее время.',
|
||||
'start_message' => <<<HTML
|
||||
👋 <b>Добро пожаловать!</b>
|
||||
|
||||
Вы находитесь в официальном магазине.
|
||||
Здесь вы можете ознакомиться с товарами, узнать подробности и оформить заказ прямо в Telegram.
|
||||
|
||||
Нажмите кнопку ниже, чтобы перейти в каталог.
|
||||
HTML,
|
||||
'start_image' => null,
|
||||
'start_button' => [
|
||||
'text' => '🛍 Перейти в каталог',
|
||||
],
|
||||
],
|
||||
|
||||
'orders' => [
|
||||
|
||||
@@ -2,14 +2,37 @@
|
||||
|
||||
namespace Openguru\OpenCartFramework\Telegram\Commands;
|
||||
|
||||
use Openguru\OpenCartFramework\Config\Settings;
|
||||
use Openguru\OpenCartFramework\Telegram\Enums\ChatAction;
|
||||
use Openguru\OpenCartFramework\Telegram\TelegramBotStateManager;
|
||||
use Openguru\OpenCartFramework\Telegram\TelegramService;
|
||||
|
||||
class StartCommand extends TelegramCommand
|
||||
{
|
||||
private Settings $settings;
|
||||
|
||||
public function __construct(TelegramService $telegram, TelegramBotStateManager $stateManager, Settings $settings)
|
||||
{
|
||||
parent::__construct($telegram, $stateManager);
|
||||
$this->settings = $settings;
|
||||
}
|
||||
|
||||
public function handle(array $update): void
|
||||
{
|
||||
$chatId = $update['message']['chat']['id'];
|
||||
|
||||
$message = 'Добро пожаловать в Telecart \- интернет магазин в Telegram\.';
|
||||
$message = $this->settings->get('texts.start_message', 'Welcome to Telecart - Telegram e-commerce solution.');
|
||||
$buttons = [
|
||||
'inline_keyboard' => [
|
||||
[
|
||||
[
|
||||
'text' => $this->settings->get('texts.start_button.text', 'Open Mini App'),
|
||||
'url' => $this->telegram->getMiniAppUrl(),
|
||||
],
|
||||
],
|
||||
],
|
||||
];
|
||||
|
||||
$this->telegram->sendMessage($chatId, $message);
|
||||
$this->telegram->sendMessage($chatId, $message, $buttons, ChatAction::TYPING, 'html');
|
||||
}
|
||||
}
|
||||
|
||||
@@ -220,4 +220,11 @@ class TelegramService
|
||||
|
||||
return null;
|
||||
}
|
||||
|
||||
public function getMiniAppUrl(): string
|
||||
{
|
||||
$me = $this->getMe();
|
||||
|
||||
return sprintf('https://t.me/%s?startapp', $me['username']);
|
||||
}
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user