Skip to content

Releases: stlucasgarcia/mob

v4.5.0

01 Dec 21:49
Compare
Choose a tag to compare

Release Notes for 12/01/2020

2020.12.01

After 2 months since the last update, this release brings a rewrite of MoodleAPI package and several improvements in the bot.

[ GENERAL ]
- Rewrite of MoodleAPI package.
- Started tests for MoodleAPI.
- Started music feature to play videos from YouTube platform.
- Implemented timeout for commands that needs user input.
- Improved moodle Cog performance by five times.
- Added new administrator commands.
- Changed output messages styles and added new formats.
- Added support for different educational institutions on Moodle API.
- Implemented urls shortener.
- Added prefix support to different severs.
- Added pre and post database functions to setup the bot.

[ COMMANDS ]
- Added support for Moodle on the profile command by using the Moodle's username.
- Added reputation for Discord profile in profile command.
- Separated assignments and classes on check command.
- Added a customized message when there is no scheduled events.
- Fixed bugs in reminder command.
- Added moodleUpdate to force the update of moodle_events table.
- Added reload with no parameters which reloads all cogs.
- Added loopTime to change the refresh rate of getData coroutine.
- Added prefix to change the server's prefix.
- Added register to add server's information into bot_servers table.
- Added loopChannel to select the channel for getData loop.
- Added moodleConfig to setup the server's institution Moodle.
- Added autoRole to select the default server's role.
- Added setCourseToken that creates a column in bot_servers to add the token for the respective class.
- Added group command, responsible to create and manage student's group.

[ MOODLEAPI ]
- Init: changed latest and stable version to 4.5.0.
- Reworked all backend structure, aiming improvements on performance.
- Added global functions importing to all __init__.py modules.
- Created base module that contains parent classes and responsible to manage the data.
- Created core module to interact data preprocessing and security.
- Created utils module for support functions and consult settings.
- Created exceptions.py that contains all types of exceptions.
- Created mdl.py which is the main class for Moodle purpose use.

[ BASE ]
- Created moodle.py which Mdl class inherits from.
- Created process.py that redirect the data for each available Moodle function.

[ CORE ]
- Calendar: added file for each Moodle function.
- Calendar: rewrite upcoming.py for clean and prepare the data for export.
- Calendar: created tools.py to store all support functions for calendar module.
- Course: rewrite professor.py improving the performance.
- Course: created simple_contents.py responsible to get personal assignments information.
- Export: created connect.py to create the database connection pool.
- Export: created database.py that return the query for each table.
- Export: created generic.py liable to create and export low amount of data.
- Export: created helper.py to verify and create the requested table if it doesn't exist.
- Profile: created get_profile.py to request and return user's Moodle profile.
- Security: rewrite cryptography.py improving the cryptography method and their safety.
- Security: rewrite token.py increasing the performance and security.

[ UTILS ]
- Created settings.py to store default information.
- Created support.py that contains support functions.
- Rewrite version.py changing the returning value.

[ TESTS ]
- Created directory for tests, which contains unit, integrations and acceptance tests.
- Created unit tests for calendar, export and utils modules.
- Created TESTS.md to describe the three methods of testing (PT/BR).

[ MISC ]
- Improved commenting on the entire codebase.
- Added new information in README.md file.
- Added new libraries to requirements.txt.
- Added files to .gitignore.


Music rework coming soon...

v3.0.0

12 Oct 23:52
Compare
Choose a tag to compare

Release Notes for 10/12/2020

2020.10.12

This big update brings major changes in storage system by migrating to a Database, new features to Moodle and General commands.

[ GENERAL ]
- Migrated all data used by the Bot to PostgreSQL Database.
- Added help, music, profile, reaction_role and reminder Cogs.
- Created profile system to store XP by sending messages and leveling up after X amout of messages.
- Created reaction role system which each user can get a role by reacting to the roles menu (needs to be set up by an administrator).
- Removed all paths from settings.
- Added help_message model in utilities to setup help messages.
- Modifyed data_dict in utilities_moodle to the new format of data in DB.
- Removed csvfiles directory.
- Created dist directory to storage the latest version of moodleapi package.

[ COMMANDS ]
- Added help that display all available commands with their respective descriptions.
- Added profile to get personal information about level, total XP and the amout of XP to reach the next level.
- Added avatar to show the user's avatar in chat.
- Added createroles responsible for creating roles menu (for staff only).
- Added reminder to create reminders about Moodle events or personal commitments.
- Added ping to obtain your ping in milliseconds.
- Added roll to pick up a random number between 0 and the number given.
- Added e&o to pick between even or odd.
- Increased Clear and Cipher performance.

[ CORE ]
- Init: changed the latest and stable version to 3.0.0.
- Request: changed exception for GET request.
- Security: changed functions in Cryptography to static methods.
- Settings: removed professor and ids dictionaries.
- Token: changed create function to static method.

[ DATA ]
- Init: added professor to __all__ modules.
- Calendar: changed _clean, _time, _check_time and _verify functions to static methods.
- Calendar: changed monthly adding new parameters and functions call.
- Calendar: created upcoming to get calendar events 3 times faster than monthly, including more information about the assignments.
- Calendar: created day to get calendar events by the given day.
- Course: changed filter function to static method.
- Course: simplified contents to get only information about files.
- Course: changed get_subjects name to get_subjects_name and simplified it.
- Course: created simple_contents to get information about the assignment.
- Course: created get_teacher to get the professor's name.
- Export: created to_db liable to export all data to Database and create the tables.
- Professor: created Professor module, responsible to get information about professors.
- Professor: created get static method, to get professor's name.

[ MISC ]
- Added new libraries to requirements.txt.
- Added files to .gitignore.
- Created MANIFEST.in to ignore files and directories.


Music feature coming soon...

v2.0.0

18 Sep 18:36
8a76a19
Compare
Choose a tag to compare

Release Notes for 9/18/2020

2020.9.18

Several changes on moodleapi following by new commands and functionalities

[ GENERAL ]
- Created Cogs to modularize commands.
- Added moodle, general, general2 and fun Cogs.
- Reduction of main functions to only loading Cogs.
- Created settings to storage all csv paths and allowed channels.
- Created utilities to setup Bot messages
- Created utilities_moodle to setup assignmentsdata dictionary.
- Added new information to csv files.
- Created encryption.key file for storage the encryption key.
- Changed Project version according to SemVer

[ COMMANDS ]
- Changed Bot prefix to mack .
- Added Get to get assignments from assignments.csv and send it embeded to the text chat.
- Added Check to check if the assignments were done.
- Added GetToken to create or access your MoodleAPI token decrypted.
- Added GetData background task to update all events every 12 hours.
- Added Chat_permission to allow or revoke the bot permission in that specific chat.
- Increased Clear performance.
- Added Print to print embed messages in chat.
- Added Cipher that prints Caesar's Cipher.

[ CORE ]
- Init: changed lastest and stable version to 2.0.0.
- Init: added security and token to __all__ packages.
- Request: added two new exceptions for HTTP protocols.
- Security: created Security package liable to encrypt, decrypt and generate encryption key.
- Settings: added two new functions to func dict: course_contents and course_subjects keys.
- Settings: added Discipline teacher, Discipline ID, Month names and Week Day names dictionaries.
- Token: created Token package responsable to create or get MoodleAPI Token.
- Version: added one more digit to version number and changed 2.0.0 to final version.

[ DATA ]
- Calendar: increased filter performance.
- Calendar: created _verify to verify and return assignments informations.
- Calendar: created _check_time to check if an event given is expired.
- Calendar: created _time to setup the submit date by transforming epoch time.
- Calendar: created _clean to remove all HTML elements that comes with data.
- Course: created Course module responsable to get data by given courseid.
- Course: created contents to filter all data recived.
- Course: created get_subjects responsable for get professor's name and their respective courseid.
- Course: created filter to filter only assignments by all information recived from contents.
- Export: created Export module for export data (only for csv currently).
- Export: created to_csv liable to export data for csv file with style parameter.

[ MISC ]
- Added new libraries to requirements.txt.
- Added files to .gitignore.
- Removed LICENSE.


More features coming soon...