Helps you work with your server (or remote computer) via telegram bot emulating terminal operations (sh for Linux and cmd for Windows).
It is possible to work in the terminal from under any user in OS. You can configure access to several telegram users or only for You.
The program can run as a regular console program or run as a daemon/service.
Tested in Linux but You can try to use in other OS also. Developed with FreePascal. It depends on fp-telegram lib .
- Create bot https://core.telegram.org/bots/#3-how-do-i-create-a-bot . You must select longpolling method for getting updates.
- Create config ini file
tgshd.iniin app folder:
[API]
;; Specify Your token
Token=
;; Actual if telegram server is blocked in server/computer region
Endpoint=https://api.telegram.org/bot
;; Timeout for lognpolling requests while getting updates
Timeout=20
[Users]
;; Specify all admin users (Telegram UserID [Integer]). For example:
;;123456789=a
;; where 'a' character is means administrator, 'b' - banned
YOUR_User_ID=a
[Proxy]
;; If You can want to use HTTP proxy please use tgsynapsehttpclientbroker
Host=
Port=
Username=
Password=- Run as a console program or daemon/service.
You can define user access in configuration file tgshd.ini by adding string like user_id=a where user_id is telegram user id of administrator.
You can add more than one administrator.
If any simple telegram user sends any message, command etc to the bot then the bot will reply You cannot access to this bot!.
if You add a line user_id=b then user will banned and the bot will not respond anything
There are some ways to determine your user_id but You can simply send /myid to @HelloLazarusBot chat
Reads messages from the shell console.
Sometimes the program does not wait for a response immediately after execution in the console, and in this case, you can read the newly appeared messages by the /read command.
It is worked under Unix systems. You can send POSIX signal to terminal.
For example, /sig 9 where 9 is kill sig number or You can send commands /sigint, /sigkill, /sigquit and /sigterm.
If you want to add HTTP proxy support, then:
- add
laz_synapse.lpkdepending on the project - add
tgsynapsehttpclientbrokerto theusesblock - set the proxy data in the
INIfile. Note: The native FPHTTPClient does not yet have full HTTPS proxy support. So in the case of synapse HTTP client, to make the HTTPs proxy work in Linux (laz_synapse.lpk v40.1), comment out the line in the blcksock.pas source unit of the synapse library.// Port := IntToStr(ResolvePort(Port));