Wallogit.com
2017 © Pedro Peláez
wrapper to telegram-cli
Follow the instructions for your operating system., (*1)
You need to start the telegram-cli the first time manually in order to register the phone number., (*2)
./bin/telegram-cli, (*3)
After that, start telegram-cli as a daemon from the root of the tg repo., (*4)
./bin/telegram-cli --json -dWS /tmp/tg.sck &, (*5)
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, (*6)
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., (*7)
Once installed vysheng/tg clone this project with:, (*8)
git clone https://github.com/jlaso/telegram-cli-wrapper.git, (*9)
Run composer install inside the folder repo in order to create autoload files., (*10)
Take a look on test folder to see how easy is to use the wrapper., (*11)
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), (*12)
All the examples in the test folder use this Helper., (*13)
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., (*14)
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., (*15)
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., (*16)
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., (*17)
Any pull request or issue with improvement proposal are welcome., (*18)