Laravel 整合 Telegram Bot 機器人

拍片哥發表於2019-07-19

1 github 下載 https://github.com/irazasyed/telegram-bot-...

或者 composer 用2.0版本 3.0都沒文件

composer require irazasyed/telegram-bot-sdk ^2.0

2 laravel配置

config/app.php

providers陣列 新增
Telegram\Bot\Laravel\TelegramServiceProvider::class,

aliases陣列新增
'Telegram' => Telegram\Bot\Laravel\Facades\Telegram::class
執行命令 生成 config/telegram.php配置檔案
php artisan vendor:publish --provider="Telegram\Bot\Laravel\TelegramServiceProvider"

主要修改 bot_token(隨意找到telegram任何人 然後輸入 https://telegram.me/botfather 點選就可以了新增botfather 然後輸入 /newbot 他會提示你給bot命名 ps:結尾為_bot或者Bot,下面打碼的就是token)

3 laravel中使用

引入 Telegram(use Telegram)

1 配置回撥地址 可以通過程式碼設定 也可以通過直接訪問URL配置 (ps:url一定要https)

程式碼配置: Telegram::setWebhook(['url' => 'https://你的地址']);

直接訪問url配置https://api.telegram.org/bot**你的token**/setWebhook?url=你的url

//獲取bot資訊
$response = Telegram::getMe();

$botId = $response->getId();
$firstName = $response->getFirstName();
$username = $response->getUsername();

//傳送資訊 傳送圖片 chat_id怎麼獲取呢 參考telegram回撥json裡面的 chat:{id}
ps:這裡可能有坑 我的群id 是 -361300530 必須-號也 要帶!!!!
Telegram::sendMessage(['chat_id' => 'xxx',
'text' => '更多請點選 https://bbs.918dxs.com/']);

Telegram::setAsyncRequest(true)
->sendPhoto(['chat_id' => 'xxx',
'photo' => 圖片url,
'caption' => '圖片描述更多請點選 https://bbs.918dxs.com/'

]);

4 telegram回撥地址處理(同微信公眾號一樣道理 所有資訊都會推送到該地址 一定要先配置好回撥地址 laravel要考慮crsf問題 )

返回的結果右下 更多方法參考https://telegram-bot-sdk.readme.io/reference#getupdates

本作品採用《CC 協議》,轉載必須註明作者和本文連結

相關文章