Ecosyste.ms: Awesome
An open API service indexing awesome lists of open source software.
https://github.com/0xb01u/cerberus
Discord bot simulating http://frontendv.infor.uva.es/. Includes test executions, with execution outputs and feedback.
https://github.com/0xb01u/cerberus
discord-bot discord-js
Last synced: 28 days ago
JSON representation
Discord bot simulating http://frontendv.infor.uva.es/. Includes test executions, with execution outputs and feedback.
- Host: GitHub
- URL: https://github.com/0xb01u/cerberus
- Owner: 0xb01u
- License: agpl-3.0
- Created: 2020-05-06T08:28:15.000Z (almost 5 years ago)
- Default Branch: main
- Last Pushed: 2024-08-21T12:19:37.000Z (6 months ago)
- Last Synced: 2024-11-12T07:23:27.306Z (3 months ago)
- Topics: discord-bot, discord-js
- Language: JavaScript
- Homepage:
- Size: 5.45 MB
- Stars: 1
- Watchers: 2
- Forks: 0
- Open Issues: 0
-
Metadata Files:
- Readme: README.md
- License: LICENSE
Awesome Lists containing this project
README
# Cerberus - Underworld's gatekeeper
Cerberus is a Discord bot simulating [UVa's Parallel Computing's Tablón](http://frontendv.infor.uva.es/), a remote-execution system for C programs.
This bot aims to:
- demonstrate the subject's leaderboard and Discord server could be merged/unified; or at least demonstrate the subject's Discord server could be way more useful
- help some students who lack the necessary hardware to test their CUDA programs
- save quota on Tablón
- build a large and sufficient shared pool of tests
- make time comparisons between different students' programs possible (without launching to Tablón)For installation instructions, see [INSTALLATION.md](./INSTALLATION.md). For usage and command instructions, see [INSTRUCTIONS.md](./INSTRUCTIONS.md).
## How does it work?
Once the bot joins a Discord server, it uses specific channels as request queues. All the .tgz files containing a Makefile sent to these channels will be downloaded, compiled and test against a predefinded set of executions. The bot will reply with important information about the output, such as failed executions, failed tests and execution times.
Tests can be added and removed to the pool using commands.
Executing the programs with custom arguments, instead of against the tests, is also allowed, by providing the arguments in the Discord message properly.
## Security warning
This software doesn't provide any security measure against the programs sent to be executed, as it is only a proof of concept. Malicious software could be easily sent to try to harm the system executing the bot. **This software should be used with extreme caution and only on Discord servers you fully trust.**
## "Legal" stuff
This software does not support plagiarism in any form.
As a way of avoiding plagiarism, the bot will instantly delete any message sent to the request channel after downloading any .tgz file attached to it (if it's not busy executing earlier tests). The downloaded file will also be deleted as soon as it is compiled.
Individual users are responsible for their usage of this bot and any of its functionalities.
## Support me
I have spent countless hours working on Cerberus and Hermes, and I didn't get anything in return, but the promise that my name would appear on a paper. These (Cerberus and Hermes) have been personal projects I've developed at will, on my free time, as an undergraduate student, and I have **not** received any credits (ECTSs) nor financial income for working on them.
The amount of effort put into these projects has been enormous. And, for that, I'd be grateful to receive donations.
If you find Cerberus (or Hermes) useful in any way, if you think they have helped to make better computer science or programming courses, I would really appreciate if you supported me through my [**Ko-fi**](https://ko-fi.com/0xb01u). It can just be a one-time donation. Any amount, as small as it might be, will be of help. Obviously, you don't need to donate if you can't or don't want to, but I will really appreciate it if you do <3.