Skip to main content
Donate to the Python Software Foundation or Purchase a PyCharm License to Benefit the PSF! Donate Now

Send messages to Telegram chats from Python and the command line

Project description

tgsend - Telegram Messaging Tool

PyPI GitHub

tgsend is a little Python module to send messages, photos and documents to Telegram chats via a Telegram bot. tgsend can be used either as a command line tool or as a module for Python 3.

Quick Start (Command Line)

  1. Create a Telegram Bot with the help of @BotFather and take note of the bot token.
  2. Start a new chat with your bot or add it to a group where the messages should be sent to. Find out your personal chat ID or the chat ID of the group chat, e.g. by using @Echo_ID_Bot.
  3. Install tgsend with pip:
sudo pip3 install tgsend
  1. Quickly configure tgsend with environment variables (see Configuration for other options). In bash:
TGSEND_TOKEN=abcdefg # your bot token
TGSEND_CHATID=1234567 # the chat ID of the private/ group chat
  1. Test it:
tgsend "Hello World"

Usage

In Python

Example:

from tgsend import Telegram, ParseMode
# token and chat ID will be searched in config files if not specified here
telegram = Telegram("your-bot-token", "your-chat-id")
# send a text message
telegram.send_message("This is a text with *bold* and _italic_ words.", title="The Title",
                        parse_mode=ParseMode.MARKDOWN)

From Command Line

Send a text message with formatting:

tgsend --format markdown "This is a text with *bold* and _italic_ words."

Add a title and an icon:

tgsend -t "Title" --icon $'\u2705' "Some text."

Send a picture:

tgsend --photo image.png "Image description."

Send a file:

tgsend --doc log.txt "Log file"

Read from stdin:

cat greeting.txt | tgsend -

Type tgsend --help to see all options.

Configuration

A configuration for tgsend always consists of a bot token and a chat ID. These values can be either set through environment variables (as shown above) or through a configuration file.

Global configuration

You can place a global configuration file at /etc/tgsend.conf. If no environment variables are specified, tgsend will look for the required values in this file. The format of this configuration file should look like this:

[Default]
BotToken = your_bot_token
ChatID = your_chat_id

More configuration options

You can add additional bot token/ chat ID profiles by adding a config section to the configuration file, e.g.:

[AltConfig]
BotToken = different_bot_token
ChatID = another_chat_id

You can then simply switch to this configuration with the -c option:

tgsend -c AltConfig "Hello World"

It is also possible to specify a different location for the configuration file by using the -l option. E.g.:

tgsend -l ~/tgsend/botconfig.conf "Some text"

tgsend will now look for the [Default] section in the given configuration file.

License

This software is pusblished under BSD-3-Clause license.

Project details


Download files

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

Filename, size & hash SHA256 hash help File type Python version Upload date
tgsend-0.2.tar.gz (5.5 kB) Copy SHA256 hash SHA256 Source None

Supported by

Elastic Elastic Search Pingdom Pingdom Monitoring Google Google BigQuery Sentry Sentry Error logging AWS AWS Cloud computing DataDog DataDog Monitoring Fastly Fastly CDN SignalFx SignalFx Supporter DigiCert DigiCert EV certificate StatusPage StatusPage Status page