PHP Classes

File: README.md

Recommend this page to a friend!
  Classes of Joseluis Laso   PHP Telegram CLI Wrapper   README.md   Download  
File: README.md
Role: Auxiliary data
Content type: text/markdown
Description: Auxiliary data
Class: PHP Telegram CLI Wrapper
Send messages and other commands to Telegram users
Author: By
Last change: fixing typo and improving readme
CLI helper checks now if cli is already running
First self-testing development
added Models and Helper
Date: 8 years ago
Size: 2,976 bytes
 

Contents

Class file image Download

A wrapper for Telegram-CLI

Dependencies

Follow the instructions for your operating system.

You need to start the telegram-cli the first time manually in order to register the phone number.

./bin/telegram-cli

After that, start telegram-cli as a daemon from the root of the tg repo.

./bin/telegram-cli --json -dWS /tmp/tg.sck &

You can try to use that one to install telegram-cli as a daemon in your server (I was unable to do) https://github.com/vysheng/tg/wiki/Running-Telegram-CLI-as-Daemon

Notes

Basically you have to create a group telegram and add users www-data (or apache), root (or the user you use to access through ssh) and telegramd. give permissions to /tmp/tg.sck to that group (telegram) You can start telegram-cli manually following the above order or just let the script to start it.

Install

Once installed vysheng/tg clone this project with:


Run ```composer install``` inside the folder repo in order to create autoload files.

##Examples
Take a look on test folder to see how easy is to use the wrapper.

If you don't want to have started telegram-cli you can use TelegramCliHelper in order to start it automatically each time
is needed. To do that you need to create a config.ini in the config folder (you have config.ini.dis as a template)

All the examples in the test folder use this Helper.

##Why TelegramCliHelper and Why to use it ?

The better way to use telegram-cli IMHO is to have started always the telegram-cli as a daemon. But maybe you want to
test something or only start it when you really need it. Becase you use a lazy cron that checks for chats once per hour or
something like that. In a real environment I would prefer to have started telegram-cli and a php script checking in loop
all chats in order to serve to users in real time.

##Last thoughts
In order that you know how to use the automated system to accept "orders" from the users or notify them by Telegram
I have prepared a little web application that you can find in /public folder.
Remember that some "orders" need defailed configuration in /config/config.ini,  openweathermap is one of them. You can
create a free account. The weather is cached in order that don't exceed the number of free calls.

Obviously all of this is only a big example, a proof of concept if you want. 
You have to create the services that your web need and provide access to your users in the way you consider the better.

In order to simplify at maximum the examples I have created a simpleStorage system for users that come to the web, on the
/data/user folder the users are serialized and labeled with the phone number. In your definitive system you have to connect
your real users with the phone number, probably with a mysql table or something like that.

Any pull request or issue with improvement proposal are welcome.