From 8f321769bbf2248dd3ff80efc56b995347d958aa Mon Sep 17 00:00:00 2001 From: bald-cat Date: Tue, 11 Mar 2025 14:49:47 +0200 Subject: [PATCH 1/7] added captcha for tg bot --- app/Http/Controllers/WebHookController.php | 2 -- 1 file changed, 2 deletions(-) diff --git a/app/Http/Controllers/WebHookController.php b/app/Http/Controllers/WebHookController.php index c8f290f1..05504fec 100644 --- a/app/Http/Controllers/WebHookController.php +++ b/app/Http/Controllers/WebHookController.php @@ -31,8 +31,6 @@ public function telegram(Request $request): void ); } - Log::channel('telegram')->info(json_encode($request->all())); - TelegramMessage::dispatch( $request->collect('message'), null, From 7d1ceeb27b2a76bef2516951c6d6a821aec91c34 Mon Sep 17 00:00:00 2001 From: bald-cat Date: Tue, 11 Mar 2025 15:48:14 +0200 Subject: [PATCH 2/7] added locale for captcha --- app/Http/Controllers/WebHookController.php | 2 +- app/Jobs/TelegramMessage.php | 7 ++++++ config/telegram.php | 27 ++++++++++++++++++++++ 3 files changed, 35 insertions(+), 1 deletion(-) create mode 100644 config/telegram.php diff --git a/app/Http/Controllers/WebHookController.php b/app/Http/Controllers/WebHookController.php index c1963a4e..eef9b2f5 100644 --- a/app/Http/Controllers/WebHookController.php +++ b/app/Http/Controllers/WebHookController.php @@ -32,7 +32,7 @@ public function telegram(Request $request): void TelegramMessage::dispatch( $request->collect('message'), - null, + $captcha, ); } diff --git a/app/Jobs/TelegramMessage.php b/app/Jobs/TelegramMessage.php index 90d9f663..898e0d05 100644 --- a/app/Jobs/TelegramMessage.php +++ b/app/Jobs/TelegramMessage.php @@ -11,6 +11,7 @@ use Illuminate\Queue\InteractsWithQueue; use Illuminate\Queue\SerializesModels; use Illuminate\Support\Collection; +use Illuminate\Support\Facades\App; use Illuminate\Support\Facades\Cache; class TelegramMessage implements ShouldQueue @@ -26,6 +27,8 @@ class TelegramMessage implements ShouldQueue public $newChatMember; + public $locale; + /** * Create a new job instance. */ @@ -37,6 +40,9 @@ public function __construct(public Collection $message, public ?CaptchaCallback $this->chatId = $this->message->dot()->get('chat.id'); $this->from = $this->message->dot()->get('from.id'); $this->newChatMember = (bool) $this->message->get('new_chat_member'); + + $this->locale = collect(config('telegram.chats')) + ->where('id', $this->chatId)->first ?? config('telegram.default_locale'); } /** @@ -46,6 +52,7 @@ public function handle(TelegramBot $telegramBot): void { // Ban new user without duration and send captcha button if ($this->newChatMember) { + App::setLocale($this->locale); $telegramBot->banUserInGroup($this->chatId, $this->from); $telegramBot->sendWelcomeButton($this->chatId, $this->from, $this->firstName); diff --git a/config/telegram.php b/config/telegram.php new file mode 100644 index 00000000..6d8c35a0 --- /dev/null +++ b/config/telegram.php @@ -0,0 +1,27 @@ + [ + [ + 'id' => '-1002111700088', + 'name' => 'Ахтунг laravel.su чат', + 'locale' => 'ru', + ], + [ + 'id' => '-1001300166722', + 'name' => 'Laravel Orchid Russian Community', + 'locale' => 'ru', + ], + [ + 'id' => '-1001450006147', + 'name' => 'Laravel Orchid', + 'locale' => 'en', + ], + [ + 'id' => '-1001104353296', + 'name' => 'Laravel Framework Russian Community', + 'locale' => 'ru', + ], + ], + 'default_locale' => 'ru', +]; From e99c3de7dd73c830ad8093d27581e796af408033 Mon Sep 17 00:00:00 2001 From: bald-cat Date: Tue, 11 Mar 2025 15:50:24 +0200 Subject: [PATCH 3/7] added locale for captcha --- config/telegram.php | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/config/telegram.php b/config/telegram.php index 6d8c35a0..3a6a9a2c 100644 --- a/config/telegram.php +++ b/config/telegram.php @@ -5,7 +5,7 @@ [ 'id' => '-1002111700088', 'name' => 'Ахтунг laravel.su чат', - 'locale' => 'ru', + 'locale' => 'en', ], [ 'id' => '-1001300166722', From 68b53e0c092b197ed617ffaaa434888aa6018729 Mon Sep 17 00:00:00 2001 From: bald-cat Date: Tue, 11 Mar 2025 15:57:35 +0200 Subject: [PATCH 4/7] added locale for captcha --- app/Jobs/TelegramMessage.php | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/app/Jobs/TelegramMessage.php b/app/Jobs/TelegramMessage.php index 898e0d05..0f0d8011 100644 --- a/app/Jobs/TelegramMessage.php +++ b/app/Jobs/TelegramMessage.php @@ -42,7 +42,7 @@ public function __construct(public Collection $message, public ?CaptchaCallback $this->newChatMember = (bool) $this->message->get('new_chat_member'); $this->locale = collect(config('telegram.chats')) - ->where('id', $this->chatId)->first ?? config('telegram.default_locale'); + ->where('id', $this->chatId)?->first['locale'] ?? config('telegram.default_locale'); } /** From 931bf079f62d3d8743a2cd261b672e397fe4f64c Mon Sep 17 00:00:00 2001 From: bald-cat Date: Tue, 11 Mar 2025 16:01:54 +0200 Subject: [PATCH 5/7] added locale for captcha --- app/Jobs/TelegramMessage.php | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/app/Jobs/TelegramMessage.php b/app/Jobs/TelegramMessage.php index 898e0d05..0f0d8011 100644 --- a/app/Jobs/TelegramMessage.php +++ b/app/Jobs/TelegramMessage.php @@ -42,7 +42,7 @@ public function __construct(public Collection $message, public ?CaptchaCallback $this->newChatMember = (bool) $this->message->get('new_chat_member'); $this->locale = collect(config('telegram.chats')) - ->where('id', $this->chatId)->first ?? config('telegram.default_locale'); + ->where('id', $this->chatId)?->first['locale'] ?? config('telegram.default_locale'); } /** From 906aae4f042967c24dbd84ac2baf62cf3f4f1338 Mon Sep 17 00:00:00 2001 From: bald-cat Date: Tue, 11 Mar 2025 16:17:14 +0200 Subject: [PATCH 6/7] added locale for captcha --- app/Jobs/TelegramMessage.php | 7 +++++-- 1 file changed, 5 insertions(+), 2 deletions(-) diff --git a/app/Jobs/TelegramMessage.php b/app/Jobs/TelegramMessage.php index 0f0d8011..39aac4be 100644 --- a/app/Jobs/TelegramMessage.php +++ b/app/Jobs/TelegramMessage.php @@ -41,8 +41,11 @@ public function __construct(public Collection $message, public ?CaptchaCallback $this->from = $this->message->dot()->get('from.id'); $this->newChatMember = (bool) $this->message->get('new_chat_member'); - $this->locale = collect(config('telegram.chats')) - ->where('id', $this->chatId)?->first['locale'] ?? config('telegram.default_locale'); + $chatConfig = collect(config('telegram.chats')) + ->where('id', $this->chatId) + ->first(); + + $this->locale = $chatConfig ? $chatConfig['locale'] : config('telegram.default_locale'); } /** From 6d075c31feec09c4689595bc1332bd53549adf14 Mon Sep 17 00:00:00 2001 From: bald-cat Date: Wed, 12 Mar 2025 10:41:50 +0200 Subject: [PATCH 7/7] added logs --- app/Http/Controllers/WebHookController.php | 3 +++ app/Jobs/TelegramMessage.php | 6 ++++++ 2 files changed, 9 insertions(+) diff --git a/app/Http/Controllers/WebHookController.php b/app/Http/Controllers/WebHookController.php index eef9b2f5..f5915aa2 100644 --- a/app/Http/Controllers/WebHookController.php +++ b/app/Http/Controllers/WebHookController.php @@ -5,6 +5,7 @@ use App\Jobs\TelegramMessage; use App\Services\Telegram\CaptchaCallback; use Illuminate\Http\Request; +use Illuminate\Support\Facades\Log; class WebHookController extends Controller { @@ -30,6 +31,8 @@ public function telegram(Request $request): void ); } + Log::channel('telegram')->info(json_encode($request->all())); + TelegramMessage::dispatch( $request->collect('message'), $captcha, diff --git a/app/Jobs/TelegramMessage.php b/app/Jobs/TelegramMessage.php index 39aac4be..aa9dee32 100644 --- a/app/Jobs/TelegramMessage.php +++ b/app/Jobs/TelegramMessage.php @@ -13,6 +13,7 @@ use Illuminate\Support\Collection; use Illuminate\Support\Facades\App; use Illuminate\Support\Facades\Cache; +use Illuminate\Support\Facades\Log; class TelegramMessage implements ShouldQueue { @@ -41,11 +42,15 @@ public function __construct(public Collection $message, public ?CaptchaCallback $this->from = $this->message->dot()->get('from.id'); $this->newChatMember = (bool) $this->message->get('new_chat_member'); + Log::channel('telegram')->info('CHAT MEMBER CONSTRUCTOR:'.$this->newChatMember); + $chatConfig = collect(config('telegram.chats')) ->where('id', $this->chatId) ->first(); $this->locale = $chatConfig ? $chatConfig['locale'] : config('telegram.default_locale'); + + Log::channel('telegram')->info("TG Message Locale: $this->locale| TG Message chat:".json_encode($chatConfig)); } /** @@ -55,6 +60,7 @@ public function handle(TelegramBot $telegramBot): void { // Ban new user without duration and send captcha button if ($this->newChatMember) { + Log::channel('telegram')->info('NEW CHAT MEMBER IF'); App::setLocale($this->locale); $telegramBot->banUserInGroup($this->chatId, $this->from); $telegramBot->sendWelcomeButton($this->chatId, $this->from, $this->firstName);