Skip to main content

Send messages and files over Telegram from the command-line.

Project description

telegram-send

License

Telegram-send is a command-line tool to send messages and files over Telegram to your account or to a channel. It provides a simple interface that can be easily called from other programs.

Table of Contents

Usage

To send a message:

telegram-send "hello, world"

To send a file:

telegram-send --file document.pdf

To send an image with an optional caption:

telegram-send --image photo.jpg --caption "The Moon at night"

Install

Install telegram-send system-wide with pip:

sudo pip3 install telegram-send

Or if you want to install it for a single user:

pip3 install telegram-send

If installed for a single user you need to add ~/.local/bin to their path:

echo 'PATH="$HOME/.local/bin:$PATH"' >> ~/.profile

(This will be in effect on the next login, do a . ~/.profile for the impatient.)

And finally configure it with telegram-send --configure if you want to send to your account, or with telegram-send --configure-channel to send to a channel.

Use the --config option to use multiple configurations. For example to set up sending to a channel in a non-default configuration: telegram-send --config channel.conf --configure-channel. Then always specify the config file to use it: telegram-send --config channel.conf "hello".

Examples

Here are some examples to get a taste of what is possible with telegram-send.

alert on completion of shell commands

Receive an alert when long-running commands finish with the tg alias, based on Ubuntu’s built-in alert. Put the following in your ~/.bashrc:

alias tg='telegram-send "$([ $? = 0 ] && echo "" || echo "error: ") $(history|tail -n1|sed -e '\''s/^\s*[0-9]\+\s*//;s/[;&|]\s*tg$//'\'')"'

And then use it like sleep 10: tg.

periodic messages with cron

We can combine telegram-send with cron to periodically send messages. Here we will set up a cron job to send the Astronomy Picture of the Day to the astropod channel.

Create a bot by talking to the BotFather, create a public channel and add your bot as administrator to the channel. You will need to explicitly search for your bot’s username when adding it. Then run telegram-send --configure-channel --config astropod.conf. We will use the apod.py script that gets the daily picture and calls telegram-send to post it to the channel.

We create a cron job /etc/cron.d/astropod with the content:

SHELL=/bin/sh
PATH=/usr/local/sbin:/usr/local/bin:/sbin:/bin:/usr/sbin:/usr/bin

# m h dom mon dow user  command
0 1 * * * telegram ~/apod.py --config ~/astropod.conf

Make sure the file ends with a newline. Cron will then execute the script every day at 1:00 as the user telegram. Join the astropod channel to see the result.

supervisor process state notifications

Supervisor controls and monitors processes. It can start processes at boot, restart them if they fail and also report on their status. Supervisor-alert is a simple plugin for supervisor that sends messages on process state updates to an arbitrary program. Using it with telegram-send (by using the --telegram option), you can receive notifications whenever one of your processes exits.

Uninstall

sudo telegram-send --clean
sudo pip3 uninstall telegram-send

Or if you installed it for a single user:

telegram-send --clean
pip3 uninstall telegram-send

Project details


Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

telegram-send-0.6.tar.gz (6.5 kB view details)

Uploaded Source

Built Distributions

telegram_send-0.6-py3-none-any.whl (9.8 kB view details)

Uploaded Python 3

telegram_send-0.6-py2.py3-none-any.whl (9.8 kB view details)

Uploaded Python 2 Python 3

File details

Details for the file telegram-send-0.6.tar.gz.

File metadata

File hashes

Hashes for telegram-send-0.6.tar.gz
Algorithm Hash digest
SHA256 2d36297647982e6250a8a7d7e835e56fd80fafe29389614ee0d5554a426f9462
MD5 598168087b20f2c76c4e35cee2c21cb3
BLAKE2b-256 980f5f4c9c016cfa52074b875878996c26365fde8bce1e49a7c2d1bca3773145

See more details on using hashes here.

File details

Details for the file telegram_send-0.6-py3-none-any.whl.

File metadata

File hashes

Hashes for telegram_send-0.6-py3-none-any.whl
Algorithm Hash digest
SHA256 82c291f118335f287a9737da0c06cffcfcf00ee00b40450c9d35085fab79f57f
MD5 422e43a510d6c9ea813d9b611f1069d2
BLAKE2b-256 1c1007ab01bd67c1c35064fddf8d84bbb080e337c7eb0cc0102cccc2dcc9de1e

See more details on using hashes here.

File details

Details for the file telegram_send-0.6-py2.py3-none-any.whl.

File metadata

File hashes

Hashes for telegram_send-0.6-py2.py3-none-any.whl
Algorithm Hash digest
SHA256 337d8e64b3172dd8b75541b14d603a068c8f9e38dc53cc299ffdaa4d65702ce6
MD5 ac7d6ec7ff9c8171463bdf869c2d41d8
BLAKE2b-256 173182fa44528ce8274dd24b8e45be974f7a7dfe1f8ebad3679ef327a75605e8

See more details on using hashes here.

Supported by

AWS AWS Cloud computing and Security Sponsor Datadog Datadog Monitoring Fastly Fastly CDN Google Google Download Analytics Microsoft Microsoft PSF Sponsor Pingdom Pingdom Monitoring Sentry Sentry Error logging StatusPage StatusPage Status page