diff --git a/README.md b/README.md index c281f99..9f01850 100644 --- a/README.md +++ b/README.md @@ -43,6 +43,108 @@ On top of the above requirements, the following pip packages are also required: - `psutil>=5.8, <6` - `GitPython>=3.1, <4` - `PyYaml>=5.4, <6` -- `discord-py-slash-command>=2.3, <3` +- `discord-py-slash-command>=2.3.2, <3` - `pymongo>=3.12.0, <4` - `opencv-python>=4.5, <5` +- `ButtonPaginator>=0.0.3` +- `Pillow>=8.2.0, <9` +- `python-gitlab>=2.9.0, <3` +- `ulid-py>=1.1.0, <2` + + +## J.A.R.V.I.S. Cogs + +Current cogs that are implemented: + +- `AdminCog` + - Handles all admin commands +- `ModlogCog` + - Handles modlog events +- `AutoreactCog` + - Handles autoreaction configuration +- `CTC2Cog` + - dbrand Complete the Code utilities +- `DbrandCog` + - dbrand-specific functions and utilities +- `DevCog` + - Developer utilities, such as hashing, encoding, and UUID generation +- `ErrorCog` + - Handles all bot errors +- `GitlabCog` + - Shows Gitlab information about J.A.R.V.I.S. +- `ImageCog` + - Image-processing cog. Only cog with no slash commands +- `JokesCog` + - Get a joke, have a laugh +- `OwnerCog` + - For the bot owner. Bot management commands +- `RemindmeCog` + - Manage reminders +- `RolegiverCog` + - Configure selectable roles +- `SettingsCog` + - Manage Guild settings +- `StarboardCog` + - Configure and add starboards and stars +- `UtilCog` + - Generic utilities, like userinfo and roleinfo +- `VerifyCog` + - Guild verification + + +## Directories + +### `jarvis` + +The bot itself + +#### `jarvis.cogs` + +All of the cogs listed above are stored in this directory + +##### `jarvis.cogs.admin` + +Contains all AdminCogs, including: +- `BanCog` +- `KickCog` +- `LockCog` +- `LockdownCog` +- `MuteCog` +- `PurgeCog` +- `RolepingCog` +- `WarningCog` + +##### `jarvis.cogs.modlog` + +Contains all ModlogCogs, including: +- `ModlogCommandCog` +- `ModlogMemberCog` +- `ModlogMessageCog` + +`jarvis.cogs.modlog.utils` includes modlog-specific utilities + +#### `jarvis.data` + +Contains data relevant to J.A.R.V.I.S., such as emoji lookups and dbrand data + +##### `jarvis.data.json` + +Any JSON files that are needed are stored here + +#### `jarvis.db` + +All database-related files. + +`jarvis.db.types` handles almost all of the database conections + +#### `jarvis.events` + +Containers for `@on_` d.py events + +#### `jarvis.tasks` + +All background tasks run from this folder + +#### `jarvis.utils` + +Generic utilities diff --git a/requirements.txt b/requirements.txt index 88ec417..1916f9a 100644 --- a/requirements.txt +++ b/requirements.txt @@ -2,6 +2,10 @@ discord-py>=1.7, <2 psutil>=5.8, <6 GitPython>=3.1, <4 PyYaml>=5.4, <6 -discord-py-slash-command>=2.3, <3 +discord-py-slash-command>=2.3.2, <3 pymongo>=3.12.0, <4 opencv-python>=4.5, <5 +ButtonPaginator>=0.0.3 +Pillow>=8.2.0, <9 +python-gitlab>=2.9.0, <3 +ulid-py>=1.1.0, <2