Skip to content

'Ενα μποτάκι φτιαγμένο για το Discord server των μαθημάτων "progintro" και "progtech"

License

Notifications You must be signed in to change notification settings

OpenNTUA/boNTUA

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

20 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

boNTUA - Με ❤️ για το ΕΜΠ

Πως δουλεύει το μποτάκι

/quiz subject:[progintro | progtech] id:[id]

Δημιουργεί ένα interactive τεστ/κουίζ διαρκείας 20 λεπτών από τα παλεότερα θέματα πολλαπλής επιλογής εξετάσεων, μην διαλέξετε το id άμα θέλετε το interactive quiz, αφήστε κενό, αλλιώς διαλέξτε το id άμα σας ενδιαφέρει να δείξετε κάποια πολλαπλής για σχόλιο.

  • Παράδειγμα χωρίς id /quiz subject:progintro:

gif demonstrating quiz command use gif demonstrating quiz command results menu

  • Παράδειγμα με id /quiz subject:progintro id:2:

gif demonstrating quiz command with id

/exercise subject:[progintro | progtech] problem?:[problemId]

Δίνει εκφωνήσεις των ασκήσεων του Grader, το problem έχει autocomplete και παίρνει συγκεκριμένες τιμές, άμα θέλετε να δείτε την λίστα όλων των ασκήσεων, μην επιλέξετε το problem. Το progtech επιλογή δίνει error γιατί δεν υπάρχουν ασκήσεις για αυτές ακόμα.

  • Παράδειγμα χωρίς problem /exercise subject:progintro:

exercise command demonstration without problem

  • Παράδειγμα με χρήση problem /exercise subject:progintro problem:sndlast:

exercise command demonstration with problem

/themata subject?:[subject]

Όλα τα παλιά θέματα εξετάσεων που υπάρχουν στο forum. Για να προσθέσετε περισσότερα θέματα, δείτε εδώ.

themata command demonstration

/info

Γενικές πληροφορίες για την σχολή που είναι καλό όλοι οι φοιτητές να ξέρουν.

Πως να τρέξετε το μποτάκι

Κλονήστε το repository

git clone https://github.com/OpenNTUA/boNTUA.git

Αλλάξτε το directory με cd boNTUA και μετά τρέξτε

npm install

Δημιουργήστε το αρχείο .env στο root folder η οποία είναι boNTUA και γράψτε

TOKEN=YOUR_TOKEN
CLIENT_ID=YOUR_CLIENT_ID

Για να αρχίσει το μποτάκι τρέξτε

npm start

Πως να προσθέσετε ερωτήματα πολλαπλής επιλογής

Μπείτε στο φάκελο ./boNTUA/src/data, εκεί θα δείτε δύο φακέλους progintro και progtech, και οι δύο μέσα περιέχουν αρχεία 'quizes.js' και exercises.js. Και τα δύο παίρνουν περιεχόμενα ίδιας φόρμας. Ανάλογα με το μάθημα διαλέξτε το αρχείο, είναι ένα Map object και κάθε φορά που θέλετε να προσθέσετε κάτι, κατεβείτε στο τέλος και κάντε Map.set(key, {...}). Όμως όταν γράφεται πρέπει να είναι όμορφα γραμμένα, θα χρειαστεί να χρησιμοποιήσετε Markdown.

Για το quizes.js η μορφή είναι:

map.set('', {
    questionId: number,
    question: string,
    answers: Array<string>,
    correctAnswerIndex: number,
    code: Array<string> | undefined,
    year: string, // '' κενό string άμα δεν έχει έτος
    imageURL: string | undefined,
});

Και πρέπει answers.length <= 5. Για παράδειγμα

map.set('9', {
	questionId: 9,
	question: 'Ποια είναι η έξοδος από την εκτέλεση του παρακάτω κώδικα C++;',
	answers: ['10',
		'11',
		'20',
		'21'],
	correctAnswerIndex: 2,
	code: ['```cpp\n#include <iostream>\nusing namespace std;\n\nint main() {\n\tint arr[] = {10, 11, 12, 13};\n\tint *p = (arr + 1);\n\tcout << *arr + 10;\n}\n```'],
	year: '2017',
	imageURL: undefined,
});

Για το exercises.js η μορφή είναι:

map.set('Key', {
	title: string,
	description: string,
	inputDescription: string | undefined,
	outputDescription: string | undefined,
	input: Array<string>| string | undefined,
	// This follows input, if there is input, there must be an output, if there is no input, there must be no output.
	output: Array<string>| string | undefined,
	url: string | undefined,
	constraints: string | undefined,
	difficulty: string | undefined,
	difficultyGrade: string | undefined,
});

Για παράδειγμα

map.set('count7', {
	title: 'count7',
	description: 'Να γράψετε ένα πρόγραμμα που να δέχεται ένα διψήφιο φυσικό αριθμό και να βρίσκει πόσα από τα ψηφία του είναι ίσα με 7.',
	inputDescription: 'Μόνο μία γραμμή που θα περιέχει το διψήφιο φυσικό αριθμό.',
	outputDescription: 'Μόνο μία γραμμή που θα περιέχει ακριβώς ένα φυσικό αριθμό μεταξύ 0 και 2 (συμπεριλαμβανομένων).',
	input: ['17', '42', '77'],
	output: ['1', '0', '2'],
	url: 'http://grader.softlab.ntua.gr/?page=problem&id=72',
	constraints: '⏱️: 1s 💻: 16MB',
	difficulty: 'Εύκολο',
	difficultyGrade: '1',
});

About

'Ενα μποτάκι φτιαγμένο για το Discord server των μαθημάτων "progintro" και "progtech"

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published