diff --git a/README.md b/README.md
index 2f0b019..8f17108 100644
--- a/README.md
+++ b/README.md
@@ -1,27 +1,28 @@
-

+

# Just Another Rather Very Intelligent System
-[]()
-[](https://git.zevaryx.com/stark-industries/j.a.r.v.i.s.)
+[]()
+[](https://git.zevaryx.com/stark-industries/jarvis/jarvis-bot)
[](https://discord.gg/VtgZntXcnZ)
-Welcome to the J.A.R.V.I.S. Initiative! While the main goal is to create the best discord bot there can be, a great achievement would be to present him to the Robots and have him integrated into the dbrand server. Feel free to suggest anything you may think to be useful… or cool.
+Welcome to the JARVIS Initiative! While the main goal is to create the best discord bot there can be, a great achievement would be to present him to the Robots and have him integrated into the dbrand server. Feel free to suggest anything you may think to be useful… or cool.
**Note:** Some commands have been custom made to be used in the dbrand server.
## Features
-
-J.A.R.V.I.S. currently offers:
+JARVIS currently offers:
- 👩💼 **Administration**: `verify`, `ban/unban`, `kick`, `purge`, `mute/unmute` and more!
- 🚓 **Moderation**: `lock/unlock`, `lockdown`, `warn`, `autoreact`, and also more!
-- 👻 **Fun**: `jokes`. Please proceed to laugh now.
+- 🔗 **Social Media**: `reddit` and `twitter` syncing!
+- 🔧 **Utilities**: `remindme`, `rolegiver`, `temprole`, `image`, and so many more!
+- 🏷️ **Tags**: Custom `tag`s! Useful for custom messages without the hassle!
- 👑 **dbrand**: `ctc2` and other dbrand-specific commands. [Join their server](https://discord.gg/dbrand) to see them in action!
@@ -31,7 +32,7 @@ Before **creating an issue**, please ensure that it hasn't already been reported
If you have a question, please join the community Discord before opening an issue.
-If you wish to contribute to the J.A.R.V.I.S codebase or documentation, join the Discord! The recognized developers there will help you get started.
+If you wish to contribute to the JARVIS codebase or documentation, join the Discord! The recognized developers there will help you get started.
## Community
@@ -41,45 +42,31 @@ Join the [Stark R&D Department Discord server](https://discord.gg/VtgZntXcnZ) to
- MongoDB 5.0 or higher
- Python 3.10 or higher
- [tokei](https://github.com/XAMPPRocky/tokei) 12.1 or higher
-
-On top of the above requirements, the following pip packages are also required:
-- `dis-snek>=5.0.0`
-- `psutil>=5.8, <6`
-- `GitPython>=3.1, <4`
-- `PyYaml>=5.4, <6`
-- `pymongo>=3.12.0, <4`
-- `opencv-python>=4.5, <5`
-- `Pillow>=8.2.0, <9`
-- `python-gitlab>=2.9.0, <3`
-- `ulid-py>=1.1.0, <2`
+- Everything in `requirements.txt`
-## J.A.R.V.I.S. Cogs
+## JARVIS Cogs
Current cogs that are implemented:
- `AdminCog`
- Handles all admin commands
-- `ModlogCog`
- - Handles modlog events
- `AutoreactCog`
- Handles autoreaction configuration
+- `BotutilCog`
+ - Handles internal bot utilities (private use only)
- `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
+ - Image-processing cog.
+- `RedditCog`
+ - Reddit lookup and following commands
- `RemindmeCog`
- Manage reminders
- `RolegiverCog`
@@ -88,6 +75,12 @@ Current cogs that are implemented:
- Manage Guild settings
- `StarboardCog`
- Configure and add starboards and stars
+- `TagCog`
+ - For managing tags
+- `TemproleCog`
+ - For managing and assigning temporary roles
+- `TwitterCog`
+ - Twitter following commands
- `UtilCog`
- Generic utilities, like userinfo and roleinfo
- `VerifyCog`
@@ -111,20 +104,12 @@ Contains all AdminCogs, including:
- `KickCog`
- `LockCog`
- `LockdownCog`
+- `ModcaseCog`
- `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
@@ -133,20 +118,6 @@ Contains data relevant to J.A.R.V.I.S., such as emoji lookups and dbrand data
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 13d8c4c..581821d 100644
--- a/requirements.txt
+++ b/requirements.txt
@@ -1,76 +1,93 @@
-aiofile==3.7.4
-aiofiles==0.6.0 ; python_version >= "3.6"
-aiohttp==3.8.1
-aioredis==2.0.1
-aiosignal==1.2.0 ; python_version >= "3.10"
-aiosqlite==0.17.0 ; python_version >= "3.6"
-ansicon==1.89.0 ; python_version >= "3.8" and python_version < "4.0" and platform_system == "Windows"
-async-generator==1.10 ; python_version >= "3.6"
-async-timeout==4.0.2 ; python_version >= "3.6"
-asyncio-extras==1.3.2 ; python_version >= "3.6"
-asyncpraw==7.5.0
-asyncprawcore==2.3.0 ; python_version >= "3.6"
-attrs==21.4.0 ; python_version >= "3.10"
-blessed==1.19.1 ; python_version >= "3.8" and python_version < "4.0"
-caio==0.9.5 ; python_version >= "3.5" and python_version < "4"
-certifi==2021.10.8
-charset-normalizer==2.0.12 ; python_version >= "3.10"
-codefind==0.1.3 ; python_version >= "3.8" and python_version < "4.0"
-commonmark==0.9.1 ; python_version >= "3.10" and python_full_version < "4.0.0"
-dateparser==1.1.1
-discord-typings==0.4.0 ; python_version >= "3.10"
-distro==1.7.0 ; python_version >= "3.6"
-frozenlist==1.3.0 ; python_version >= "3.10"
+aiofile==3.7.4; python_version > "3.4" and python_version < "4"
+aiofiles==0.6.0; python_version >= "3.6"
+aiohttp==3.8.1; python_version >= "3.6"
+aioredis==2.0.1; python_version >= "3.6"
+aiosignal==1.2.0; python_version >= "3.10" and python_version < "4.0"
+aiosqlite==0.17.0; python_version >= "3.6"
+ansicon==1.89.0; python_version >= "3.8" and python_version < "4.0" and platform_system == "Windows"
+ansitoimg==2022.1; python_version >= "3.7" and python_version < "4.0"
+appdirs==1.4.4; python_version >= "3.7" and python_version < "4.0"
+async-generator==1.10; python_version >= "3.6"
+async-timeout==4.0.2; python_version >= "3.10" and python_version < "4.0"
+asyncio-extras==1.3.2; python_version >= "3.6"
+asyncpraw==7.5.0; python_version >= "3.6"
+asyncprawcore==2.3.0; python_version >= "3.6"
+attrs==21.4.0; python_version >= "3.10" and python_full_version < "3.0.0" and python_version < "4.0" or python_version >= "3.10" and python_version < "4.0" and python_full_version >= "3.5.0"
+blessed==1.19.1; python_version >= "3.8" and python_version < "4.0"
+caio==0.9.5; python_version >= "3.5" and python_version < "4"
+certifi==2021.10.8; python_full_version >= "3.7.0" and python_version >= "3.10" and (python_version >= "3.10" and python_full_version < "3.0.0" or python_full_version >= "3.6.0" and python_version >= "3.10") and python_version < "4.0"
+charset-normalizer==2.0.12; python_version >= "3.10" and python_version < "4.0" and python_full_version >= "3.7.0" and (python_version >= "3.7" and python_full_version < "3.0.0" or python_full_version >= "3.6.0" and python_version >= "3.7") and (python_version >= "3.10" and python_full_version < "3.0.0" or python_full_version >= "3.6.0" and python_version >= "3.10")
+click==8.1.3; python_version >= "3.10" and python_version < "4.0"
+codefind==0.1.3; python_version >= "3.8" and python_version < "4.0"
+colorama==0.4.4; python_version >= "3.10" and python_full_version < "3.0.0" and python_version < "4.0" and platform_system == "Windows" or python_version >= "3.10" and python_version < "4.0" and platform_system == "Windows" and python_full_version >= "3.5.0"
+commonmark==0.9.1; python_full_version >= "3.6.3" and python_full_version < "4.0.0" and python_version >= "3.10" and python_version < "4.0"
+dateparser==1.1.1; python_version >= "3.5"
+discord-typings==0.4.0; python_version >= "3.10" and python_version < "4.0"
+distro==1.7.0; python_version >= "3.6"
+frozenlist==1.3.0; python_version >= "3.10" and python_version < "4.0"
funcsigs==1.0.2
-gitdb==4.0.9 ; python_version >= "3.7"
-gitpython==3.1.27
-idna==3.3 ; python_version >= "3.10"
-jarvis-core @ git+https://git.zevaryx.com/stark-industries/jarvis/jarvis-core.git@main
-jinxed==1.2.0 ; python_version >= "3.8" and python_version < "4.0" and platform_system == "Windows"
-jurigged==0.5.2
-marshmallow==3.16.0 ; python_version >= "3.10" and python_version < "4.0"
-mongoengine==0.23.1
-motor==2.5.1 ; python_version >= "3.10" and python_version < "4.0"
-multidict==6.0.2 ; python_version >= "3.10"
-naff==1.2.0
-nanoid==2.0.0 ; python_version >= "3.10" and python_version < "4.0"
-numpy==1.22.4 ; python_version >= "3.8" or python_version >= "3.8" and platform_system == "Darwin" and platform_machine == "arm64" or python_version >= "3.8" and platform_system == "Linux" and platform_machine == "aarch64"
-oauthlib==3.2.0 ; python_version >= "3.7"
-opencv-python==4.6.0.66
-orjson==3.7.2 ; python_version >= "3.10" and python_version < "4.0"
-ovld==0.3.2 ; python_version >= "3.8" and python_version < "4.0"
-packaging==21.3 ; python_version >= "3.10" and python_version < "4.0"
-pastypy==1.0.2
-pillow==9.1.1
-protobuf==3.20.1 ; python_version >= "3.7"
-psutil==5.9.1
-pycryptodome==3.14.1 ; python_version >= "3.10"
-pygments==2.12.0 ; python_version >= "3.10" and python_full_version < "4.0.0"
-pymongo==3.12.3 ; python_version >= "3.10" and python_version < "4.0" or python_version >= "3.6"
-pyparsing==3.0.9 ; python_version >= "3.10" and python_version < "4.0"
-python-dateutil==2.8.2 ; python_version >= "3.5"
-python-gitlab==3.5.0
-pytz==2022.1 ; python_version >= "3.10" and python_version < "4.0" or python_version >= "3.5"
-pytz-deprecation-shim==0.1.0.post0 ; python_full_version >= "3.6.0"
-pyyaml==6.0
-regex==2022.3.2 ; python_version >= "3.6"
-requests==2.27.1 ; python_full_version >= "3.6.0"
-requests-oauthlib==1.3.1 ; python_version >= "3.7"
-requests-toolbelt==0.9.1 ; python_full_version >= "3.7.0"
-rich==12.4.4
+gitdb==4.0.9; python_version >= "3.7"
+gitpython==3.1.27; python_version >= "3.7"
+h11==0.13.0; python_version >= "3.10" and python_version < "4.0"
+idna==3.3; python_full_version >= "3.7.0" and python_version >= "3.10" and (python_version >= "3.7" and python_full_version < "3.0.0" or python_full_version >= "3.6.0" and python_version >= "3.7") and (python_version >= "3.10" and python_full_version < "3.0.0" or python_full_version >= "3.6.0" and python_version >= "3.10") and python_version < "4.0"
+importlib-metadata==4.11.4; python_version >= "3.7" and python_version < "4.0"
+jarvis-core @ git+https://git.zevaryx.com/stark-industries/jarvis/jarvis-core.git@main ; python_version >= "3.10" and python_version < "4.0"
+jinxed==1.2.0; python_version >= "3.8" and python_version < "4.0" and platform_system == "Windows"
+jurigged==0.5.2; python_version >= "3.8" and python_version < "4.0"
+marshmallow==3.16.0; python_version >= "3.10" and python_version < "4.0"
+mongoengine==0.23.1; python_version >= "3.6"
+motor==2.5.1; python_version >= "3.10" and python_version < "4.0" and python_full_version >= "3.5.2"
+multidict==6.0.2; python_version >= "3.10" and python_version < "4.0"
+naff==1.7.1; python_version >= "3.10"
+nafftrack @ git+https://github.com/artem30801/nafftrack.git@master ; python_version >= "3.10" and python_version < "4.0"
+nanoid==2.0.0; python_version >= "3.10" and python_version < "4.0"
+nest-asyncio==1.5.5; python_version >= "3.5"
+numpy==1.22.4; python_version >= "3.10" and platform_system == "Linux" and platform_machine == "aarch64" or python_version >= "3.10" or python_version >= "3.9" and platform_system == "Darwin" and platform_machine == "arm64"
+oauthlib==3.2.0; python_version >= "3.7" and python_full_version < "3.0.0" or python_full_version >= "3.4.0" and python_version >= "3.7"
+opencv-python==4.6.0.66; python_version >= "3.6"
+orjson==3.7.2; python_version >= "3.10" and python_version < "4.0"
+ovld==0.3.2; python_version >= "3.8" and python_version < "4.0"
+packaging==21.3; python_version >= "3.10" and python_version < "4.0"
+pastypy==1.0.2; python_version >= "3.10"
+pillow==9.1.1; python_version >= "3.7"
+prometheus-client==0.14.1; python_version >= "3.10" and python_version < "4.0"
+protobuf==3.20.1; python_version >= "3.7"
+psutil==5.9.1; (python_version >= "2.7" and python_full_version < "3.0.0") or (python_full_version >= "3.4.0")
+pycryptodome==3.14.1; python_version >= "3.10" and python_full_version < "3.0.0" or python_full_version >= "3.5.0" and python_version >= "3.10"
+pyee==8.2.2; python_version >= "3.7" and python_version < "4.0"
+pygments==2.12.0; python_full_version >= "3.6.3" and python_full_version < "4.0.0" and python_version >= "3.10" and python_version < "4.0"
+pymongo==3.12.3; python_version >= "3.10" and python_version < "4.0" and python_full_version >= "3.5.2"
+pyparsing==3.0.9; python_version >= "3.10" and python_version < "4.0" and python_full_version >= "3.6.8"
+pyppeteer==1.0.2; python_version >= "3.7" and python_version < "4.0"
+python-dateutil==2.8.2; python_version >= "3.5" and python_full_version < "3.0.0" or python_full_version >= "3.3.0" and python_version >= "3.5"
+python-gitlab==3.5.0; python_full_version >= "3.7.0"
+python-levenshtein==0.12.2
+pytz==2022.1; python_version >= "3.10" and python_version < "4.0"
+pytz-deprecation-shim==0.1.0.post0; python_version >= "3.6" and python_full_version < "3.0.0" or python_full_version >= "3.6.0" and python_version >= "3.6"
+pyyaml==6.0; python_version >= "3.6"
+regex==2022.3.2; python_version >= "3.6"
+requests==2.27.1; python_full_version >= "3.7.0" and python_version >= "3.7" and (python_version >= "3.10" and python_full_version < "3.0.0" or python_full_version >= "3.6.0" and python_version >= "3.10") and (python_version >= "3.7" and python_full_version < "3.0.0" or python_full_version >= "3.6.0" and python_version >= "3.7") and (python_version >= "3.6" and python_full_version < "3.0.0" or python_full_version >= "3.6.0" and python_version >= "3.6")
+requests-oauthlib==1.3.1; python_version >= "3.7" and python_full_version < "3.0.0" or python_full_version >= "3.4.0" and python_version >= "3.7"
+requests-toolbelt==0.9.1; python_full_version >= "3.7.0"
+rich==12.4.4; python_full_version >= "3.6.3" and python_full_version < "4.0.0"
rook==0.1.175
-six==1.16.0 ; python_version >= "2.7" and python_full_version < "3.0.0" or python_full_version >= "3.3.0" or python_version >= "3.8" and python_version < "4.0"
-smmap==5.0.0 ; python_version >= "3.7"
-tomli==2.0.1 ; python_version >= "3.10"
-tweepy==4.10.0
-typing-extensions==4.2.0 ; python_version >= "3.7"
-tzdata==2022.1 ; python_version >= "3.6"
-tzlocal==4.2 ; python_version >= "3.6"
+six==1.16.0; python_version >= "3.8" and python_full_version < "3.0.0" and python_version < "4.0" or python_full_version >= "3.3.0" and python_version >= "3.8" and python_version < "4.0"
+smmap==5.0.0; python_version >= "3.7"
+thefuzz==0.19.0
+tomli==2.0.1; python_version >= "3.10" and python_version < "4.0"
+tqdm==4.64.0; python_version >= "3.7" and python_full_version < "3.0.0" and python_version < "4.0" or python_version >= "3.7" and python_version < "4.0" and python_full_version >= "3.4.0"
+tweepy==4.10.0; python_version >= "3.7"
+typing-extensions==4.2.0; python_version >= "3.10"
+tzdata==2022.1; platform_system == "Windows" and python_version >= "3.6" and (python_version >= "3.6" and python_full_version < "3.0.0" or python_full_version >= "3.6.0" and python_version >= "3.6")
+tzlocal==4.2; python_version >= "3.6"
ulid-py==1.1.0
-umongo==3.1.0 ; python_version >= "3.10" and python_version < "4.0"
-update-checker==0.18.0 ; python_version >= "3.6"
-urllib3==1.26.8 ; python_version >= "3.10" and python_version < "4"
-watchdog==2.1.8 ; python_version >= "3.8" and python_version < "4.0"
-wcwidth==0.2.5 ; python_version >= "3.8" and python_version < "4.0"
-websocket-client==1.3.2 ; python_version >= "3.7"
-yarl==1.7.2 ; python_version >= "3.6"
+umongo==3.1.0; python_version >= "3.10" and python_version < "4.0"
+update-checker==0.18.0; python_version >= "3.6"
+urllib3==1.26.8; python_full_version >= "3.7.0" and python_version < "4" and python_version >= "3.10" and (python_version >= "3.10" and python_full_version < "3.0.0" or python_full_version >= "3.6.0" and python_version >= "3.10") and (python_version >= "3.7" and python_full_version < "3.0.0" and python_version < "4.0" or python_full_version >= "3.5.0" and python_version < "4" and python_version >= "3.7")
+uvicorn==0.18.2; python_version >= "3.10" and python_version < "4.0"
+watchdog==2.1.8; python_version >= "3.8" and python_version < "4.0"
+wcwidth==0.2.5; python_version >= "3.8" and python_version < "4.0"
+websocket-client==1.3.2; python_version >= "3.7"
+websockets==10.3; python_version >= "3.7" and python_version < "4.0"
+yarl==1.7.2; python_version >= "3.10" and python_version < "4.0"
+zipp==3.8.0; python_version >= "3.7" and python_version < "4.0"