[![python 3.8+](https://img.shields.io/badge/python-3.8+-blue)]() [![tokei lines of code](https://tokei.rs/b1/git.zevaryx.com/stark-industries/j.a.r.v.i.s.?category=code)](https://git.zevaryx.com/stark-industries/j.a.r.v.i.s.) [![discord chat widget](https://img.shields.io/discord/862402786116763668?style=social&logo=discord)](https://discord.gg/VtgZntXcnZ)
J.A.R.V.I.S # Just Another Very Intelligent System (J.A.R.V.I.S.) 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. **Note:** Some commands have been custom made to be used in the dbrand server. ## Features J.A.R.V.I.S. 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. - 👑 **dbrand**: `ctc2` and other dbrand-specific commands. [Join their server](https://discord.gg/dbrand) to see them in action! ## Contributing Before **creating an issue**, please ensure that it hasn't already been reported/suggested. 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. ## Community Join the [Stark R&D Department Discord server](https://discord.gg/VtgZntXcnZ) to be kept up-to-date on code updates and issues. ## Requirements - MongoDB 4.4 or higher - Python 3.8 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: - `discord-py>=1.7, <2` - `psutil>=5.8, <6` - `GitPython>=3.1, <4` - `PyYaml>=5.4, <6` - `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