diff --git a/jarvis/__init__.py b/jarvis/__init__.py index 9d9f265..26b6144 100644 --- a/jarvis/__init__.py +++ b/jarvis/__init__.py @@ -12,12 +12,9 @@ from mongoengine import connect from psutil import Process from jarvis import logo # noqa: F401 -from jarvis import tasks -from jarvis import utils +from jarvis import tasks, utils from jarvis.config import get_config -from jarvis.events import guild -from jarvis.events import member -from jarvis.events import message +from jarvis.events import guild, member, message jconfig = get_config() @@ -42,7 +39,7 @@ jarvis = commands.Bot( max_messages=jconfig.max_messages, ) -slash = SlashCommand(jarvis, sync_commands=True, sync_on_cog_reload=True) +slash = SlashCommand(jarvis, sync_commands=False, sync_on_cog_reload=True) jarvis_self = Process() __version__ = "1.10.5" diff --git a/jarvis/cogs/admin/__init__.py b/jarvis/cogs/admin/__init__.py index 1235b8a..0c76e20 100644 --- a/jarvis/cogs/admin/__init__.py +++ b/jarvis/cogs/admin/__init__.py @@ -1,14 +1,7 @@ """J.A.R.V.I.S. Admin Cogs.""" from discord.ext.commands import Bot -from jarvis.cogs.admin import ban -from jarvis.cogs.admin import kick -from jarvis.cogs.admin import lock -from jarvis.cogs.admin import lockdown -from jarvis.cogs.admin import mute -from jarvis.cogs.admin import purge -from jarvis.cogs.admin import roleping -from jarvis.cogs.admin import warning +from jarvis.cogs.admin import ban, kick, lock, lockdown, mute, purge, roleping, warning def setup(bot: Bot) -> None: diff --git a/jarvis/cogs/admin/ban.py b/jarvis/cogs/admin/ban.py index 58365a1..c4cca83 100644 --- a/jarvis/cogs/admin/ban.py +++ b/jarvis/cogs/admin/ban.py @@ -1,20 +1,16 @@ """J.A.R.V.I.S. BanCog.""" import re -from datetime import datetime -from datetime import timedelta +from datetime import datetime, timedelta from ButtonPaginator import Paginator from discord import User from discord.ext import commands from discord.utils import find -from discord_slash import cog_ext -from discord_slash import SlashContext +from discord_slash import SlashContext, cog_ext from discord_slash.model import ButtonStyle -from discord_slash.utils.manage_commands import create_choice -from discord_slash.utils.manage_commands import create_option +from discord_slash.utils.manage_commands import create_choice, create_option -from jarvis.db.models import Ban -from jarvis.db.models import Unban +from jarvis.db.models import Ban, Unban from jarvis.utils import build_embed from jarvis.utils.cachecog import CacheCog from jarvis.utils.field import Field diff --git a/jarvis/cogs/admin/kick.py b/jarvis/cogs/admin/kick.py index 70d1905..9c74910 100644 --- a/jarvis/cogs/admin/kick.py +++ b/jarvis/cogs/admin/kick.py @@ -1,8 +1,7 @@ """J.A.R.V.I.S. KickCog.""" from discord import User from discord.ext.commands import Bot -from discord_slash import cog_ext -from discord_slash import SlashContext +from discord_slash import SlashContext, cog_ext from discord_slash.utils.manage_commands import create_option from jarvis.db.models import Kick diff --git a/jarvis/cogs/admin/lock.py b/jarvis/cogs/admin/lock.py index 6649409..75c6427 100644 --- a/jarvis/cogs/admin/lock.py +++ b/jarvis/cogs/admin/lock.py @@ -2,13 +2,9 @@ from contextlib import suppress from typing import Union -from discord import Role -from discord import TextChannel -from discord import User -from discord import VoiceChannel +from discord import Role, TextChannel, User, VoiceChannel from discord.ext.commands import Bot -from discord_slash import cog_ext -from discord_slash import SlashContext +from discord_slash import SlashContext, cog_ext from discord_slash.utils.manage_commands import create_option from jarvis.db.models import Lock diff --git a/jarvis/cogs/admin/lockdown.py b/jarvis/cogs/admin/lockdown.py index dc91dde..dcf37ba 100644 --- a/jarvis/cogs/admin/lockdown.py +++ b/jarvis/cogs/admin/lockdown.py @@ -3,8 +3,7 @@ from contextlib import suppress from datetime import datetime from discord.ext import commands -from discord_slash import cog_ext -from discord_slash import SlashContext +from discord_slash import SlashContext, cog_ext from discord_slash.utils.manage_commands import create_option from jarvis.db.models import Lock diff --git a/jarvis/cogs/admin/mute.py b/jarvis/cogs/admin/mute.py index aaf6e2a..7bf851c 100644 --- a/jarvis/cogs/admin/mute.py +++ b/jarvis/cogs/admin/mute.py @@ -2,12 +2,10 @@ from discord import Member from discord.ext import commands from discord.utils import get -from discord_slash import cog_ext -from discord_slash import SlashContext +from discord_slash import SlashContext, cog_ext from discord_slash.utils.manage_commands import create_option -from jarvis.db.models import Mute -from jarvis.db.models import Setting +from jarvis.db.models import Mute, Setting from jarvis.utils import build_embed from jarvis.utils.field import Field from jarvis.utils.permissions import admin_or_permissions diff --git a/jarvis/cogs/admin/purge.py b/jarvis/cogs/admin/purge.py index 2eba321..adae1ac 100644 --- a/jarvis/cogs/admin/purge.py +++ b/jarvis/cogs/admin/purge.py @@ -1,12 +1,10 @@ """J.A.R.V.I.S. PurgeCog.""" from discord import TextChannel from discord.ext import commands -from discord_slash import cog_ext -from discord_slash import SlashContext +from discord_slash import SlashContext, cog_ext from discord_slash.utils.manage_commands import create_option -from jarvis.db.models import Autopurge -from jarvis.db.models import Purge +from jarvis.db.models import Autopurge, Purge from jarvis.utils.permissions import admin_or_permissions diff --git a/jarvis/cogs/admin/roleping.py b/jarvis/cogs/admin/roleping.py index 002442d..46ee2c5 100644 --- a/jarvis/cogs/admin/roleping.py +++ b/jarvis/cogs/admin/roleping.py @@ -1,13 +1,10 @@ """J.A.R.V.I.S. RolepingCog.""" -from datetime import datetime -from datetime import timedelta +from datetime import datetime, timedelta from ButtonPaginator import Paginator -from discord import Member -from discord import Role +from discord import Member, Role from discord.ext.commands import Bot -from discord_slash import cog_ext -from discord_slash import SlashContext +from discord_slash import SlashContext, cog_ext from discord_slash.model import ButtonStyle from discord_slash.utils.manage_commands import create_option diff --git a/jarvis/cogs/admin/warning.py b/jarvis/cogs/admin/warning.py index bd65732..ec18e9a 100644 --- a/jarvis/cogs/admin/warning.py +++ b/jarvis/cogs/admin/warning.py @@ -1,15 +1,12 @@ """J.A.R.V.I.S. WarningCog.""" -from datetime import datetime -from datetime import timedelta +from datetime import datetime, timedelta from ButtonPaginator import Paginator from discord import User from discord.ext.commands import Bot -from discord_slash import cog_ext -from discord_slash import SlashContext +from discord_slash import SlashContext, cog_ext from discord_slash.model import ButtonStyle -from discord_slash.utils.manage_commands import create_choice -from discord_slash.utils.manage_commands import create_option +from discord_slash.utils.manage_commands import create_choice, create_option from jarvis.db.models import Warning from jarvis.utils import build_embed diff --git a/jarvis/cogs/autoreact.py b/jarvis/cogs/autoreact.py index a291ca7..378f705 100644 --- a/jarvis/cogs/autoreact.py +++ b/jarvis/cogs/autoreact.py @@ -4,8 +4,7 @@ import re from discord import TextChannel from discord.ext import commands from discord.utils import find -from discord_slash import cog_ext -from discord_slash import SlashContext +from discord_slash import SlashContext, cog_ext from discord_slash.utils.manage_commands import create_option from jarvis.data.unicode import emoji_list diff --git a/jarvis/cogs/ctc2.py b/jarvis/cogs/ctc2.py index bdd7bb1..b236e69 100644 --- a/jarvis/cogs/ctc2.py +++ b/jarvis/cogs/ctc2.py @@ -1,15 +1,12 @@ """J.A.R.V.I.S. Complete the Code 2 Cog.""" import re -from datetime import datetime -from datetime import timedelta +from datetime import datetime, timedelta import aiohttp from ButtonPaginator import Paginator -from discord import Member -from discord import User +from discord import Member, User from discord.ext import commands -from discord_slash import cog_ext -from discord_slash import SlashContext +from discord_slash import SlashContext, cog_ext from discord_slash.model import ButtonStyle from jarvis.db.models import Guess diff --git a/jarvis/cogs/dbrand.py b/jarvis/cogs/dbrand.py index 32e835c..bba163c 100644 --- a/jarvis/cogs/dbrand.py +++ b/jarvis/cogs/dbrand.py @@ -3,8 +3,7 @@ import re import aiohttp from discord.ext import commands -from discord_slash import cog_ext -from discord_slash import SlashContext +from discord_slash import SlashContext, cog_ext from discord_slash.utils.manage_commands import create_option from jarvis.config import get_config diff --git a/jarvis/cogs/dev.py b/jarvis/cogs/dev.py index 13a18ff..08bafa9 100644 --- a/jarvis/cogs/dev.py +++ b/jarvis/cogs/dev.py @@ -4,19 +4,15 @@ import hashlib import re import subprocess # noqa: S404 import uuid as uuidpy -from typing import Any -from typing import Union +from typing import Any, Union import ulid as ulidpy from bson import ObjectId from discord.ext import commands -from discord_slash import cog_ext -from discord_slash import SlashContext -from discord_slash.utils.manage_commands import create_choice -from discord_slash.utils.manage_commands import create_option +from discord_slash import SlashContext, cog_ext +from discord_slash.utils.manage_commands import create_choice, create_option -from jarvis.utils import build_embed -from jarvis.utils import convert_bytesize +from jarvis.utils import build_embed, convert_bytesize from jarvis.utils.field import Field supported_hashes = {x for x in hashlib.algorithms_guaranteed if "shake" not in x} diff --git a/jarvis/cogs/error.py b/jarvis/cogs/error.py index 86234ad..82f93a9 100644 --- a/jarvis/cogs/error.py +++ b/jarvis/cogs/error.py @@ -43,6 +43,7 @@ class ErrorHandlerCog(commands.Cog): f"Error processing command:\n```{error}```", hidden=True, ) + raise error slash.commands[ctx.command].reset_cooldown(ctx) diff --git a/jarvis/cogs/gitlab.py b/jarvis/cogs/gitlab.py index 2765e7d..a3f2a95 100644 --- a/jarvis/cogs/gitlab.py +++ b/jarvis/cogs/gitlab.py @@ -1,16 +1,13 @@ """J.A.R.V.I.S. GitLab Cog.""" -from datetime import datetime -from datetime import timedelta +from datetime import datetime, timedelta import gitlab from ButtonPaginator import Paginator from discord import Embed from discord.ext import commands -from discord_slash import cog_ext -from discord_slash import SlashContext +from discord_slash import SlashContext, cog_ext from discord_slash.model import ButtonStyle -from discord_slash.utils.manage_commands import create_choice -from discord_slash.utils.manage_commands import create_option +from discord_slash.utils.manage_commands import create_choice, create_option from jarvis.config import get_config from jarvis.utils import build_embed diff --git a/jarvis/cogs/image.py b/jarvis/cogs/image.py index ac1a2d1..0b8a342 100644 --- a/jarvis/cogs/image.py +++ b/jarvis/cogs/image.py @@ -8,9 +8,7 @@ import numpy as np from discord import File from discord.ext import commands -from jarvis.utils import build_embed -from jarvis.utils import convert_bytesize -from jarvis.utils import unconvert_bytesize +from jarvis.utils import build_embed, convert_bytesize, unconvert_bytesize from jarvis.utils.field import Field diff --git a/jarvis/cogs/jokes.py b/jarvis/cogs/jokes.py index af3cb92..b298a18 100644 --- a/jarvis/cogs/jokes.py +++ b/jarvis/cogs/jokes.py @@ -6,8 +6,7 @@ from datetime import datetime from random import randint from discord.ext import commands -from discord_slash import cog_ext -from discord_slash import SlashContext +from discord_slash import SlashContext, cog_ext from jarvis.db.models import Joke from jarvis.utils import build_embed diff --git a/jarvis/cogs/modlog/__init__.py b/jarvis/cogs/modlog/__init__.py index 8816800..9e72344 100644 --- a/jarvis/cogs/modlog/__init__.py +++ b/jarvis/cogs/modlog/__init__.py @@ -1,9 +1,7 @@ """J.A.R.V.I.S. Modlog Cogs.""" from discord.ext.commands import Bot -from jarvis.cogs.modlog import command -from jarvis.cogs.modlog import member -from jarvis.cogs.modlog import message +from jarvis.cogs.modlog import command, member, message def setup(bot: Bot) -> None: diff --git a/jarvis/cogs/modlog/member.py b/jarvis/cogs/modlog/member.py index 8d41352..bd6cf20 100644 --- a/jarvis/cogs/modlog/member.py +++ b/jarvis/cogs/modlog/member.py @@ -1,20 +1,14 @@ """J.A.R.V.I.S. ModlogMemberCog.""" import asyncio -from datetime import datetime -from datetime import timedelta +from datetime import datetime, timedelta import discord from discord.ext import commands from discord.utils import find -from jarvis.cogs.modlog.utils import get_latest_log -from jarvis.cogs.modlog.utils import modlog_embed +from jarvis.cogs.modlog.utils import get_latest_log, modlog_embed from jarvis.config import get_config -from jarvis.db.models import Ban -from jarvis.db.models import Kick -from jarvis.db.models import Mute -from jarvis.db.models import Setting -from jarvis.db.models import Unban +from jarvis.db.models import Ban, Kick, Mute, Setting, Unban from jarvis.utils import build_embed from jarvis.utils.field import Field diff --git a/jarvis/cogs/modlog/utils.py b/jarvis/cogs/modlog/utils.py index 0742e0d..8831016 100644 --- a/jarvis/cogs/modlog/utils.py +++ b/jarvis/cogs/modlog/utils.py @@ -1,11 +1,9 @@ """J.A.R.V.I.S. Modlog Cog Utilities.""" -from datetime import datetime -from datetime import timedelta +from datetime import datetime, timedelta from typing import List import discord -from discord import AuditLogEntry -from discord import Member +from discord import AuditLogEntry, Member from discord.utils import find from jarvis.utils import build_embed diff --git a/jarvis/cogs/owner.py b/jarvis/cogs/owner.py index 55e1b83..7979ad0 100644 --- a/jarvis/cogs/owner.py +++ b/jarvis/cogs/owner.py @@ -7,8 +7,7 @@ from time import time from typing import Any import discord -from discord import DMChannel -from discord import User +from discord import DMChannel, User from discord.ext import commands import jarvis diff --git a/jarvis/cogs/remindme.py b/jarvis/cogs/remindme.py index f9132d6..c61ac39 100644 --- a/jarvis/cogs/remindme.py +++ b/jarvis/cogs/remindme.py @@ -1,22 +1,21 @@ """J.A.R.V.I.S. Remind Me Cog.""" import asyncio import re -from datetime import datetime -from datetime import timedelta -from typing import List -from typing import Optional +from datetime import datetime, timedelta +from typing import List, Optional from bson import ObjectId from discord import Embed from discord.ext.commands import Bot from discord.ext.tasks import loop -from discord_slash import cog_ext -from discord_slash import SlashContext +from discord_slash import SlashContext, cog_ext from discord_slash.utils.manage_commands import create_option -from discord_slash.utils.manage_components import create_actionrow -from discord_slash.utils.manage_components import create_select -from discord_slash.utils.manage_components import create_select_option -from discord_slash.utils.manage_components import wait_for_component +from discord_slash.utils.manage_components import ( + create_actionrow, + create_select, + create_select_option, + wait_for_component, +) from jarvis.db.models import Reminder from jarvis.utils import build_embed diff --git a/jarvis/cogs/rolegiver.py b/jarvis/cogs/rolegiver.py index 952e2e2..7240fe1 100644 --- a/jarvis/cogs/rolegiver.py +++ b/jarvis/cogs/rolegiver.py @@ -1,8 +1,7 @@ """J.A.R.V.I.S. Role Giver Cog.""" from discord import Role from discord.ext import commands -from discord_slash import cog_ext -from discord_slash import SlashContext +from discord_slash import SlashContext, cog_ext from discord_slash.utils.manage_commands import create_option from jarvis.db.models import Setting diff --git a/jarvis/cogs/settings.py b/jarvis/cogs/settings.py index 2d459bc..3b45533 100644 --- a/jarvis/cogs/settings.py +++ b/jarvis/cogs/settings.py @@ -1,12 +1,10 @@ """J.A.R.V.I.S. Settings Management Cog.""" from typing import Any -from discord import Role -from discord import TextChannel +from discord import Role, TextChannel from discord.ext import commands from discord.utils import find -from discord_slash import cog_ext -from discord_slash import SlashContext +from discord_slash import SlashContext, cog_ext from discord_slash.utils.manage_commands import create_option from jarvis.db.models import Setting diff --git a/jarvis/cogs/util.py b/jarvis/cogs/util.py index 66831a2..e574546 100644 --- a/jarvis/cogs/util.py +++ b/jarvis/cogs/util.py @@ -6,28 +6,17 @@ from io import BytesIO import discord import discord_slash -from discord import File -from discord import Guild -from discord import Role -from discord import User +from discord import File, Guild, Role, User from discord.ext import commands -from discord_slash import cog_ext -from discord_slash import SlashContext -from discord_slash.utils.manage_commands import create_choice -from discord_slash.utils.manage_commands import create_option -from PIL import Image -from PIL import ImageDraw +from discord_slash import SlashContext, cog_ext +from discord_slash.utils.manage_commands import create_choice, create_option +from PIL import Image, ImageDraw import jarvis -from jarvis import jarvis_self -from jarvis import logo +from jarvis import jarvis_self, logo from jarvis.config import get_config -from jarvis.data.robotcamo import emotes -from jarvis.data.robotcamo import hk -from jarvis.data.robotcamo import names -from jarvis.utils import build_embed -from jarvis.utils import convert_bytesize -from jarvis.utils import get_repo_hash +from jarvis.data.robotcamo import emotes, hk, names +from jarvis.utils import build_embed, convert_bytesize, get_repo_hash from jarvis.utils.field import Field diff --git a/jarvis/cogs/verify.py b/jarvis/cogs/verify.py index 54ea278..540e65c 100644 --- a/jarvis/cogs/verify.py +++ b/jarvis/cogs/verify.py @@ -2,9 +2,7 @@ from random import randint from discord.ext import commands -from discord_slash import cog_ext -from discord_slash import ComponentContext -from discord_slash import SlashContext +from discord_slash import ComponentContext, SlashContext, cog_ext from discord_slash.model import ButtonStyle from discord_slash.utils import manage_components diff --git a/jarvis/db/models.py b/jarvis/db/models.py index 573daff..1832201 100644 --- a/jarvis/db/models.py +++ b/jarvis/db/models.py @@ -2,14 +2,16 @@ from datetime import datetime from mongoengine import Document -from mongoengine.fields import BooleanField -from mongoengine.fields import DateTimeField -from mongoengine.fields import DictField -from mongoengine.fields import DynamicField -from mongoengine.fields import IntField -from mongoengine.fields import ListField -from mongoengine.fields import LongField -from mongoengine.fields import StringField +from mongoengine.fields import ( + BooleanField, + DateTimeField, + DictField, + DynamicField, + IntField, + ListField, + LongField, + StringField, +) class SnowflakeField(LongField): diff --git a/jarvis/events/member.py b/jarvis/events/member.py index e54f719..8dec15e 100644 --- a/jarvis/events/member.py +++ b/jarvis/events/member.py @@ -2,8 +2,7 @@ from discord import Member from discord.ext.commands import Bot -from jarvis.db.models import Mute -from jarvis.db.models import Setting +from jarvis.db.models import Mute, Setting class MemberEventHandler(object): diff --git a/jarvis/events/message.py b/jarvis/events/message.py index 8985f14..acefe2d 100644 --- a/jarvis/events/message.py +++ b/jarvis/events/message.py @@ -1,17 +1,12 @@ """J.A.R.V.I.S. Message event handler.""" import re -from discord import DMChannel -from discord import Message +from discord import DMChannel, Message from discord.ext.commands import Bot from discord.utils import find from jarvis.config import get_config -from jarvis.db.models import Autopurge -from jarvis.db.models import Autoreact -from jarvis.db.models import Roleping -from jarvis.db.models import Setting -from jarvis.db.models import Warning +from jarvis.db.models import Autopurge, Autoreact, Roleping, Setting, Warning from jarvis.utils import build_embed from jarvis.utils.field import Field diff --git a/jarvis/tasks/__init__.py b/jarvis/tasks/__init__.py index 4ef40ea..3da9656 100644 --- a/jarvis/tasks/__init__.py +++ b/jarvis/tasks/__init__.py @@ -1,8 +1,5 @@ """J.A.R.V.I.S. background task handlers.""" -from jarvis.tasks import unban -from jarvis.tasks import unlock -from jarvis.tasks import unmute -from jarvis.tasks import unwarn +from jarvis.tasks import unban, unlock, unmute, unwarn def init() -> None: diff --git a/jarvis/tasks/unban.py b/jarvis/tasks/unban.py index 521a249..45c0a67 100644 --- a/jarvis/tasks/unban.py +++ b/jarvis/tasks/unban.py @@ -1,13 +1,11 @@ """J.A.R.V.I.S. unban background task handler.""" -from datetime import datetime -from datetime import timedelta +from datetime import datetime, timedelta from discord.ext.tasks import loop import jarvis from jarvis.config import get_config -from jarvis.db.models import Ban -from jarvis.db.models import Unban +from jarvis.db.models import Ban, Unban jarvis_id = get_config().client_id diff --git a/jarvis/tasks/unlock.py b/jarvis/tasks/unlock.py index a1a1762..19cf83b 100644 --- a/jarvis/tasks/unlock.py +++ b/jarvis/tasks/unlock.py @@ -1,6 +1,5 @@ """J.A.R.V.I.S. unlock background task handler.""" -from datetime import datetime -from datetime import timedelta +from datetime import datetime, timedelta from discord.ext.tasks import loop diff --git a/jarvis/tasks/unmute.py b/jarvis/tasks/unmute.py index 9a00bdc..6b24741 100644 --- a/jarvis/tasks/unmute.py +++ b/jarvis/tasks/unmute.py @@ -1,12 +1,10 @@ """J.A.R.V.I.S. unmute background task handler.""" -from datetime import datetime -from datetime import timedelta +from datetime import datetime, timedelta from discord.ext.tasks import loop import jarvis -from jarvis.db.models import Mute -from jarvis.db.models import Setting +from jarvis.db.models import Mute, Setting @loop(minutes=1) diff --git a/jarvis/tasks/unwarn.py b/jarvis/tasks/unwarn.py index d4754c3..6b0dd91 100644 --- a/jarvis/tasks/unwarn.py +++ b/jarvis/tasks/unwarn.py @@ -1,6 +1,5 @@ """J.A.R.V.I.S. unwarn background task handler.""" -from datetime import datetime -from datetime import timedelta +from datetime import datetime, timedelta from discord.ext.tasks import loop diff --git a/jarvis/utils/__init__.py b/jarvis/utils/__init__.py index 925a07e..2887a0d 100644 --- a/jarvis/utils/__init__.py +++ b/jarvis/utils/__init__.py @@ -3,9 +3,7 @@ from datetime import datetime from pkgutil import iter_modules import git -from discord import Color -from discord import Embed -from discord import Message +from discord import Color, Embed, Message from discord.ext import commands import jarvis.cogs diff --git a/jarvis/utils/cachecog.py b/jarvis/utils/cachecog.py index 5cfec4f..12c043d 100644 --- a/jarvis/utils/cachecog.py +++ b/jarvis/utils/cachecog.py @@ -1,6 +1,5 @@ """Cog wrapper for command caching.""" -from datetime import datetime -from datetime import timedelta +from datetime import datetime, timedelta from discord.ext import commands from discord.ext.tasks import loop diff --git a/run.py b/run.py index a83a96b..844831e 100755 --- a/run.py +++ b/run.py @@ -1,9 +1,7 @@ #!/bin/python3 # flake8: noqa from importlib import reload as ireload -from multiprocessing import freeze_support -from multiprocessing import Process -from multiprocessing import Value +from multiprocessing import Process, Value, freeze_support from pathlib import Path from time import sleep