Raspored Bot

This documentation is not up to date with version 3.1.0 of Raspored Bot, so if you are using this version some instructions may be different, especially email configuration.

This project is opensource software under Apache 2.0 license, you are free to modify and use it however you wish, as long as you comply with the terms of license. Source code is available in this GitHub repository.

Raspored Bot is application which allows you to receive notifications of daily changes in the school timetable. There are multiple methods available to receive this notifications, currently supported ones are Discord platform and email. Application tracks changes on website of our school Tehnička škola Ruđera Boškovića but if your school uses similar design, only a few modifications in the code are needed to make it work with your school. Once you decide which method you would like to use to receive notifications, you can read how to configure desired method below.

Note that discord commands and web interface are written in Croatian language, so since application is not written with multi language support in mind, you will find translating it to English or any other language really painful. So it’s probably not worth doing it.

For any problems or suggestions feel free to contact us.


NOTE

If you are using old version 2.4.1 of Raspored Bot, we suggest you to transfer to the new version because old version is no longer supported and old Discord Bot is no longer online. However if you wish to host old version of Raspored Bot yourself, you can find its source code in this GitHub repository.


Discord Bot

One of the ways how you can receive notifications is by using our Discord bot. In order to start using it, you must first invite the bot into your Discord server. Once you have the bot in your server, you can start configuring it. Our bot currently does not support slash (/) commands, but only classic prefix commands. Default prefix is . (dot), but it can be changed on level of entire server, you can also set prefix per individual text channel. List of all available commands is below.

Click here to invite bot now.

Also if you are already member of the server with Raspored Bot in it, you can DM our bot and configure it to send notifications to you personally.

NOTE

Only users with administrative privileges on your server will be able to run configuration commands of the Raspored Bot. Also commands kanal and server are only available in servers and not in DM.

COMMANDS

.help

Command help prints the list of available commands. After you send this command bot will present you with interactive embed. At the bottom of embed, you will find dropdown menu using which you can choose command you want to read help for.

.server

Command server prints current server configuration.

.server prefix [prefix]

Command server prefix, allows you to choose bot prefix you want to use in your server. In example above you need to replace [prefix] with your new prefix. If you set prefix this way, it will be used as default prefix for entire server.

.server razred [razred]

Command server razred is used to set default school class for your server. If you set your class with this command, bot will use this class when you send .raspored command in channels with no class configured. To set your class replace [razred] with your class name. Class name must be defined in format number.letter without spaces.

.server kanali

Command server kanali will display configuration for each channel you added in your server.

.kanal dodaj

In order to configure raspored bot to send notifications to the discord channel, you must first add one of your channels into raspored bot database. You can do so by executing command above in chosen channel.

.kanal ukloni

If you want to remove channel from our database, run the command above. This command will purge all channel settings from our database.

.kanal razred [razred]

This command is used to choose which class you want to receive notifications for, execute it in the channel you are configuring. Just like with server razred command replace [razred] with your class name, but keep in mind that class name must be written in format number.letter without spaces.

.kanal sve [da/ne]

Using this command you can choose that you want to receive notification whenever table for new date is created on the website, even if all fields for your class are empty. Valid values for command argument are da to receive all notifications and ne to receive notifications only when they are relevant for configured class.

.kanal mute [da/ne]

This command allows you to prevent bot from sending notifications in specific channel without removing it from database. Type da if you want to mute channel and ne if you want to continue receiving notifications.

.kanal prefix [prefix]

You can use this command to set bot prefix for specific text channel. This way you can set different bot prefixes for different channels. I don’t know why would you want to do this, but you are allowed to.

.raspored [razred] [stranica]

Command raspored is main raspored bot command, it is used to view present and past timetable changes for specified school class. If you execute command without any arguments, bot will return you timetable change browser opened on last available change for default class. If you executed command in channel with class configured, bot will use configured as default, otherwise it will use default class configured for entire server. If you would like to browse some of your older changes, you can specify how many changes you wish to go backwards also as command argument. If default class is not configured in your server or you want to browse changes of some other class, you can specify class name as command argument in format number.letter without spaces. Note that if you are using both arguments, first argument must be class name, otherwise you will receive an error.

.edit

This command is useless in current version of Raspored Bot, in the future it will be used to access web interface for bot configuration, which still doesn’t exist.

@Raspored

If you forgot prefix you configured for entire server or specific channel you can always mention the bot, it will then print help message containing your current prefix.

SPECIAL DM COMMANDS

.dodaj

This command will add your DM channel (your user) into Raspored Bot database. You must do this before executing any other configuration commands, otherwise you will receive an error.

.ukloni

This command will remove your user from Raspored Bot database and purge your configuration.

.razred [razred]

Command razred is used to set default school class for your user. In command above replace [razred] with your class name in format number.letter, without spaces.

.sve [da/ne]

This is equivalent of command kanal sve in your DM channel, read description of command kanal sve for more information.

.mute [da/ne]

This command allows you to prevent bot from sending you new notifications without removing, your user from Raspored Bot database. Valid argument values are da to mute bot, and ne to continue receiving notifications.

.prefix [prefix]

Use this command to set custom bot prefix in you DM channel. Replace [prefix] with your custom prefix in exaple above.

.postavke

Prints your current configuration.

PRIVACY POLICY

By using this Discord bot you agree that bot stores following data about you:

  • Your server Discord ID
  • Discord ID of each channel you added using .kanal dodaj command
  • Discord ID of your user if you added it to Raspored Bot database by executing command .dodaj in DM
  • All values you configured using bot commands like: classes, prefixes, mute status and others

Email Bot

Raspored Bot also allows you to subscribe to email notifications. If you would like to receive timetable changes in your email mailbox, all you need to do is subscribe using our web interface. Interface address is https://raspored.brownbird.eu.

Web interface of Raspored Bot has drastically changed since the time of writing this post, and thus we removed following instructions to avoid confusion. Web interface is really simple to use so no instructions are actually needed. In the future we might write instructions for new interface.