nikserg / telegram-bot-api
Telegram Bot API的PHP包装器。新增对poll_answer的支持
Requires
- php: >=5.5.0
- ext-curl: *
Requires (Dev)
- 3.0.0.x-dev
- v2.3.19
- v2.3.18
- v2.3.17
- v2.3.16
- 2.3.15
- v2.3.14
- v2.3.13
- v2.3.12
- v2.3.11
- v2.3.10
- v2.3.9
- v2.3.8
- v2.3.7
- v2.3.6
- v2.3.5
- v2.3.4
- v2.3.3
- v2.3.2
- v2.3.1
- v2.3.0
- 2.2.10
- 2.2.9
- 2.2.8
- 2.2.7
- 2.2.6
- 2.2.5
- v2.2.4
- v2.2.3
- v2.2.2
- v2.2.1
- v2.2.0
- v2.1.0
- 2.0.0
- v1.2.3
- v1.2.2
- v1.2.1
- v1.2.0
- v1.1.0
- dev-master / 1.0.x-dev
- v1.0.0
- dev-master_pullrequest
This package is auto-updated.
Last update: 2024-09-04 21:34:02 UTC
README
一个扩展的原生php包装器,无需额外要求即可用于Telegram Bot API。支持所有方法和响应类型。
分支说明
原始包不支持poll_answer
消息。已添加此支持。
机器人:开发者简介
机器人是专为自动处理消息而设计的特殊Telegram账户。用户可以通过在私聊或群聊中发送命令消息与机器人互动。
您可以通过HTTPS请求到机器人API来控制您的机器人。
机器人API是一个基于HTTP的接口,专为对构建Telegram机器人感兴趣的开发者创建。有关创建和设置机器人的方法,请参阅机器人简介和机器人常见问题解答。
安装
通过Composer
$ composer require telegram-bot/api
用法
请参阅示例DevAnswerBot(俄语)。
API包装器
发送消息
$bot = new \TelegramBot\Api\BotApi('YOUR_BOT_API_TOKEN'); $bot->sendMessage($chatId, $messageText);
发送文档
$bot = new \TelegramBot\Api\BotApi('YOUR_BOT_API_TOKEN'); $document = new \CURLFile('document.txt'); $bot->sendDocument($chatId, $document);
发送带回复键盘的消息
$bot = new \TelegramBot\Api\BotApi('YOUR_BOT_API_TOKEN'); $keyboard = new \TelegramBot\Api\Types\ReplyKeyboardMarkup(array(array("one", "two", "three")), true); // true for one-time keyboard $bot->sendMessage($chatId, $messageText, null, false, null, $keyboard);
发送带内联键盘的消息
$bot = new \TelegramBot\Api\BotApi('YOUR_BOT_API_TOKEN'); $keyboard = new \TelegramBot\Api\Types\Inline\InlineKeyboardMarkup( [ [ ['text' => 'link', 'url' => 'https://core.telegram.org'] ] ] ); $bot->sendMessage($chatId, $messageText, null, false, null, $keyboard);
发送媒体组
$bot = new \TelegramBot\Api\BotApi('YOUR_BOT_API_TOKEN'); $media = new \TelegramBot\Api\Types\InputMedia\ArrayOfInputMedia(); $media->addItem(new TelegramBot\Api\Types\InputMedia\InputMediaPhoto('https://avatars3.githubusercontent.com/u/9335727')); $media->addItem(new TelegramBot\Api\Types\InputMedia\InputMediaPhoto('https://avatars3.githubusercontent.com/u/9335727')); // Same for video // $media->addItem(new TelegramBot\Api\Types\InputMedia\InputMediaVideo('http://clips.vorwaerts-gmbh.de/VfE_html5.mp4')); $bot->sendMediaGroup($chatId, $media);
客户端
require_once "vendor/autoload.php"; try { $bot = new \TelegramBot\Api\Client('YOUR_BOT_API_TOKEN'); // or initialize with botan.io tracker api key // $bot = new \TelegramBot\Api\Client('YOUR_BOT_API_TOKEN', 'YOUR_BOTAN_TRACKER_API_KEY'); $bot->command('ping', function ($message) use ($bot) { $bot->sendMessage($message->getChat()->getId(), 'pong!'); }); $bot->run(); } catch (\TelegramBot\Api\Exception $e) { $e->getMessage(); }
Botan SDK(不再支持)
Botan是基于Yandex.Appmetrica的Telegram机器人分析系统。在此文档中,您可以找到如何设置Yandex.Appmetrica账户以及Botan SDK的使用示例。
创建账户
- 在http://appmetrica.yandex.com/注册
- 注册后,您将被提示创建应用程序。请使用@YourBotName作为名称。
- 从设置页面保存API密钥,您将使用它作为Botan API调用的令牌。
- 下载您语言的库,并按以下说明使用。不要忘记插入您的令牌!
由于我们刚开始,您可能会发现一些现有的AppMetriсa报告在Telegram机器人中不能正常工作,例如地理、性别、年龄、库、设备、流量来源和网络部分。我们将在以后进行完善。
SDK使用
独立
$tracker = new \TelegramBot\Api\Botan('YOUR_BOTAN_TRACKER_API_KEY'); $tracker->track($message, $eventName);
API包装器
$bot = new \TelegramBot\Api\BotApi('YOUR_BOT_API_TOKEN', 'YOUR_BOTAN_TRACKER_API_KEY'); $bot->track($message, $eventName);
您可以使用getUpdates()
方法,所有传入的消息都将自动跟踪为Message
事件
客户端
$bot = new \TelegramBot\Api\Client('YOUR_BOT_API_TOKEN', 'YOUR_BOTAN_TRACKER_API_KEY');
所有注册的命令将自动跟踪为命令名称
变更日志
请参阅CHANGELOG以获取有关最近更改的更多信息。
测试
$ composer test
贡献
请参阅CONTRIBUTING以获取详细信息。
安全
如果您发现任何安全问题,请通过mail@igusev.ru发送电子邮件,而不是使用问题跟踪器。
致谢
许可
MIT许可(MIT)。请参阅许可文件以获取更多信息。