Skip to content

Macket/paidagogos_bot

Repository files navigation

Paidagogos Bot

Paidagogos is a Telegram bot for remote learning. It is recommended to use it in conjunction with a Paidagogos Drawer, which provides the review interface for teachers.

There are two types of users: teachers and students. They can do the following things.

Teachers

  • create classrooms and add students to them
  • assign tasks in any format: text, photo, video, files or audio messages
  • review submissions (Paidagogos Drawer), rate and comment them

Students

  • get tasks from teachers
  • send submissions to teachers
  • get teachers reviews (Paidagogos Drawer) on their submissions as well as rates and comments

Getting Started

Paidagogos bot requires Python 3.7 and packages specified in requirements.txt.

You can install them with

pip install -r requirements.txt

Before you start Paidagogos it is necessary to create .env file:

touch .env

and fill in this file according to the example below:

DEBUG = True

BOT_TOKEN = XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX
ADMIN_ID = XXXXXXXXXXX

DATABASE_URL = postgres://XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX

DB_NAME = paidagogos_db
DB_USER = user
DB_PASSWORD = XXXXXXXXXXX
DB_HOST = localhost

PROXY = https://XXX.XXX.XXX.XXX:XXXX

DEBUG should be False in prod

BOT_TOKEN is the token got from BotFather

ADMIN_ID is the telegram id of the admin

DATABASE_URL is used to access the database in prod

DB_NAME, DB_USER, DB_PASSWORD and DB_HOST are used to access the database in dev

PROXY is used if Telegram is blocked in your country (also uncomment appropriate code in bot.py)

Then you can start Paidagogos bot with this command:

python app.py

Use case

Let's see how Karl Weierstrass could teach Sofya Kovalevskaya if they had this bot.

First of all, Karl should start the bot and create the classroom.

1

Then he invites Sofya.

2

And Sofya joins his classroom.

3

So Karl can see her in the students list now.

4

To create the new task for Sofya, Karl goes to Tasks, taps New task and sends the name of the task.

5

Then he sends the task itself.

6

And assigns it.

7

Let's return to Sofya and see that she got notified about the new task.

8

She can view it.

9

Send her solution in any format.

10

And submit for Karl's review.

11

Karl can see now that he has submissions for review in the appropriate classroom task list.

12

He has 1 submission for review and 0 reviewed submissions.

13

So Karl starts to review Sofya's solution.

14

If Paidagogos Bot is used in conjunction with a Paidagogos Drawer, Karl can tap Review and make notes for Sofya in WEB interface.

demo

As review is done Karl has the photo with his notes in the bot.

15

Then he writes comments for Sofya and rates her.

16

After that Sofya gets notified that her submission is reviewed and can see the result.

17

About

Telegram bot for remote learning

Topics

Resources

Stars

Watchers

Forks

Languages