概述
Telegram是一个流行的即时通讯平台,支持发送消息、照片、视频和各种文件类型。随着Telegram的普及,Telegram Bot API应运而生,允许开发者创建自动化的交互式机器人,为用户提供信息和服务。php-telegram-bot/core是一个基于Telegram Bot API的PHP框架,它为开发者提供了一个简单易用的平台来构建和部署自己的Telegram机器人。
功能特点
- 全面支持Telegram Bot API 7.1:该框架支持所有Telegram Bot API 7.1版本中定义的类型和方法。
- 插件化扩展:PHP Telegram Bot是一个纯PHP项目,可以通过插件进行扩展,使得功能可以轻松地进行定制和扩展。
- Webhook和getUpdates方法:支持通过Webhook和getUpdates两种方式来接收Telegram的更新。
- 数据库支持:推荐使用MySQL来存储消息、用户和聊天数据,以便在命令中进一步使用。
- 命令管理:支持预定义命令和自定义命令,以及命令配置,包括管理命令,如设置管理员和频道管理。
- 渠道支持:可以管理Telegram频道,并直接通过机器人的私聊界面进行操作。
- 文件上传和下载:提供了文件上传和下载的路径设置功能。
- 日志记录:支持日志记录功能,便于追踪和调试。
- 文档和示例:提供了详细的文档和示例机器人,帮助开发者快速上手。
使用
第一步:创建机器人
在该项目的介绍中,已有详细步骤,可点击查看 create-your-first-bot
第二步: 在项目中安装依赖
composer require longman/telegram-bot
第三步:选择更新方式
决定使用Webhook还是getUpdates方法来处理Telegram的更新
推荐使用 webhook
方式。
设置webhook
地址
<?php
// Load composer
require __DIR__ . '/vendor/autoload.php';
$bot_api_key = 'your:bot_api_key';
$bot_username = 'username_bot';
$hook_url = 'https://your-domain/path/to/hook.php';
try {
// Create Telegram API object
$telegram = new Longman\TelegramBot\Telegram($bot_api_key, $bot_username);
// Set webhook
$result = $telegram->setWebhook($hook_url);
if ($result->isOk()) {
echo $result->getDescription();
}
} catch (Longman\TelegramBot\Exception\TelegramException $e) {
// log telegram errors
// echo $e->getMessage();
}
自定义日志文件
public function __construct(private ContainerInterface $container, LoggerFactory $loggerFactory)
{
\Longman\TelegramBot\TelegramLog::initialize(
// Main logger that handles all 'debug' and 'error' logs.
$loggerFactory->get('telegram_bot_main', 'telegram'),
// Updates logger for raw updates.
$loggerFactory->get('telegram_bot_updates', 'telegram')
);
}
编写逻辑
根据需要编写业务逻辑,处理消息和事件
参考示例 php-telegram-bot/example-bot
文章来源:
鸿辰
版权声明:本网站可能会转载或引用其他来源的文章、图片、数据等信息。对于这些转载内容,版权归原作者所有。本站尊重原作者的劳动成果,并在可能的情况下注明来源和作者。如有任何版权问题,请及时联系,收到后将第一时间处理。