alexeevdv/telegram-cli-client
Composer 安装命令:
composer require alexeevdv/telegram-cli-client
包简介
php-client for telegram-cli
README 文档
README
###Update 2015-12-23:
As i currently have no time to work on this project anymore and telegram released its own bot-api, there won't be many new updates to this project in the future. I will try to go through all currently open issues so there is nothing left in the issue section anymore (even if i need to close some things with wontfix).
If someone wants to takeover this project i am willing to give him push-rights or link to his fork on github/packagist.
If you want to port your project to the new bot-api take a look at the unofficial php-sdk.
zyberspace/telegram-cli-client
php-client for telegram-cli
Requirements
- a running telegram-cli listening on a unix-socket (
-S) or a port (-P) and returning all answers as JSON (--json).
Needs to be configured already (phone-number, etc.). - php >= 5.3.0
Usage
###Setup telegram-cli
telegram-cli needs to run on a unix-socket (-S) or a port (-P), so telegram-cli-client can connect to it. All answers need to be returned as JSON (--json).
You should also start it with -W so the contact-list gets loaded on startup.
For this example we will take the following command (execute it from the dir, where you installed telegram-cli, not the php-client), -d lets it run as daemon.:
./bin/telegram-cli --json -dWS /tmp/tg.sck &
If you run the telegram-cli under another user than your php-script and you are using linux, you need to change the rights of the socket so that the php-script can access it (thanks to dennydai for this!).
For example, add both to a telegram-group and then do
chown :telegram /tmp/tg.sck chmod g+rwx /tmp/tg.sck
If you never started telegram-cli before, you need to start it first in normal mode, so you can type in your telegram-phone-number and register it, if needed (./bin/telegram-cli).
To stop the daemon use killall telegram-cli or kill -TERM [telegram-pid].
###Install telegram-cli-client with composer In your project-root:
composer require --update-no-dev zyberspace/telegram-cli-client
Composer will then automatically add the package to your project requirements and install it (also creates the composer.json if you don't have one already).
If you want to use the discovery-shell, remove the --update-no-dev from the command.
###Use it
require('vendor/autoload.php'); $telegram = new \Zyberspace\Telegram\Cli\Client('unix:///tmp/tg.sck'); $contactList = $telegram->getContactList(); $telegram->msg($contactList[0]->print_name, 'Hey man, what\'s up? :D');
###Use it with the discovery-shell
A really easy way to learn the api is by using the embedded discover-shell. You need to install the dev-dependencies for this (composer update --dev).
$ ./discovery-shell.php -- discovery-shell to help discover a class or library -- Use TAB for autocompletion and your arrow-keys to navigate through your method-history. Beware! This is not a full-featured php-shell. The input gets parsed with PHP-Parser to avoid the usage of eval(). > $telegram->getContactList(); array(13) { [...] } > $telegram->msg('my_contact', 'Hi, i am sending this from a php-client for telegram-cli.'); true
Documentation
To create the docs, just run phpdoc in the the project-root.
An online-version is available at phpdoc.zyberware.org/zyberspace/telegram-cli-client.
Supported Commands
You can execute every command with the exec()-method from the RawClient-class, but there are also several command-wrappers available (doc-link) that you should prefer to use (see the example.php).
If you prefer to only use your own command-wrappers instead, just extend the RawClient-class (takes care about the socket-connection and has some helper-methods).
In your command-wrappers or if you use exec() directly, please don't forget to escape the peers (contacts, chat-names, etc.) with escapePeer() and all string-arguments with escapeStringArgument() to avoid errors.
API-Stability
The api of the commands wrappers will definitely change in the future, for example getHistory() only returns the raw answer of the telegram-cli right now and is not really useful. Therefore you should not use this in production yet.
If you still want to use this in your project, make sure you stay at the same minor-version (~0.1.0 or 0.1.* for example).
License
This software is licensed under the Mozilla Public License v. 2.0. For more information, read the file LICENSE.
alexeevdv/telegram-cli-client 适用场景与选型建议
alexeevdv/telegram-cli-client 是一款 基于 PHP 开发的 Composer 扩展包,目前已累计 1.82k 次下载、GitHub Stars 达 0, 最近一次更新时间为 2017 年 03 月 19 日, 在 PHP 生态内属于活跃度较高的组件。
我们在过去多个企业项目中使用过 alexeevdv/telegram-cli-client 或与其功能相近的方案,如果你在选型或落地过程中遇到问题,例如 版本兼容、二次改造、私有化封装、与内部系统对接、生产 BUG 排查,欢迎联系我们协助评估。
基于 alexeevdv/telegram-cli-client 在你已有业务上做功能扩展、字段裁剪、UI 适配、与内部账号 / 权限 / 日志系统的深度对接。
线上偶发问题、内存泄漏、慢查询、并发异常等排查修复;针对高流量场景做缓存、队列、索引层面的调优。
承接完整的项目从需求 → 设计 → 开发 → 上线 → 长期运维;也可按月提供技术保姆服务。
统计信息
- 总下载量: 1.82k
- 月度下载量: 0
- 日度下载量: 0
- 收藏数: 0
- 点击次数: 8
- 依赖项目数: 1
- 推荐数: 0
其他信息
- 授权协议: MPL-2.0
- 更新时间: 2017-03-19