Check your school hours with telegram!
Switch branches/tags
Nothing to show
Clone or download
Fetching latest commit…
Cannot retrieve the latest commit at this time.
Permalink
Type Name Latest commit message Commit time
Failed to load latest commit information.
telegramschoolbot
.gitignore
.gitlab-ci.yml
.travis.yml
LICENSE
Makefile
README.md
requirements.txt
setup.py

README.md

TelegramSchoolBot MIT License Build Status

Interact with your school's website with Telegram!

This bot was created to simplify the interaction with my school's website by using Telegram.

It allows us to check the school hours for classes, teachers and classrooms and optionally receive notifications when new announcements are posted on their website.

Compatibility

This bot has only been tested on my school's website which is using the Yoomla CMS with the JSN Epic template.

The bot searches for and article on the left side of the screen which contains a link pointing to a page created with Orario Facile 8.

The path to the page created with Orario Facile must start with /web_orario or /weborario.

It is licensed under the MIT License, which basically allows you to do whatever you want with it as long as you preserve the copyright and license notices.

Required dependencies

This bot requires the following dependencies to work:

  • Make (apt: build-essential)
  • Python 3 (apt: python3)
  • PIP (apt: python3-pip)
  • Virtualenv (apt: python-virtualenv pip: virtualenv)
  • wkhtmltopdf (apt: wkhtmltopdf)
  • Xvfb (apt: xvfb)

You can easily install them with the following commands:

$ sudo apt install build-essential python3 python3-pip python-virtualenv wkhtmltopdf xvfb

Setup

All of the configurations are stored in config.json, to create it run:

$ make init

Edit config.json:

{
  "telegram_token": "BOT-API-KEY",
  "school_website": "URL-OF-YOUR-SCHOOL-WEBSITE",
  "owner": "@YOUR-TELEGRAM-USERNAME",
  "database_url": "THE_DATABASE_URL"
}

The parameters are:

  • telegram_token is the api key of your telegram bot, you can generate one here.
  • school_website is the url of the homepage of your school website.
  • owner is the username on telegram you wish to be contacted.
  • database_url is the database connection url (for example sqlite:///database.db for a sqlite database)

To create the database tables run:

$ make initdb

Running the bot

To start the bot run the following command:

$ make run

The first time it will take a few minutes to start because it has to build the virtualenv and install the dependencies.