uzdevid / yii2-telegrambot
Extension for working with Telegram bot on PHP framework Yii2
Installs: 27
Dependents: 0
Suggesters: 0
Security: 0
Stars: 1
Watchers: 0
Forks: 0
Open Issues: 0
Type:yii2-extension
Requires
- yiisoft/yii2: ~2.0.0
This package is auto-updated.
Last update: 2025-01-05 15:54:11 UTC
README
Telegram bot yaratish uchun qulaylashtirilgan kengaytma
O'rnatish
Kengaytmani composer orqali o'rnatishingiz mumkin.
composer require uzdevid/yii2-telegrambot "dev-main"
Foydalanish
Konfiguratsiya parametrlarini kiritish.
$config = [ 'token' => '<token>', 'parse_mode' => 'markdown', 'webhook_url' => '<webhook url>' ];
Agar habarlarni faqat bitta chat-ga yuborqmoqchi bo'lsangiz ushbu massivga chat_id ni ham qo'shishingiz mumkin.
Bot class-ini yaratish.
$bot = new TelegramBot($config);
Chat-ga oddiy habar yuborish.
$bot->send(['chat_id' => 1234567, 'text' => 'Hello world']);
Agar chat_id konfiguratsiyada ko'rsatilgan bo'lsa va yuborish uchun faqat matn berilsa quyidagi usuldan foydalanishingiz mumkin
$bot->send(['Hello world']);
Habarni o'zgartirish
$bot->edit(['message_id' => 1020, 'text' => "Yangi matn"]);
Tugmalar yaratish
Tugmalar yaratish
$bot->createKeyboard([ [['text' => "Button 1"]], [['text' => "Button 2"]] ]); $bot->send(['chat_id' => 1234567, 'text' => 'Mesage with url buttons']);
Habar ostida (inline) tugmalar yaratish
$bot->createInlineKeyboard([ [['text' => "Button 1", 'url' => "https://google.com"]], [['text' => "Button 2", 'url' => "https://devid.uz"]] ]); $bot->send(['chat_id' => 1234567, 'text' => 'Mesage with url buttons']);
Callback tugmalar yaratish
$bot->createInlineKeyboard([ [['text' => "Callback Button 1", 'callback_data' => json_encode(['command' => '/btn-1'])]] ]); $bot->send(['chat_id' => 1234567, 'text' => 'Mesage with callback']);
callback_data paramtriga command-dan tashqari qo'shimcha paramtrlar qo'shishingiz mumkin. Misol uchun: id
$bot->createInlineKeyboard([ [[ 'text' => "Callback Button 1", 'callback_data' => json_encode(['command' => '/btn-1', 'id' => 100]) ]] ]); $bot->send(['chat_id' => 1234567, 'text' => 'Mesage with callback button and id']);
Webhook o'rnatish va o'chirish
Webhook o'rnatishda va o'chirishda konfiguratsiyada webhook_url ko'rsatilgan bo'lishi shart. Qolgan holatlarda shart emas.
Webhook o'rnatish
$bot->setWebHook();
Webhook o'chirish
$bot->deleteWebHook();
Bot foydalanuvchisidan kelgan so'rovlarni qabul qilish, va javob qaytarish.
$bot->onMessage('/start', function ($bot) { $bot->send("Chat ID: {$bot->chat_id}"); });
Callback tugmasi orqali kelgan so'rovni qayta ishlash.
$bot->onCallBack('/btn-1', function ($bot, $callback_data){ $bot->send("Siz /btn-1 tugmasini bosdingiz. Tugma id-si: " . $callback_data['id']); });
Ko'rib turganingizdek bu ikkala metod ichida send orqali habar yuboryatganingizda chat_id ko'rsatishingiz shart emas. Qaysi foydalanuvchidan so'rov kelsa, javob ham huddi shu foydalanuvchiga qaytadi.