SGA-A / c2c

Source code for the custom app exclusive to cc, where most interactions begin and end.
MIT License
0 stars 0 forks source link

Logging systems and notifications #136

Open SGA-A opened 2 months ago

SGA-A commented 2 months ago

The gist of what will be logged

At the moment, we have no plans to limit the amount of logs shown, but it is something we will keep in mind in the future if it becomes a problem. For reference, Dank Memer's notification lists are limited to a maximum of 200 stored per user. This number was much higher just a few years ago when the bot had less traction.

For logging mechanisms and notifications, there will be a paginator and it will have an index tracker (using the Pagination class).

For notifications, you will be able to access a specific notification via it's an ID which opens up the notification and a paginated list of the notification directly. This means when using the command to view a specific notification (/notification view id:55), it is equivalent to (/notification list) but with the paginator length set to 1, and the page index being 55 (or 56?). We would also need to implement a search subcommand, to search for a notification by keyword (checking if it is present in both the notification title)

For the currency log, there should also be a way of sorting by the methods of how the currency entered/left in the form of a dropdown.

What it could contain

A notification typically has the following attributes:

A currency log typically has the following attributes:

SGA-A commented 1 month ago

Implementing loggers will only get harder as development continues, the sooner this is done the better. There should ideally be a single method that would always be used to log this info so that for instance, function renames aren't needed on a large scale.

SGA-A commented 1 month ago

On second thought, I am considering implementing a maximum row limit per user ID. Currency logs will be exceptionally big. I'll need to figure out how to do this first. But, this is not a huge priority, as outlined in the project.