No description
|
||
---|---|---|
.github/workflows | ||
.env.sample | ||
.gitignore | ||
compose.yml | ||
Dockerfile | ||
LICENSE | ||
main.py | ||
README.md | ||
requirements.txt |
Deadline reminder bot for M3104 group @ ITMO University
This bot is made for Telegram and is used to fetch deadlines and upcoming tests from a specific URL and send them to a specified Telegram groupchat as a reminder. The time remaining is also displayed and updated every minute. After 1 day, the message is deleted as it is expected that the new message is sent.
Before first run
Before running this script, please ensure the following links and bot data is relevant for you and modify it at the top of the main.py
file if needed:
# Modify the links and data below:
DEADLINES_URL = "https://m3104.nawinds.dev/api-deadlines" # URL of the json file with deadlines (see file description below)
ADD_DEADLINE_LINK = "https://m3104.nawinds.dev/deadlines-editing-instructions/" # URL of the webpage for adding a new deadline to the file (usually GitHub file editing page)
BOT_NAME = "Дединсайдер M3104"
BOT_USERNAME = "m3104_deadliner_bot" # username of the bot as it appears in Telegram
Also add the following environment variables:
# Environment variables that should be available:
TOKEN = os.getenv("TOKEN") # Bot token from t.me/botfather
MAIN_GROUP_ID = int(os.getenv("MAIN_GROUP_ID")) # ID of the group the bot is expected to send deadlines to
How to run
This is a very simple script that can be run as a cron job. Just configure the crontab to start main.py
every day at a specific time and it will fetch the deadlines and send them to the specified groupchat.