h-soft / telegram-bot
bot telegram
v0.0.1
2022-01-05 19:19 UTC
Requires
Requires (Dev)
- roave/security-advisories: dev-latest
This package is auto-updated.
Last update: 2024-09-06 02:22:35 UTC
README
H-Soft/Telegram-Bot
安装
安装此扩展的首选方法是通过 composer。
运行以下命令之一
composer require h-soft/telegram-bot
或在您的 composer.json
文件的 require 部分添加以下内容
"h-soft/telegram-bot": "*"
可用方法列表
列出方法
SendMessage
CopyMessage
ForwardMessage
SendAudio
SendDocument
SendPhoto
SendVideo
用法
首先在 config.php 中添加
<?php 'components' => [ 'bot' => [ 'class' => 'h-soft\telegram\Telegram', 'botToken' =>'bot-token', ], ] ?>
一旦安装了扩展,只需在您的代码中使用它即可
<?php Yii::$app->bot ->SendMessage($chat_id,'TEST')(); ?>
通过以下方式发送照片
<?php Yii::$app->bot ->sendPhoto($chat_id,Yii::$app->getBaseUrl().'/uploads/test.jpg') ->caption('this is a caption') ->parse_mode('html') ->protect_content(true) ->allow_sending_without_reply(true)(); ?>
在控制器中使用
首先,您需要在控制器中禁用 enableCsrfValidation 功能
机器人目前是从您的服务器运行的,但当我们在移动端的 telegram 应用中启动 /start 命令时,请求不会达到控制器中的动作,因为 telegram 将请求发送到 POST,而 yii 则没有 csrf 发送请求,导致 Bad Request (# 400)。因此,代码中的方法不会执行
以下是一个示例
class SiteController extends Controller { public $enableCsrfValidation = false; public function actionIndex() { $res = Yii::$app->bot->sendMessage($chat_id,'Hello World H-Soft')(); } }
💡 示例代码
如何从机器人获取用户 chat_id?
您可以使用
$telegram->input->message->chat->id
获取 chat_id
示例小部件类
$res = Yii::$app->bot->sendMessage($bot->input->message->chat->id,"Hello QalandarDev")();