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"' >> ~/.bashrc

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.

Uninstall

sudo pip3 uninstall telegram-send
sudo rm /etc/telegram-send.conf

Or if you installed it for a single user:

pip3 uninstall telegram-send
rm ~/.config/telegram-send.conf

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.4.2.tar.gz (5.4 kB view details)

Uploaded Source

Built Distribution

If you're not sure about the file name format, learn more about wheel file names.

telegram_send-0.4.2-py3-none-any.whl (8.4 kB view details)

Uploaded Python 3

File details

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

File metadata

  • Download URL: telegram-send-0.4.2.tar.gz
  • Upload date:
  • Size: 5.4 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No

File hashes

Hashes for telegram-send-0.4.2.tar.gz
Algorithm Hash digest
SHA256 6296158e2d00dfb381788f1b2194947102eea1f46dede0f1adf880412da3e89a
MD5 ef9ceb24d319108dd61e869e3bc54b5c
BLAKE2b-256 e74ca1ca404511a1565432bdc3c19a703abc70feb192f660bfceef1957a0071d

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for telegram_send-0.4.2-py3-none-any.whl
Algorithm Hash digest
SHA256 9309971e24d6571b5ee173943ea5e248ec114533abf94fd370f1c578df986abf
MD5 2cb870af61907e1361add955f0ca5e4d
BLAKE2b-256 df314676d6604b04079d0447fb0f0cec7ab96529f397f3b80b6ba853574858a1

See more details on using hashes here.

Supported by

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