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.
- Create a Telegram Bot with the help of @BotFather and take note of the bot token.
- 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. Important: Telegram Bots are shy, so you have to send the first message in a chat with them.
- Install tgsend with pip:
sudo pip3 install tgsend
- 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
- Test it:
tgsend "Hello World"
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"
Send a video:
tgsend --video video.mp4 "Video caption"
Send a sticker:
tgsend --sticker sticker.webp
Read from stdin:
cat greeting.txt | tgsend -
Type tgsend --help
to see all options.
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
)
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.
You can place a per-user configuration file at ~/tgsend.conf
and a global configuration file at /etc/tgsend.conf
.
If no environment variables are specified, tgsend will look for the required values in these files in the given order.
The format of this configuration file should look like this:
[Default]
BotToken = your_bot_token
ChatID = your_chat_id
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.
This software is pusblished under BSD-3-Clause license.