Laravel 集成 Telegram Bot 机器人

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 协议》,转载必须注明作者和本文链接
《L05 电商实战》
从零开发一个电商项目,功能包括电商后台、商品 & SKU 管理、购物车、订单管理、支付宝支付、微信支付、订单退款流程、优惠券等
《L04 微信小程序从零到发布》
从小程序个人账户申请开始,带你一步步进行开发一个微信小程序,直到提交微信控制台上线发布。
讨论数量: 15

如果是群机器人,机器人需要添加到群,如果发不出去或者不起左右,
1 检查 token
2 检查群id chat_id
3 试着把机器人添加管理员权限

5年前 评论

@王某人的用户名 如果有权限就可以

5年前 评论

請問大大有在laravel6.0安裝成功嗎

5年前 评论
ppg (楼主) 5年前
edp2100 (作者) 5年前
ppg (楼主) 5年前

telegram 开车吗?

5年前 评论
ppg (楼主) 5年前

推送数据到telegram要设置代理吗?

5年前 评论
    $params['chat_id']      = $update->getChat()->getId();
    $params['text']         = $update->getMessage()->getText();     
    $response = $this->telegram->sendMessage($params);
    dd( $response );

回傳是null,laravel 6.0
telegram-bot-sdk 3.0

大大有解嗎

5年前 评论
ppg (楼主) 5年前
edp2100 (作者) 5年前

在哪接收不是命令的消息

2年前 评论

就只能用定时器去updates获取新id到step的数据跑么?webhook仅支持https

1年前 评论

讨论应以学习和精进为目的。请勿发布不友善或者负能量的内容,与人为善,比聪明更重要!