BotAuth - Π²Ρ ΠΎΠ΄ ΠΈ ΡΠ΅Π³ΠΈΡΡΡΠ°ΡΠΈΡ ΠΏΡΠΈ ΠΏΠΎΠΌΠΎΡΠΈ Π±ΠΎΡΠΎΠ²
ΠΠ°ΠΊΠ΅Ρ ΠΏΠΎΠ·Π²ΠΎΠ»ΡΠ΅Ρ ΡΠ΅Π°Π»ΠΈΠ·ΠΎΠ²Π°ΡΡ Π°ΡΡΠ΅Π½ΡΠΈΡΠΈΠΊΠ°ΡΠΈΡ ΠΏΡΠΈ ΠΏΠΎΠΌΠΎΡΠΈ Π±ΠΎΡΠΎΠ² Π² ΡΠΎΡ. ΡΠ΅ΡΡΡ . ΠΡΠ½ΠΎΠ²Π½Π°Ρ Π·Π°Π΄Π°ΡΠ° ΡΠΏΡΠΎΡΡΠΈΡΡ Π°ΡΡΠ΅Π½ΡΠΈΡΠΈΠΊΠ°ΡΠΈΡ Π΄Π»Ρ ΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΠ΅Π»Π΅ΠΉ, ΠΊΠΎΡΠΎΡΡΠ΅ ΠΈΡΠΏΠΎΠ»ΡΠ·ΡΡΡ ΠΌΠΎΠ±ΠΈΠ»ΡΠ½ΡΠ΅ ΡΡΡΡΠΎΠΉΡΡΠ²Π° Π΄Π»Ρ Π²Ρ ΠΎΠ΄Π° Π½Π° ΡΠ°ΠΉΡ ΡΠ΅ΡΠ΅Π· ΡΠΎΡ. ΡΠ΅ΡΡ.
Π‘ΡΡΠ»ΠΊΠΈ Π²ΠΈΠ΄Π°:
- https://vk.me/...
- https://t.me/...
- https://m.me/...
ΠΎΡΠΊΡΠΎΡΡ ΠΌΠΎΠ±ΠΈΠ»ΡΠ½ΠΎΠ΅ ΠΏΡΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΠ΅ Π΄Π»Ρ Π½Π°ΡΠ°Π»Π° Π΄ΠΈΠ°Π»ΠΎΠ³Π° Ρ Π±ΠΎΡΠΎΠΌ. ΠΠΎΡΠ΅ΡΠΈΡΠ΅Π»Ρ Π½Π΅ ΠΏΡΠΈΠ΄Π΅ΡΡΡ ΠΏΠΎΠ²ΡΠΎΡΠ½ΠΎ Π²Π²ΠΎΠ΄ΠΈΡΡ Π»ΠΎΠ³ΠΈΠ½ ΠΈ ΠΏΠ°ΡΠΎΠ»Ρ Π² Π±ΡΠ°ΡΠ·Π΅ΡΠ΅.
ΠΠΎΠ·ΠΌΠΎΠΆΠ½ΠΎ ΠΏΠΎΠ΄ΠΊΠ»ΡΡΠΈΡΡ Π±ΠΎΡΠΎΠ²:
- ΠΠΊΠΎΠ½ΡΠ°ΠΊΡΠ΅
- Telegram
- ΠΠ°Ρ ΡΠΎΠ±ΡΡΠ²Π΅Π½Π½ΡΠΉ ΠΏΡΠΎΠ²Π°ΠΉΠ΄Π΅Ρ (ΠΏΡΠΈΠΌΠ΅Ρ Π½ΠΈΠΆΠ΅)
Demo https://laravel.zetrider.ru/
Π£ΡΡΠ°Π½ΠΎΠ²ΠΊΠ°:
-
composer require zetrider/botauth
-
ΠΠΎΠ΄ΠΊΠ»ΡΡΠΈΡΡ ΠΏΠ°ΠΊΠ΅Ρ Π² config/app.php
- ΠΡΠΎΠ²Π°ΠΉΠ΄Π΅Ρ
ZetRider\BotAuth\BotAuthServiceProvider::class,
- Π€Π°ΡΠ°Π΄ (ΠΠ»ΠΈΡΠ°)
'BotAuth' => ZetRider\BotAuth\Facades\BotAuth::class,
- ΠΡΠΎΠ²Π°ΠΉΠ΄Π΅Ρ
-
Π‘ΠΊΠΎΠΏΠΈΡΠΎΠ²Π°ΡΡ ΠΊΠΎΠ½ΡΠΈΠ³. ΡΠ°ΠΉΠ»
php artisan vendor:publish --tag=botauth-config
ΠΏΡΠΈ Π½Π΅ΠΎΠ±Ρ ΠΎΠ΄ΠΈΠΌΠΎΡΡΠΈ
php artisan vendor:publish --tag=botauth-views
php artisan vendor:publish --tag=botauth-migrations
-
Π£ΠΊΠ°Π·Π°ΡΡ Π΄Π»Ρ Π½ΡΠΆΠ½ΡΡ ΡΠΎΡ. ΡΠ΅ΡΠ΅ΠΉ ΡΡΡΠ»ΠΊΡ Π² ΠΏΠ°ΡΠ°ΠΌΠ΅ΡΡΠ΅ link.
- https://vk.me/...
- https://t.me/...
- https://m.me/...
-
ΠΠ°ΠΏΠΎΠ»Π½ΠΈΡΡ ENV ΡΠ°ΠΉΠ» ΠΊΠ»ΡΡΠ°ΠΌΠΈ Π±ΠΎΡΠΎΠ²
BOTAUTH_VKONTAKTE_API_SECRET
BOTAUTH_VKONTAKTE_API_TOKEN
BOTAUTH_VKONTAKTE_API_CONFIRM
BOTAUTH_TELEGRAM_API_TOKEN
BOTAUTH_TELEGRAM_PROXY
BOTAUTH_FACEBOOK_API_SECRET
BOTAUTH_FACEBOOK_API_TOKEN
BOTAUTH_FACEBOOK_API_CONFIRM
-
ΠΠ°ΠΏΡΡΡΠΈΡΡ ΠΌΠΈΠ³ΡΠ°ΡΠΈΠΈ
php artisan migrate
-
Π Middleware VerifyCsrfToken Π΄ΠΎΠ±Π°Π²ΠΈΡΡ ΠΈΡΠΊΠ»ΡΡΠ΅Π½ΠΈΠ΅ Π°Π΄ΡΠ΅ΡΠ° Π΄Π»Ρ callback, ΠΏΠΎ ΡΠΌΠΎΠ»ΡΠ°Π½ΠΈΡ botauth/callback/*'
protected $except = [
'botauth/callback/*' // Except callback Csrf middleware
];
- ΠΠ»Ρ Π²Π°ΡΠ΅ΠΉ ΠΌΠΎΠ΄Π΅Π»ΠΈ User Π΄ΠΎΠ±Π°Π²ΡΡΠ΅ ΡΡΠ΅ΠΉΡ:
use ZetRider\BotAuth\Traits\BotAuthUserTrait;
ΠΊΠΎΡΠΎΡΡΠΉ Π΄ΠΎΠ±Π°Π²ΠΈΡ ΠΎΡΠ½ΠΎΡΠ΅Π½ΠΈΠ΅ Ρ Π»ΠΎΠ³ΠΈΠ½Π°ΠΌΠΈ ΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΠ΅Π»Ρ ΠΈΠ· ΡΠΎΡ. ΡΠ΅ΡΠ΅ΠΉ
ΠΠΎΠ΄ΠΊΠ»ΡΡΠ΅Π½ΠΈΠ΅ Π±ΠΎΡΠΎΠ²:
ΠΠΊΠΎΠ½ΡΠ°ΠΊΡΠ΅
- ΠΡΠΊΡΠΎΠΉΡΠ΅ Π½Π°ΡΡΡΠΎΠΉΠΊΠΈ ΡΠ²ΠΎΠ΅Π³ΠΎ ΡΠΎΠΎΠ±ΡΠ΅ΡΡΠ²Π° ΠΈΠ»ΠΈ ΡΠΎΠ·Π΄Π°ΠΉΡΠ΅ Π½ΠΎΠ²ΠΎΠ΅ https://vk.com/groups?w=groups_create
- Π Π½Π°ΡΡΡΠΎΠΉΠΊΠ°Ρ ΡΠΎΠΎΠ±ΡΠ΅ΡΡΠ²Π° ΠΎΡΠΊΡΠΎΠΉΡΠ΅ ΡΠ°ΠΉΠ·Π΄Π΅Π» "ΠΠ°ΡΡΡΠΎΠΉΠΊΠΈ" - "Π Π°Π±ΠΎΡΠ° Ρ API"
- Π‘ΠΎΠ·Π΄Π°ΠΉΡΠ΅ ΠΊΠ»ΡΡ Π΄ΠΎΡΡΡΠΏΠ°, Π²ΡΠ±Π΅ΡΠΈΡΠ΅ ΠΏΡΠ½ΠΊΡ "Π Π°Π·ΡΠ΅ΡΠΈΡΡ ΠΏΡΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΡ Π΄ΠΎΡΡΡΠΏ ΠΊ ΡΠΎΠΎΠ±ΡΠ΅Π½ΠΈΡΠΌ ΡΠΎΠΎΠ±ΡΠ΅ΡΡΠ²Π°", Π·Π°ΠΏΠΈΡΠΈΡΠ΅ ΠΊΠ»ΡΡ, Π΅Π³ΠΎ Π½ΡΠΆΠ½ΠΎ ΡΠΊΠ°Π·Π°ΡΡ Π² .env
BOTAUTH_VKONTAKTE_API_TOKEN
- ΠΠ° ΡΠΎΠΉ ΠΆΠ΅ ΡΡΡΠ°Π½ΠΈΡΠ΅ Π²ΡΠ±Π΅ΡΠΈΡΠ΅ Callback API, Π²ΡΠ±Π΅ΡΠΈΡΠ΅ "ΠΠ΅ΡΡΠΈΡ API" 5.95, ΡΠΊΠ°ΠΆΠΈΡΠ΅ Π² ΠΏΠΎΠ»Π΅ "ΠΠ΄ΡΠ΅Ρ" callback Π°Π΄ΡΠ΅Ρ Π²Π°ΡΠ΅Π³ΠΎ ΡΠ°ΠΉΡΠ°, ΠΏΡΠΈΠΌΠ΅Ρ ΠΏΠΎ ΡΠΌΠΎΠ»ΡΠ°Π½ΠΈΡ https://DOMAIN/botauth/callback/vkontakte
- ΠΠΈΠΆΠ΅ ΡΠΊΠ°ΠΆΠΈΡΠ΅ ΡΡΡΠΎΠΊΡ, ΠΊΠΎΡΠΎΡΡΡ Π΄ΠΎΠ»ΠΆΠ΅Π½ Π²Π΅ΡΠ½ΡΡΡ ΡΠ΅ΡΠ²Π΅Ρ Π² .env
BOTAUTH_VKONTAKTE_API_CONFIRM
- Π ΠΏΠΎΠ»Π΅ "Π‘Π΅ΠΊΡΠ΅ΡΠ½ΡΠΉ ΠΊΠ»ΡΡ" ΠΏΡΠΈΠ΄ΡΠΌΠ°ΠΉΡΠ΅ Π»ΡΠ±ΠΎΠΉ ΡΠ΅ΠΊΡΠ΅ΡΠ½ΡΠΉ ΠΊΠ»ΡΡ, ΡΠΊΠ°ΠΆΠΈΡΠ΅ Π² .env
BOTAUTH_VKONTAKTE_API_SECRET
- ΠΠΎΡΠ»Π΅ Π·Π°ΠΏΠΎΠ»Π½Π΅Π½ΠΈΡ Π²ΡΠ΅Ρ ΠΊΠ»ΡΡΠ΅ΠΉ Π² .env Π½Π°ΠΆΠΌΠΈΡΠ΅ ΠΊΠ½ΠΎΠΏΠΊΡ "ΠΠΎΠ΄ΡΠ²Π΅ΡΠΈΠ΄ΡΡ"
- ΠΠ° ΡΡΠΎΠΉ ΠΆΠ΅ ΡΡΡΠ°Π½ΠΈΡΠ΅ ΠΎΡΠΊΡΠΎΠΉΡΠ΅ Π²ΠΊΠ»Π°Π΄ΠΊΡ "Π’ΠΈΠΏΡ ΡΠΎΠ±ΡΡΠΈΠΉ", Π½ΡΠΆΠ½ΠΎ Π²ΡΠ±ΡΠ°ΡΡ "ΠΡ ΠΎΠ΄ΡΡΠΈΠ΅ ΡΠΎΠΎΠ±ΡΠ΅Π½ΠΈΡ"
- ΠΡΠΊΡΠΎΠΉΡΠ΅ Π½Π°ΡΡΡΠΎΠΉΠΊΠΈ ΡΠΎΠΎΠ±ΡΠ΅ΡΡΠ²Π°, ΠΏΡΠ½ΠΊΡ "Π‘ΠΎΠΎΠ±ΡΠ΅Π½ΠΈΡ", Π²ΠΊΠ»ΡΡΠΈΡΠ΅ "ΡΠΎΠΎΠ±ΡΠ΅Π½ΠΈΡ ΡΠΎΠΎΠ±ΡΠ΅ΡΡΠ²Π°"
- ΠΡΠΊΡΠΎΠΉΡΠ΅ Π½Π°ΡΡΡΠΎΠΉΠΊΠΈ ΡΠΎΠΎΠ±ΡΠ΅ΡΡΠ²Π°, ΠΏΡΠ½ΠΊΡ "Π‘ΠΎΠΎΠ±ΡΠ΅Π½ΠΈΡ" - "ΠΠ°ΡΡΡΠΎΠΉΠΊΠΈ Π΄Π»Ρ Π±ΠΎΡΠ°", Π²ΠΊΠ»ΡΡΠΈΡΠ΅ "ΠΠΎΠ·ΠΌΠΎΠΆΠ½ΠΎΡΡΠΈ Π±ΠΎΡΠΎΠ²"
ΠΠΎΡ Π³ΠΎΡΠΎΠ² ΠΊ ΡΠ°Π±ΠΎΡΠ΅.
ΠΡΠΈΠΌΠ΅Ρ ΠΏΡΡΠΌΠΎΠΉ ΡΡΡΠ»ΠΊΠΈ Π½Π° Π΄ΠΈΠ°Π»ΠΎΠ³ Ρ Π±ΠΎΡΠΎΠΌ https://vk.me/zetcode
Telegram
- Π‘ΠΎΠ·Π΄Π°ΠΉΡΠ΅ ΡΠ²ΠΎΠ΅Π³ΠΎ Π±ΠΎΡΠ° ΡΠ΅ΡΠ΅Π· @BotFather
- ΠΠ°ΠΏΠΎΠΌΠ½ΠΈΡΠ΅ ΠΊΠ»ΡΡ, ΡΠΊΠ°ΠΆΠΈΡΠ΅ Π² .env
BOTAUTH_TELEGRAM_API_TOKEN
- ΠΠΎΠ±Π°Π²ΡΡΠ΅ Π²Π΅Π± Ρ
ΡΠΊ ΡΠ΅ΡΠ΅Π·
https://api.telegram.org/botYOUR_TOKEN/setWebhook?url=https://DOMAIN/botauth/callback/telegram
Π³Π΄Π΅ YOUR_TOKEN Π²Π°Ρ ΡΠΎΠΊΠ΅Π½. - ΠΡΠΈ Π½Π΅ΠΎΠ±Ρ
ΠΎΠ΄ΠΈΠΌΠΎΡΡΠΈ ΡΠΊΠ°ΠΆΠΈΡΠ΅ ΠΏΡΠΎΠΊΡΠΈ Π² .env
BOTAUTH_TELEGRAM_PROXY
, Π½Π°ΠΏΡΠΈΠΌΠ΅Ρ socks5h://127.0.0.1:1080
ΠΠΎΡ Π³ΠΎΡΠΎΠ² ΠΊ ΡΠ°Π±ΠΎΡΠ΅.
ΠΡΠΈΠΌΠ΅Ρ ΠΏΡΡΠΌΠΎΠΉ ΡΡΡΠ»ΠΊΠΈ Π½Π° Π΄ΠΈΠ°Π»ΠΎΠ³ Ρ Π±ΠΎΡΠΎΠΌ https://t.me/BotAuthBot
- Π£ Π²Π°Ρ Π΄ΠΎΠ»ΠΆΠ½Π° Π±ΡΡΡ ΡΠΎΠ·Π΄Π°Π½Π° ΡΡΡΠ°Π½ΠΈΡΠ°, Π΅ΡΠ»ΠΈ Π΅Π΅ Π½Π΅Ρ, Π΄ΠΎΠ±Π°Π²ΡΡΠ΅ https://www.facebook.com/pages/creation/?ref_type=universal_creation_hub
- ΠΠΎΠ±Π²ΡΡΠ΅ Π½ΠΎΠ²ΠΎΠ΅ ΠΏΡΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΠ΅ https://developers.facebook.com/apps/
- Π Π½Π°ΡΡΡΠΎΠΉΠΊΠ°Ρ
ΠΏΡΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΠ΅ Π²ΡΠ±Π΅ΡΠΈΡΠ΅ "ΠΡΠ½ΠΎΠ²Π½ΠΎΠ΅", ΡΠΊΠΎΠΏΠΈΡΡΠΉΡΠ΅ "Π‘Π΅ΠΊΡΠ΅Ρ ΠΏΡΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΡ" Π² .env
BOTAUTH_FACEBOOK_API_SECRET
- Π Π½Π°ΡΡΡΠΎΠΉΠΊΠ°Ρ ΠΏΡΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΠ΅ Π½ΡΠΆΠ½ΠΎ Π΄ΠΎΠ±Π°Π²ΠΈΡΡ ΠΏΡΠΎΠ΄ΡΠΊΡ "Messenger"
- Π Π½Π°ΡΡΡΠΎΠΉΠΊΠ°Ρ ΠΏΡΠΎΠ΄ΡΠΊΡΠ° "Messenger" ΡΠΎΠ·Π΄Π°ΠΉΡΠ΅ ΡΠΎΠΊΠ΅Π½ Π΄ΠΎΡΡΡΠΏΠ°, ΡΠΊΠ°ΠΆΠΈΡΠ΅ Π΅Π³ΠΎ Π² .env BOTAUTH_FACEBOOK_API_TOKEN
- Π Π½Π°ΡΡΡΠΎΠΉΠΊΠ°Ρ ΠΏΡΠΎΠ΄ΡΠΊΡΠ° "Messenger" ΡΠΎΠ·Π΄Π°ΠΉΡΠ΅ Π²Π΅Π± Ρ ΡΠΊ, Π² URL ΠΎΠ±ΡΠ°ΡΠ½ΠΎΠ³ΠΎ Π²ΡΠ·ΠΎΠ²Π° ΡΠΊΠ°ΠΆΠΈΡΠ΅ https://DOMAIN/botauth/callback/facebook Π² ΠΏΠΎΠ»Π΅ "ΠΠΎΠ΄ΡΠ²Π΅ΡΠ΄ΠΈΡΠ΅ ΠΌΠ°ΡΠΊΠ΅Ρ" ΡΠΊΠ°ΠΆΠΈΡΠ΅ ΠΏΡΠΎΠΈΠ·Π²ΠΎΠ»ΡΠ½ΡΠΉ ΡΠ΅ΠΊΡΡ, ΡΠΎΡ ΡΠ°Π½ΠΈΡΠ΅ Π² .env BOTAUTH_FACEBOOK_API_CONFIRM Π² ΠΎΠΏΡΠΈΡΡ "ΠΠΎΠ»Ρ ΠΏΠΎΠ΄ΠΏΠΈΡΠΊΠΈ" Π²ΡΠ±Π΅ΡΠΈΡΠ΅ "messages" Π½Π°ΠΆΠΌΠΈΡΠ΅ "ΠΠΎΠ΄ΡΠ²Π΅ΡΠ΄ΠΈΡΡ"
- ΠΠΎΡΠ»Π΅ ΠΏΠΎΠ΄ΡΠ²Π΅ΡΠΆΠ΄Π΅Π½ΠΈΡ ΡΠ΅ΡΠ²Π΅ΡΠ° Π² Π½Π°ΡΡΡΠΎΠΉΠΊΠ°Ρ Π²Π΅Π± Ρ ΡΠΊΠΎΠ² Π²ΡΠ±Π΅ΡΠΈΡΠ΅ ΡΡΡΠ°Π½ΠΈΡΡ, Π½Π°ΠΆΠΌΠΈΡΠ΅ "ΠΠΎΠ΄ΠΏΠΈΡΠ°ΡΡΡΡ" Π²ΡΠ±ΡΠ°Π½ Π½ΡΠΆΠ½ΡΡ ΡΡΡΠ°Π½ΠΈΡΡ
- Π ΠΎΠΊΠ½Π΅ "ΠΡΠΎΠ²Π΅ΡΠΊΠ° ΠΏΡΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΡ Messenger" ΡΡΠ΄ΠΎΠΌ Ρ ΠΏΡΠ½ΠΊΡΠΎΠΌ "pages_messaging" Π½Π°ΠΆΠΌΠΈΡΠ΅ "ΠΠΎΠ±Π°Π²ΠΈΡΡ ΠΊ Π·Π°ΡΠ²ΠΊΠ΅"
- ΠΠΎΡ ΡΠΆΠ΅ Π³ΠΎΡΠΎΠ² ΠΊ ΡΠ°Π±ΠΎΡΠ΅, Π½ΠΎ Π΄ΠΎΡΡΡΠΏΠ΅Π½ ΡΠΎΠ»ΡΠΊΠΎ Π΄Π»Ρ Π°Π΄ΠΌΠΈΠ½ΠΈΡΡΡΠ°ΡΠΎΡΠΎΠ². ΠΠΎΡΠ»Π΅ ΠΏΠΎΠ΄ΡΠ²Π΅ΡΠΆΠ΄Π΅Π½ΠΈΡ ΠΏΡΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΡ, ΠΎΠ½ ΡΡΠ°Π½Π΅Ρ Π΄ΠΎΡΡΡΠΏΠ΅Π½ Π΄Π»Ρ Π²ΡΠ΅Ρ ΠΏΠΎΡΠ΅ΡΠΈΡΠ΅Π»Π΅ΠΉ. ΠΡΠΏΡΠ°Π²ΡΡΠ΅ ΠΏΡΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΠ΅ Π½Π° ΠΌΠΎΠ΄Π΅ΡΠ°ΡΠΈΡ.
ΠΡΠΈΠΌΠ΅Ρ ΠΏΡΡΠΌΠΎΠΉ ΡΡΡΠ»ΠΊΠΈ Π½Π° Π΄ΠΈΠ°Π»ΠΎΠ³ Ρ Π±ΠΎΡΠΎΠΌ https://m.me/zetridercode
ΠΠ°ΠΆΠ½ΠΎ:
- Π‘Π°ΠΉΡ Π΄ΠΎΠ»ΠΆΠ΅Π½ ΡΠ°Π±ΠΎΡΠ°ΡΡ ΠΏΠΎ https
- Facebook Π±ΠΎΡ Π²ΠΎΠ·Π²ΡΠ°ΡΠ°Π΅Ρ PSID, ΠΊΠΎΡΠΎΡΡΠΉ Π½Π΅ ΡΠΎΠΎΡΠ²Π΅ΡΡΡΠ²ΡΠ΅Ρ ΠΏΡΠ±Π»ΠΈΡΠ½ΠΎΠΌΡ ID ΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΠ΅Π»Ρ.
- ΠΠΎ ΡΠΌΠΎΠ»ΡΠ°Π½ΠΈΡ ΠΊΠΎΠ½ΡΡΠΎΠ»Π»Π΅Ρ Π±ΠΎΡΠ° ΡΠ°Π±ΠΎΡΠ°Π΅Ρ Ρ ΠΌΠΎΠ΄Π΅Π»ΡΡ \App\User. ΠΡΠ»ΠΈ Ρ Π²Π°Ρ Π΄ΡΡΠ³ΠΎΠΉ ΡΠ»ΡΡΠ°ΠΉ, ΠΏΡΠΎΡΡΠΎ ΡΠΎΠ·Π΄Π°ΠΉΡΠ΅ ΡΠ²ΠΎΠΉ ΠΊΠΎΠ½ΡΡΠΎΠ»Π»Π΅Ρ ΠΈ ΠΌΠΎΠ΄Π΅Π»Ρ Π½Π° ΠΎΡΠ½ΠΎΠ²Π΅ ΠΏΡΠΈΠΌΠ΅ΡΠΎΠ² ΠΈΠ· ΡΠ΅ΠΏΠΎΠ·ΠΈΡΠΎΡΠΈΡ.
ΠΠ°ΠΊ Π΄ΠΎΠ±Π°Π²ΠΈΡΡ ΡΠ²ΠΎΠΉ ΠΏΡΠΎΠ²Π°ΠΉΠ΄Π΅Ρ:
Π‘ΠΎΠ·Π΄Π°ΠΉΡΠ΅ ΡΠ²ΠΎΠΉ ΠΊΠ»Π°ΡΡ, ΠΊΠΎΡΠΎΡΡΠΉ Π½Π°ΡΠ»Π΅Π΄ΡΠ΅Ρ Π°Π±ΡΡΡΠ°ΠΊΡΠ½ΡΠΉ ΠΊΠ»Π°ΡΡ ZetRider\BotAuth\AbstractProvider
ΠΡΠΈΠΌΠ΅Ρ example/ExampleProvider.php
ΠΠΎΠ±Π°Π²ΡΡΠ΅ Π² ΡΠ΅ΡΠ²ΠΈΡ ΠΏΡΠΎΠ²Π°ΠΉΠ΄Π΅Ρ, Π½Π°ΠΏΡΠΈΠΌΠ΅Ρ AppServiceProvider Π² ΠΌΠ΅ΡΠΎΠ΄Π΅ boot
// Register example proider
BotAuth::extend('example', function() {
return new \Path\To\Your\Class\ExampleProvider();
});
ΠΡΠΎΠ²Π°ΠΉΠ΄Π΅Ρ Π±ΡΠ΄Π΅Ρ ΠΎΠ±ΡΠ°Π±Π°ΡΡΠ²Π°ΡΡ Π·Π°ΠΏΡΠΎΡΡ Π² callback ΠΏΠΎ Π°Π΄ΡΠ΅ΡΡ /botauth/callback/example
Π‘ΠΎΠ±ΡΡΠΈΡ
Π‘ΠΎΠ±ΡΡΠΈΠ΅ ΠΏΡΠΈ ΡΡΠΏΠ΅ΡΠ½ΠΎΠΉ ΠΎΠ±ΡΠ°Π±ΠΎΡΠΊΠ΅ Π½ΠΎΠ²ΠΎΠ³ΠΎ ΡΠΎΠΎΠ±ΡΠ΅Π½ΠΈΡ ΠΎΡ Π±ΠΎΡΠ°
// Catch bot callback
\Event::listen(\ZetRider\BotAuth\Events\MessageNewEvent::class, function($event)
{
$provider = $event->provider; // ZetRider\BotAuth\AbstractProvider
$slug = $provider->getProviderSlug();
$data = $provider->getCallbackResponse();
$user = $provider->getUser();
$text = $provider->getText();
// You can send a message
// $provider->sendMessage(__('Back to web site'));
});