TeleSendTime is a Python module for Telegram message automation.
Use the package manager pip to install TeleSendTime.
pip install TeleSendTime
# or using Git
pip install git+https://gitlab.com/DarkSuniuM/TeleSendTime.git
# template.txt
# "$" prefixed words are variables
BTC Rate (USD): $rate
# app.py
import requests
from tele_sendtime import Automation
from tele_sendtime import load_template
automation = Automation('MY_BOT_TOKEN')
# chat_id => Chat ID or Channel Username (Note: You can use username only for channels)
# interval in seconds.
@automation.job(chat_id='@my_channel_username', template=load_template('template.txt'), interval=60)
def send_btc_rate_in_usd():
# Sample API Call
req = requests.get('https://api.coindesk.com/v1/bpi/currentprice/USD.json')
rate = req.json()['bpi']['USD']['rate_float']
# return type should be a list of strings or dictianories
# Use dict when there is a template
return [{'rate': rate}]
@automation.job(chat_id='@my_channel_username', interval=60)
def send_btc_rate_in_eur():
# Sample API Call
req = requests.get('https://api.coindesk.com/v1/bpi/currentprice/EUR.json')
rate = req.json()['bpi']['EUR']['rate_float']
# When using String, Template get's ignored!
return [f'BTC Price (EURO): {rate}']
# Run the automation bot.
automation.run()
- Add Documentation
- Improve Concurrency
- Add Logging
- Add support for other message types (photo, audio, document)
- Add Tests
Pull requests are welcome. For major changes, please open an issue first to discuss what you would like to change.