No description
Find a file
2021-11-11 23:57:52 +00:00
jarvis Try/catch wrap on timeline fetching 2021-11-11 23:23:51 +00:00
.gitignore Update gitignore 2021-09-01 20:42:19 -06:00
.pre-commit-config.yaml Add context menu for starboard 2021-09-01 20:23:16 -06:00
config.example.yaml Password generator, lots of cleanup, more dynamic db configs 2021-07-31 00:03:03 -06:00
install.sh Swap out cloc for tokei 2021-07-15 14:35:27 -06:00
jarvis.png Initial build 2021-06-24 10:37:16 -06:00
jarvis.service Change terminate to kill 2021-06-26 12:31:34 -06:00
README.md Update documentation, closes #29 2021-07-25 17:27:13 -06:00
requirements.txt Add context menu for starboard 2021-09-01 20:23:16 -06:00
run.py Change to isort on all files 2021-09-01 20:32:05 -06:00
schema.yaml Add extra checks on mute/ban/unmute loop. Add unmute command, closes #25 2021-07-02 21:26:51 -06:00

python 3.8+ tokei lines of code discord chat widget


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 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 to be kept up-to-date on code updates and issues.

Requirements

  • MongoDB 4.4 or higher
  • Python 3.8 or higher
  • 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