Telegram Bot as an Interface to Open edX platform
What is a Raccoon Telegram Bot for Open edX platform?
Bots are mainstream nowadays, as all main messengers (Skype, Viber, Telegram, Facebook messenger, etc.) either have the bots already, or consider adding this functionality in the nearest future. We chose to work with Telegram bot SDK, as it was the most polished and functional software at the moment. Aside from simply creating a bot for Telegram (which was of little use to us, for obvious reasons), this SDK provides the following features:
Ability to write commands for your bot in such form – /message/
Ability to create custom keyboards (greatly improving UX)
However, once the Hackathon was over and we tried to implement the developed code, we came to a conclusion that one bot was not enough – we needed an army of bots! What for, you may ask?
Our bot works directly with edX API, thus greatly increasing its possibilities.
Students of Raccoon University can connect their Telegram accounts to their Open edX accounts, thus enabling bot functionality (for example, they can receive news from their edX courses admins with push-messages, delivered via Telegram bot)
If the student is not logged into their edX account and simply logs into their Telegram account, they still can interact with the bot – at least for getting the list of the currently available free Open edX courses
How is it possible? During the first launch our edX bot connects to Open edX and makes a list of all courses available, by building the vector matrix based on their descriptions. The bot takes all the words from the descriptions, cuts off all suffixes and endings to get only the sensitive roots. Then it makes a list, where the most often rated words are the ones that are met only once or twice throughout all descriptions – namely, the keywords for each description. These form the longest vectors and all the variety of vectors forms the sphere of interests.
When the bot is first contacted by a student, he asks a student about their preferences by choosing 5 random vectors in such an order that these vectors divide the sphere into equal sectors. The user then chooses the most appropriate vector and with the next questions we build their matrix of interests around that vector. This, in turn, is reached by analyzing the student’s answers – if the student likes the bot’s choice and approves it, the keywords close to this vector gain importance and their vectors become longer.
The same works vice versa, so once you refuse to take a biology course, for example, you will never ever receive notifications about new biology courses. Instead, if you chose to enroll for computer science courses, for example, all the following course suggestions will come from this sphere. This way the preference matrix is built, the bot is self-educated and becomes able to offer more and more sophisticated and relevant choices, so around 80% of new course suggestions will be interesting for the student.
The other uses are the possibility to enroll for a course directly from the bot dialogue and the ability to receive new push-notifications from the courses you have enrolled to.
Where Does Raccoon Unibot Fit?
All education options can be divided into purely offline learning, purely online learning and blended learning, where some part of material is learned online and some part (i.e., tests) should be completed offline, in the classroom. Open edX falls on the sector of purely online learning and is majorly divided into full-time courses, lasting 4 to 6 weeks, where some lectures are coupled with homeworks, practical tasks and exams; and micro courses, that can be even several hours long. Such courses allow students to learn exactly what they need and save time on learning all the topics they do not require.
The rest of our bots fit between the full-time and micro courses. They allow accomplishing the following tasks:
Providing preview of the course content, if the student is enrolled to the course and linked to our bot on Telegram. The student must request the preview, as the bot cannot start the conversation on its own. Such previews help the students estimate if they want to complete the course.
Completing certain course parts via the bot, not via Open edX API (yes, you can complete the tests and homeworks via the bot)
And you can go even further…
Interested to know more? Keep an eye out for our next article on Telegram bot for Open edX configuration, where we will tell you how to setup this bot and get it into your courses!