Releases: stlucasgarcia/mob
v4.5.0
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
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
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...