toropyga/telegram

用于与Toropyga的Telegram机器人交互的库

v2.2.0 2021-08-30 05:47 UTC

This package is auto-updated.

Last update: 2024-09-29 05:56:49 UTC


README

使用Telegram机器人发送消息

License Version PHP

内容

通用概念

Telegram类用于以Telegram机器人的名义发送消息。

运行需要PHP版本5.5及以上,php-json和php-curl库。还使用了BaseNetContent库。

安装

建议使用Composer安装NetContent库。

composer require toropyga/telegram

配置

默认参数的预配置可以通过在类中直接进行,或者使用命名常量完成。如果需要,可以在调用类之前(例如在配置文件中)声明命名常量,并定义默认参数。

工作描述

连接类文件

require_once("NetContent.php");
require_once("Base.php");
require_once("Telegram.php");

或使用composer

require_once("vendor/autoload.php");

初始化类

use \FYN\Base;
$net = new FYN\NetContent();
$telegram = new FYN\Telegram($net);

或自动连接NetContent类

use \FYN\Base;
$telegram = new FYN\Telegram();

设置发送消息时的Telegram API交互方法

$telegram->setMethod('sendVideo');

支持的方法

设置Telegram机器人令牌

$telegram->setToken("000000000:XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX");

设置Webhook服务器参数

$webhook_url = 'https://your_server_path'; // адрес Webhook-сервера
$certificate = '/home/user/ssl/my_ssl'; // путь к персональному сертификату (необязательный параметр)
$ip_address = '000.000.000.000'; // IP-адрес , который будет использоваться для отправки запросов Webhook вместо IP-адреса, полученного через DNS (необязательный параметр)
$max_connections = 40; // максимальное количество одновременных подключений к Webhook-серверу [1-100] (необязательный параметр)

$telegram->setWebhook ($webhook_url, $certificate, $ip_address, $max_connections);

删除Webhook服务器

$telegram->deleteWebhook();

获取Webhook服务器信息

$info = $telegram->getWebhookInfo();

设置接收者标识符

$telegram->setChatID("000000000");

开启调试

$telegram->setDebug(true);

如果启用,则记录所有操作,否则只记录最终结果。

获取日志

$telegram->getLogs();

返回包含操作和错误数组的对象,以及日志文件名

发送消息示例

$token = "000000000:XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX"; // токен Телеграм бота
$chat_id = 000000000; // ID чата получателя
$telegram->setMethod('sendMessage');

$telegram->setToken($token);
$telegram->setChatID($chat_id);
if (!$answer = $telegram->sendToTelegram($message)) Base::dump($telegram->getLogs());
else Base::dump($answer);

或使用默认参数发送消息

$message = "Hi!";

if (!$answer = $telegram->sendToTelegram($message)) Base::dump($telegram->getLogs());
else Base::dump($answer);

发送照片示例

$token = "000000000:XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX"; // токен Телеграм бота
$chat_id = 000000000; // ID чата получателя
$reply_message_id = 0000; // ID сообщения на которое даём ответ, по умолчанию - 0;
$caption = "It's my photo!";
$path_to_photo = "/home/images/my.jpeg";

$telegram->setDebug(true);
$telegram->setToken($token);
$telegram->setChatID($chat_id);
$telegram->setMethod('sendPhoto');
if (!$answer = $telegram->sendToTelegram($caption, $path_to_photo, $reply_message_id)) Base::dump($telegram->getLogs());
else Base::dump($answer);

发送文档给用户

$chat_id = 111111111; // ID чата получателя
$caption = "It's my photo!";
$path_to_photo = "/home/images/my.jpeg";

$telegram->setMethod('sendPhoto');
if (!$answer = $telegram->sendToTelegram($caption, $path_to_photo, 0, $chat_id)) Base::dump($telegram->getLogs());
else Base::dump($answer);

或使用默认参数发送照片

$caption = "It's my photo!";
$path_to_photo = "/home/images/my.jpeg";

$telegram->setMethod('sendPhoto');
if (!$answer = $telegram->sendToTelegram($caption, $path_to_photo)) Base::dump($telegram->getLogs());
else Base::dump($answer);