From 8f3c67304dc3fdf1293fd77487c00d7a67e8fce2 Mon Sep 17 00:00:00 2001 From: Zevaryx Date: Mon, 18 Mar 2024 08:26:41 -0600 Subject: [PATCH] [docs] Update README.md, requirements --- README.md | 120 +++++++++++++------------------- pyproject.toml | 5 -- requirements.txt | 176 ++++++++++++++++++++++------------------------- 3 files changed, 130 insertions(+), 171 deletions(-) diff --git a/README.md b/README.md index 46846ce..84759dd 100644 --- a/README.md +++ b/README.md @@ -6,13 +6,14 @@
[![python 3.10+](https://img.shields.io/badge/python-3.10+-blue)]() -[![tokei lines of code](http://135.148.148.80:8000/b1/gitlab/zevaryx/jarvis-bot?category=code)](https://git.zevaryx.com/stark-industries/jarvis/jarvis-bot) +[![tokei lines of code](https://tokei.rs/b1/gitlab/zevaryx/jarvis-bot?category=code)](https://git.zevaryx.com/stark-industries/jarvis/jarvis-bot) [![discord chat widget](https://img.shields.io/discord/862402786116763668?style=social&logo=discord)](https://discord.gg/VtgZntXcnZ) [![ko-fi](https://www.ko-fi.com/img/githubbutton_sm.svg)](https://ko-fi.com/zevaryx) - -Welcome to the JARVIS Initiative, an open-source multi-purpose bot +### Welcome to the JARVIS Initiative, an open-source multi-purpose bot + + ## Features @@ -36,80 +37,57 @@ Join the [Stark R&D Department Discord server](https://discord.gg/VtgZntXcnZ) to ## Requirements -- MongoDB 6.0 or higher -- Python 3.10 or higher +- MongoDB 7.0 or higher +- Python 3.12 or higher - [tokei](https://github.com/XAMPPRocky/tokei) 12.1 or higher - Everything in `requirements.txt` -## JARVIS Cogs +## JARVIS Features -Current cogs that are implemented: +### Core Features -- `AdminCog` - - Handles all admin commands -- `AutoreactCog` - - Handles autoreaction configuration -- `BotutilCog` - - Handles internal bot utilities (private use only) -- `DevCog` - - Developer utilities, such as hashing, encoding, and UUID generation -- `GitlabCog` - - Shows Gitlab information about J.A.R.V.I.S. -- `ImageCog` - - Image-processing cog. -- `RedditCog` - - Reddit lookup and following commands -- `RemindmeCog` - - Manage reminders -- `RolegiverCog` - - Configure selectable roles -- `SettingsCog` - - 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` - - Guild verification +- Reminders! + - Set a reminder using human wording + - Use cron to have it repeat! + - Copy reminders that other users make so that you can also be reminded of it +- Server, User, and Role info! +- List all the emotes in the server! +- Check the bot status and see the logo! +- Secure password generation! +- Timestamp conversions! -## Directories +### Admin Features -### `jarvis` +- Track administrative actions taken against users! + - Bans, mutes, and more! + - Custom warnings + - Moderation cases +- Warn for pinging too many people/specific roles! +- Server lockdowns to help with raids/spam +- Custom filters to prevent certain messages/phrases! +- Automated purging of channels +- Verification system -The bot itself +### Extra Features -#### `jarvis.cogs` - -All of the cogs listed above are stored in this directory - -##### `jarvis.cogs.admin` - -Contains all AdminCogs, including: - -- `BanCog` -- `KickCog` -- `LockCog` -- `LockdownCog` -- `ModcaseCog` -- `MuteCog` -- `PurgeCog` -- `RolepingCog` -- `WarningCog` - -#### `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.utils` - -Generic utilities +- Calculator! + - Calculate basic math expressions + - Convert to and from many different units + - All conversions supported by the Microsoft calculator are supported! + - Live currency conversions +- Developer Tools! + - Hash using any Python-supported hash function! + - You can even hash URLs and uploads! + - Base-n encoding and decoding! + - Unique ID generation via ULIDs, UUIDs, and ObjectIDs! +- Image processing! + - Shrink an image to fit a certain size! Useful for making emotes +- Pinboard! + - Run out of pins? Use the pinboard! + - Dedicated channel for pinning messages +- Rolegiver! + - Advanced self-assigned roles + - Group together roles for better organization! +- Tags! + - Custom text responses from the bot + - Editing can be done by the author or a moderator! diff --git a/pyproject.toml b/pyproject.toml index 5fcdd60..7029c03 100644 --- a/pyproject.toml +++ b/pyproject.toml @@ -6,20 +6,15 @@ authors = ["Zevaryx "] [tool.poetry.dependencies] python = ">=3.11,<4" -PyYAML = "^6.0" -GitPython = "^3.1.26" opencv-python = "^4.5.5" Pillow = "^9.0.0" psutil = "^5.9.0" -python-gitlab = "^3.1.1" ulid-py = "^1.1.0" -tweepy = "^4.5.0" jarvis-core = { git = "https://git.zevaryx.com/stark-industries/jarvis/jarvis-core.git", rev = "main" } # Mine aiohttp = ">=3.9.0b0" pastypy = "^1.0.3.post1" # Mine dateparser = "^1.1.1" aiofile = "^3.8.1" -asyncpraw = "^7.5.0" rich = "^12.3.0" jurigged = "^0.5.3" # Contributed ansitoimg = "^2022.1" diff --git a/requirements.txt b/requirements.txt index 7a93f10..f2b5efa 100644 --- a/requirements.txt +++ b/requirements.txt @@ -1,95 +1,81 @@ -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" -beautifulsoup4==4.11.1; python_full_version >= "3.6.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.5.1; 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; 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.3; 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.11.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 >= "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" -soupsieve==2.3.2.post1; python_version >= "3.6" and python_full_version >= "3.6.0" -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.3.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_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" +aiofile==3.8.8 ; python_version >= "3.11" and python_version < "4" +aiohttp==3.9.3 ; python_version >= "3.11" and python_version < "4" +aiosignal==1.3.1 ; python_version >= "3.11" and python_version < "4" +annotated-types==0.6.0 ; python_version >= "3.11" and python_version < "4" +ansicon==1.89.0 ; python_version >= "3.11" and python_version < "4.0" and platform_system == "Windows" +ansitoimg==2022.2 ; python_version >= "3.11" and python_version < "4.0" +appdirs==1.4.4 ; python_version >= "3.11" and python_version < "4.0" +async-timeout==4.0.3 ; python_version >= "3.11" and python_full_version <= "3.11.2" +attrs==23.2.0 ; python_version >= "3.11" and python_version < "4" +beanie==1.25.0 ; python_version >= "3.11" and python_version < "4.0" +beautifulsoup4==4.12.3 ; python_version >= "3.11" and python_version < "4" +blessed==1.20.0 ; python_version >= "3.11" and python_version < "4.0" +caio==0.9.13 ; python_version >= "3.11" and python_version < "4" +calculator @ git+https://git.zevaryx.com/zevaryx/calculator.git@b317d35788c6a06f2b496844d5fdf4e3414453e6 ; python_version >= "3.11" and python_version < "4" +certifi==2024.2.2 ; python_version >= "3.11" and python_version < "4" +charset-normalizer==3.3.2 ; python_version >= "3.11" and python_version < "4" +click==8.1.7 ; python_version >= "3.11" and python_version < "4.0" +codefind==0.1.3 ; python_version >= "3.11" and python_version < "4.0" +colorama==0.4.6 ; python_version >= "3.11" and python_version < "4.0" and platform_system == "Windows" +commonmark==0.9.1 ; python_version >= "3.11" and python_version < "4" +croniter==1.4.1 ; python_version >= "3.11" and python_version < "4" +dateparser==1.2.0 ; python_version >= "3.11" and python_version < "4" +discord-typings==0.7.0 ; python_version >= "3.11" and python_version < "4" +dnspython==2.6.1 ; python_version >= "3.11" and python_version < "4" +emoji==2.10.1 ; python_version >= "3.11" and python_version < "4" +erapi @ git+https://git.zevaryx.com/zevaryx-technologies/erapi.git@0f13217902aaf3e575f3afabb09bd76e1134833b ; python_version >= "3.11" and python_version < "4" +frozenlist==1.4.1 ; python_version >= "3.11" and python_version < "4" +idna==3.6 ; python_version >= "3.11" and python_version < "4" +importlib-metadata==7.0.1 ; python_version >= "3.11" and python_version < "4.0" +interactions-py==5.11.0 ; python_version >= "3.11" and python_version < "4" +jarvis-core @ git+https://git.zevaryx.com/stark-industries/jarvis/jarvis-core.git@d598ec8b49fc260e5c03fda2b1ffc15521abaf45 ; python_version >= "3.11" and python_version < "4" +jinxed==1.2.1 ; python_version >= "3.11" and python_version < "4.0" and platform_system == "Windows" +jurigged==0.5.7 ; python_version >= "3.11" and python_version < "4.0" +lazy-model==0.2.0 ; python_version >= "3.11" and python_version < "4.0" +levenshtein==0.25.0 ; python_version >= "3.11" and python_version < "4" +motor==3.3.2 ; python_version >= "3.11" and python_version < "4" +multidict==6.0.5 ; python_version >= "3.11" and python_version < "4" +nanoid==2.0.0 ; python_version >= "3.11" and python_version < "4" +nest-asyncio==1.6.0 ; python_version >= "3.11" and python_version < "4" +numpy==1.26.4 ; python_version >= "3.11" and python_version < "4" +opencv-python==4.9.0.80 ; python_version >= "3.11" and python_version < "4" +orjson==3.9.15 ; python_version >= "3.11" and python_version < "4" +ovld==0.3.2 ; python_version >= "3.11" and python_version < "4.0" +pastypy==1.0.3.post1 ; python_version >= "3.11" and python_version < "4" +pillow==9.5.0 ; python_version >= "3.11" and python_version < "4" +psutil==5.9.8 ; python_version >= "3.11" and python_version < "4" +pycryptodome==3.20.0 ; python_version >= "3.11" and python_version < "4" +pydantic-core==2.16.3 ; python_version >= "3.11" and python_version < "4" +pydantic-settings==2.2.1 ; python_version >= "3.11" and python_version < "4" +pydantic==2.6.3 ; python_version >= "3.11" and python_version < "4" +pyee==8.2.2 ; python_version >= "3.11" and python_version < "4.0" +pygments==2.17.2 ; python_version >= "3.11" and python_version < "4" +pymongo==4.6.2 ; python_version >= "3.11" and python_version < "4" +pyppeteer==1.0.2 ; python_version >= "3.11" and python_version < "4.0" +python-dateutil==2.9.0.post0 ; python_version >= "3.11" and python_version < "4" +python-dotenv==0.21.1 ; python_version >= "3.11" and python_version < "4" +python-levenshtein==0.25.0 ; python_version >= "3.11" and python_version < "4" +pytz==2022.7.1 ; python_version >= "3.11" and python_version < "4" +pyyaml==6.0.1 ; python_version >= "3.11" and python_version < "4" +rapidfuzz==3.6.1 ; python_version >= "3.11" and python_version < "4" +redis==4.6.0 ; python_version >= "3.11" and python_version < "4" +regex==2023.12.25 ; python_version >= "3.11" and python_version < "4" +requests==2.31.0 ; python_version >= "3.11" and python_version < "4" +rich==12.6.0 ; python_version >= "3.11" and python_version < "4" +six==1.16.0 ; python_version >= "3.11" and python_version < "4" +soupsieve==2.5 ; python_version >= "3.11" and python_version < "4" +statipy @ git+https://github.com/zevaryx/statipy@25cef25df0b69c1fef221db6784b239b685e8d01 ; python_version >= "3.11" and python_version < "4" +thefuzz[speedup] @ git+https://github.com/zevaryx/thefuzz.git@e4ab69d3d44cc3dd67221cba53e6a614786b0d7c ; python_version >= "3.11" and python_version < "4" +toml==0.10.2 ; python_version >= "3.11" and python_version < "4.0" +tomli==2.0.1 ; python_version >= "3.11" and python_version < "4" +tqdm==4.66.2 ; python_version >= "3.11" and python_version < "4.0" +typing-extensions==4.10.0 ; python_version >= "3.11" and python_version < "4" +tzdata==2024.1 ; python_version >= "3.11" and python_version < "4" and platform_system == "Windows" +tzlocal==5.2 ; python_version >= "3.11" and python_version < "4" +ulid-py==1.1.0 ; python_version >= "3.11" and python_version < "4" +urllib3==1.26.18 ; python_version >= "3.11" and python_version < "4" +watchdog==4.0.0 ; python_version >= "3.11" and python_version < "4.0" +wcwidth==0.2.13 ; python_version >= "3.11" and python_version < "4.0" +websockets==10.4 ; python_version >= "3.11" and python_version < "4.0" +yarl==1.9.4 ; python_version >= "3.11" and python_version < "4" +zipp==3.17.0 ; python_version >= "3.11" and python_version < "4.0"