[docs] Update README.md, requirements

This commit is contained in:
Zeva Rose 2024-03-18 08:26:41 -06:00
parent 61207e5931
commit 8f3c67304d
3 changed files with 130 additions and 171 deletions

120
README.md
View file

@ -6,13 +6,14 @@
<br />
[![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)
</div>
Welcome to the JARVIS Initiative, an open-source multi-purpose bot
### Welcome to the JARVIS Initiative, an open-source multi-purpose bot
</div>
## 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!

View file

@ -6,20 +6,15 @@ authors = ["Zevaryx <zevaryx@gmail.com>"]
[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"

View file

@ -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"