Merge branch 'main' into 'dev'
Merge bugfixes into dev See merge request stark-industries/jarvis/jarvis-bot!57
This commit is contained in:
commit
a250f5278f
24 changed files with 53 additions and 53 deletions
|
@ -775,10 +775,12 @@ class Jarvis(Client):
|
|||
async def on_button(self, event: Button) -> None:
|
||||
"""Process button events."""
|
||||
context = event.context
|
||||
|
||||
if not context.custom_id.startswith("modcase|"):
|
||||
return # await super().on_button(event)
|
||||
|
||||
if not context.deferred and not context.responded:
|
||||
await context.defer(ephemeral=True)
|
||||
if not context.custom_id.startswith("modcase|"):
|
||||
return await super().on_button(event)
|
||||
|
||||
if not context.author.has_permission(Permissions.MODERATE_MEMBERS):
|
||||
return
|
||||
|
|
|
@ -4,7 +4,7 @@ from typing import Union
|
|||
|
||||
from jarvis_core.db import q
|
||||
from jarvis_core.db.models import Lock, Permission
|
||||
from naff import Client, Cog, InteractionContext
|
||||
from naff import Client, Extension, InteractionContext
|
||||
from naff.client.utils.misc_utils import get
|
||||
from naff.models.discord.channel import GuildText, GuildVoice
|
||||
from naff.models.discord.enums import Permissions
|
||||
|
@ -18,7 +18,7 @@ from naff.models.naff.command import check
|
|||
from jarvis.utils.permissions import admin_or_permissions
|
||||
|
||||
|
||||
class LockCog(Cog):
|
||||
class LockCog(Extension):
|
||||
"""JARVIS LockCog."""
|
||||
|
||||
def __init__(self, bot: Client):
|
||||
|
|
|
@ -3,7 +3,7 @@ import logging
|
|||
|
||||
from jarvis_core.db import q
|
||||
from jarvis_core.db.models import Lock, Lockdown, Permission
|
||||
from naff import Client, Cog, InteractionContext
|
||||
from naff import Client, Extension, InteractionContext
|
||||
from naff.client.utils.misc_utils import find_all, get
|
||||
from naff.models.discord.channel import GuildCategory, GuildChannel
|
||||
from naff.models.discord.enums import Permissions
|
||||
|
@ -94,7 +94,7 @@ async def unlock_all(bot: Client, guild: Guild, admin: Member) -> None:
|
|||
await lockdown.commit()
|
||||
|
||||
|
||||
class LockdownCog(Cog):
|
||||
class LockdownCog(Extension):
|
||||
"""JARVIS LockdownCog."""
|
||||
|
||||
def __init__(self, bot: Client):
|
||||
|
|
|
@ -3,7 +3,7 @@ from typing import TYPE_CHECKING, List, Optional
|
|||
|
||||
from jarvis_core.db import q
|
||||
from jarvis_core.db.models import Modlog, Note, actions
|
||||
from naff import Cog, InteractionContext, Permissions
|
||||
from naff import Extension, InteractionContext, Permissions
|
||||
from naff.ext.paginators import Paginator
|
||||
from naff.models.discord.embed import Embed, EmbedField
|
||||
from naff.models.discord.user import Member
|
||||
|
@ -31,7 +31,7 @@ ACTIONS_LOOKUP = {
|
|||
}
|
||||
|
||||
|
||||
class CaseCog(Cog):
|
||||
class CaseCog(Extension):
|
||||
"""JARVIS CaseCog."""
|
||||
|
||||
async def get_summary_embed(self, mod_case: Modlog, guild: "Guild") -> Embed:
|
||||
|
|
|
@ -3,7 +3,7 @@ import logging
|
|||
|
||||
from jarvis_core.db import q
|
||||
from jarvis_core.db.models import Autopurge, Purge
|
||||
from naff import Client, Cog, InteractionContext, Permissions
|
||||
from naff import Client, Extension, InteractionContext, Permissions
|
||||
from naff.models.discord.channel import GuildText
|
||||
from naff.models.naff.application_commands import (
|
||||
OptionTypes,
|
||||
|
@ -15,7 +15,7 @@ from naff.models.naff.command import check
|
|||
from jarvis.utils.permissions import admin_or_permissions
|
||||
|
||||
|
||||
class PurgeCog(Cog):
|
||||
class PurgeCog(Extension):
|
||||
"""JARVIS PurgeCog."""
|
||||
|
||||
def __init__(self, bot: Client):
|
||||
|
|
|
@ -3,7 +3,7 @@ import logging
|
|||
|
||||
from jarvis_core.db import q
|
||||
from jarvis_core.db.models import Roleping
|
||||
from naff import Client, Cog, InteractionContext, Permissions
|
||||
from naff import Client, Extension, InteractionContext, Permissions
|
||||
from naff.client.utils.misc_utils import find_all
|
||||
from naff.ext.paginators import Paginator
|
||||
from naff.models.discord.embed import EmbedField
|
||||
|
@ -20,7 +20,7 @@ from jarvis.utils import build_embed
|
|||
from jarvis.utils.permissions import admin_or_permissions
|
||||
|
||||
|
||||
class RolepingCog(Cog):
|
||||
class RolepingCog(Extension):
|
||||
"""JARVIS RolepingCog."""
|
||||
|
||||
def __init__(self, bot: Client):
|
||||
|
|
|
@ -5,7 +5,7 @@ from typing import Optional, Tuple
|
|||
|
||||
from jarvis_core.db import q
|
||||
from jarvis_core.db.models import Autoreact
|
||||
from naff import Client, Cog, InteractionContext, Permissions
|
||||
from naff import Client, Extension, InteractionContext, Permissions
|
||||
from naff.client.utils.misc_utils import find
|
||||
from naff.models.discord.channel import GuildText
|
||||
from naff.models.naff.application_commands import (
|
||||
|
@ -19,7 +19,7 @@ from jarvis.data.unicode import emoji_list
|
|||
from jarvis.utils.permissions import admin_or_permissions
|
||||
|
||||
|
||||
class AutoReactCog(Cog):
|
||||
class AutoReactCog(Extension):
|
||||
"""JARVIS Autoreact Cog."""
|
||||
|
||||
def __init__(self, bot: Client):
|
||||
|
|
|
@ -5,7 +5,7 @@ from io import BytesIO
|
|||
|
||||
import psutil
|
||||
from aiofile import AIOFile, LineReader
|
||||
from naff import Client, Cog, PrefixedContext, prefixed_command
|
||||
from naff import Client, Extension, PrefixedContext, prefixed_command
|
||||
from naff.models.discord.embed import EmbedField
|
||||
from naff.models.discord.file import File
|
||||
from rich.console import Console
|
||||
|
@ -14,13 +14,13 @@ from jarvis.utils import build_embed
|
|||
from jarvis.utils.updates import update
|
||||
|
||||
|
||||
class BotutilCog(Cog):
|
||||
class BotutilCog(Extension):
|
||||
"""JARVIS Bot Utility Cog."""
|
||||
|
||||
def __init__(self, bot: Client):
|
||||
self.bot = bot
|
||||
self.logger = logging.getLogger(__name__)
|
||||
self.add_cog_check(self.is_owner)
|
||||
self.add_ext_check(self.is_owner)
|
||||
|
||||
async def is_owner(self, ctx: PrefixedContext) -> bool:
|
||||
"""Checks if author is bot owner."""
|
||||
|
|
|
@ -5,7 +5,7 @@ import re
|
|||
import aiohttp
|
||||
from jarvis_core.db import q
|
||||
from jarvis_core.db.models import Guess
|
||||
from naff import Client, Cog, InteractionContext
|
||||
from naff import Client, Extension, InteractionContext
|
||||
from naff.ext.paginators import Paginator
|
||||
from naff.models.discord.components import ActionRow, Button, ButtonStyles
|
||||
from naff.models.discord.embed import EmbedField
|
||||
|
@ -29,7 +29,7 @@ invites = re.compile(
|
|||
)
|
||||
|
||||
|
||||
class CTCCog(Cog):
|
||||
class CTCCog(Extension):
|
||||
"""JARVIS Complete the Code 2 Cog."""
|
||||
|
||||
def __init__(self, bot: Client):
|
||||
|
|
|
@ -3,7 +3,7 @@ import logging
|
|||
import re
|
||||
|
||||
import aiohttp
|
||||
from naff import Client, Cog, InteractionContext
|
||||
from naff import Client, Extension, InteractionContext
|
||||
from naff.models.discord.embed import EmbedField
|
||||
from naff.models.naff.application_commands import (
|
||||
OptionTypes,
|
||||
|
@ -20,7 +20,7 @@ from jarvis.utils import build_embed
|
|||
guild_ids = [862402786116763668] # [578757004059738142, 520021794380447745, 862402786116763668]
|
||||
|
||||
|
||||
class DbrandCog(Cog):
|
||||
class DbrandCog(Extension):
|
||||
"""
|
||||
dbrand functions for JARVIS
|
||||
|
||||
|
|
|
@ -11,7 +11,7 @@ from bson import ObjectId
|
|||
from jarvis_core.filters import invites, url
|
||||
from jarvis_core.util import convert_bytesize, hash
|
||||
from jarvis_core.util.http import get_size
|
||||
from naff import Client, Cog, InteractionContext
|
||||
from naff import Client, Extension, InteractionContext
|
||||
from naff.models.discord.embed import EmbedField
|
||||
from naff.models.discord.message import Attachment
|
||||
from naff.models.naff.application_commands import (
|
||||
|
@ -45,7 +45,7 @@ UUID_GET = {3: uuidpy.uuid3, 5: uuidpy.uuid5}
|
|||
MAX_FILESIZE = 5 * (1024**3) # 5GB
|
||||
|
||||
|
||||
class DevCog(Cog):
|
||||
class DevCog(Extension):
|
||||
"""JARVIS Developer Cog."""
|
||||
|
||||
def __init__(self, bot: Client):
|
||||
|
|
|
@ -4,7 +4,7 @@ import logging
|
|||
from datetime import datetime
|
||||
|
||||
import gitlab
|
||||
from naff import Client, Cog, InteractionContext
|
||||
from naff import Client, Extension, InteractionContext
|
||||
from naff.ext.paginators import Paginator
|
||||
from naff.models.discord.embed import Embed, EmbedField
|
||||
from naff.models.discord.modal import InputText, Modal, TextStyles
|
||||
|
@ -25,7 +25,7 @@ from jarvis.utils import build_embed
|
|||
guild_ids = [862402786116763668]
|
||||
|
||||
|
||||
class GitlabCog(Cog):
|
||||
class GitlabCog(Extension):
|
||||
"""JARVIS GitLab Cog."""
|
||||
|
||||
def __init__(self, bot: Client):
|
||||
|
|
|
@ -7,7 +7,7 @@ import aiohttp
|
|||
import cv2
|
||||
import numpy as np
|
||||
from jarvis_core.util import convert_bytesize, unconvert_bytesize
|
||||
from naff import Client, Cog, InteractionContext
|
||||
from naff import Client, Extension, InteractionContext
|
||||
from naff.models.discord.embed import EmbedField
|
||||
from naff.models.discord.file import File
|
||||
from naff.models.discord.message import Attachment
|
||||
|
@ -22,7 +22,7 @@ from jarvis.utils import build_embed
|
|||
MIN_ACCURACY = 0.80
|
||||
|
||||
|
||||
class ImageCog(Cog):
|
||||
class ImageCog(Extension):
|
||||
"""
|
||||
Image processing functions for JARVIS
|
||||
|
||||
|
|
|
@ -9,7 +9,7 @@ from asyncpraw.models.reddit.submission import Subreddit as Sub
|
|||
from asyncprawcore.exceptions import Forbidden, NotFound, Redirect
|
||||
from jarvis_core.db import q
|
||||
from jarvis_core.db.models import Subreddit, SubredditFollow
|
||||
from naff import Client, Cog, InteractionContext, Permissions
|
||||
from naff import Client, Extension, InteractionContext, Permissions
|
||||
from naff.client.utils.misc_utils import get
|
||||
from naff.models.discord.channel import ChannelTypes, GuildText
|
||||
from naff.models.discord.components import ActionRow, Select, SelectOption
|
||||
|
@ -30,7 +30,7 @@ from jarvis.utils.permissions import admin_or_permissions
|
|||
DEFAULT_USER_AGENT = f"python:JARVIS:{const.__version__} (by u/zevaryx)"
|
||||
|
||||
|
||||
class RedditCog(Cog):
|
||||
class RedditCog(Extension):
|
||||
"""JARVIS Reddit Cog."""
|
||||
|
||||
def __init__(self, bot: Client):
|
||||
|
@ -96,9 +96,7 @@ class RedditCog(Cog):
|
|||
url=url,
|
||||
color=color,
|
||||
)
|
||||
base_embed.set_author(
|
||||
name="u/" + post.author.name, url=author_url, icon_url=author_icon
|
||||
)
|
||||
base_embed.set_author(name="u/" + post.author.name, url=author_url, icon_url=author_icon)
|
||||
base_embed.set_footer(
|
||||
text="Reddit", icon_url="https://www.redditinc.com/assets/images/site/reddit-logo.png"
|
||||
)
|
||||
|
|
|
@ -10,7 +10,7 @@ from dateparser import parse
|
|||
from dateparser_data.settings import default_parsers
|
||||
from jarvis_core.db import q
|
||||
from jarvis_core.db.models import Reminder
|
||||
from naff import Client, Cog, InteractionContext
|
||||
from naff import Client, Extension, InteractionContext
|
||||
from naff.client.utils.misc_utils import get
|
||||
from naff.models.discord.channel import GuildChannel
|
||||
from naff.models.discord.components import ActionRow, Select, SelectOption
|
||||
|
@ -33,7 +33,7 @@ invites = re.compile(
|
|||
)
|
||||
|
||||
|
||||
class RemindmeCog(Cog):
|
||||
class RemindmeCog(Extension):
|
||||
"""JARVIS Remind Me Cog."""
|
||||
|
||||
def __init__(self, bot: Client):
|
||||
|
|
|
@ -4,7 +4,7 @@ import logging
|
|||
|
||||
from jarvis_core.db import q
|
||||
from jarvis_core.db.models import Rolegiver
|
||||
from naff import Client, Cog, InteractionContext, Permissions
|
||||
from naff import Client, Extension, InteractionContext, Permissions
|
||||
from naff.client.utils.misc_utils import get
|
||||
from naff.models.discord.components import ActionRow, Select, SelectOption
|
||||
from naff.models.discord.embed import EmbedField
|
||||
|
@ -21,7 +21,7 @@ from jarvis.utils import build_embed
|
|||
from jarvis.utils.permissions import admin_or_permissions
|
||||
|
||||
|
||||
class RolegiverCog(Cog):
|
||||
class RolegiverCog(Extension):
|
||||
"""JARVIS Role Giver Cog."""
|
||||
|
||||
def __init__(self, bot: Client):
|
||||
|
|
|
@ -5,7 +5,7 @@ from typing import Any
|
|||
|
||||
from jarvis_core.db import q
|
||||
from jarvis_core.db.models import Setting
|
||||
from naff import Client, Cog, InteractionContext
|
||||
from naff import Client, Extension, InteractionContext
|
||||
from naff.models.discord.channel import GuildText
|
||||
from naff.models.discord.components import ActionRow, Button, ButtonStyles
|
||||
from naff.models.discord.embed import EmbedField
|
||||
|
@ -22,7 +22,7 @@ from jarvis.utils import build_embed
|
|||
from jarvis.utils.permissions import admin_or_permissions
|
||||
|
||||
|
||||
class SettingsCog(Cog):
|
||||
class SettingsCog(Extension):
|
||||
"""JARVIS Settings Management Cog."""
|
||||
|
||||
def __init__(self, bot: Client):
|
||||
|
|
|
@ -3,7 +3,7 @@ import logging
|
|||
|
||||
from jarvis_core.db import q
|
||||
from jarvis_core.db.models import Star, Starboard
|
||||
from naff import Client, Cog, InteractionContext, Permissions
|
||||
from naff import Client, Extension, InteractionContext, Permissions
|
||||
from naff.models.discord.channel import GuildText
|
||||
from naff.models.discord.components import ActionRow, Select, SelectOption
|
||||
from naff.models.discord.message import Message
|
||||
|
@ -28,7 +28,7 @@ supported_images = [
|
|||
]
|
||||
|
||||
|
||||
class StarboardCog(Cog):
|
||||
class StarboardCog(Extension):
|
||||
"""JARVIS Starboard Cog."""
|
||||
|
||||
def __init__(self, bot: Client):
|
||||
|
|
|
@ -5,7 +5,7 @@ from datetime import datetime, timezone
|
|||
from dateparser import parse
|
||||
from dateparser_data.settings import default_parsers
|
||||
from jarvis_core.db.models import Temprole
|
||||
from naff import Client, Cog, InteractionContext, Permissions
|
||||
from naff import Client, Extension, InteractionContext, Permissions
|
||||
from naff.models.discord.embed import EmbedField
|
||||
from naff.models.discord.role import Role
|
||||
from naff.models.discord.user import Member
|
||||
|
@ -20,7 +20,7 @@ from jarvis.utils import build_embed
|
|||
from jarvis.utils.permissions import admin_or_permissions
|
||||
|
||||
|
||||
class TemproleCog(Cog):
|
||||
class TemproleCog(Extension):
|
||||
"""JARVIS Temporary Role Cog."""
|
||||
|
||||
def __init__(self, bot: Client):
|
||||
|
|
|
@ -5,7 +5,7 @@ import logging
|
|||
import tweepy
|
||||
from jarvis_core.db import q
|
||||
from jarvis_core.db.models import TwitterAccount, TwitterFollow
|
||||
from naff import Client, Cog, InteractionContext, Permissions
|
||||
from naff import Client, Extension, InteractionContext, Permissions
|
||||
from naff.client.utils.misc_utils import get
|
||||
from naff.models.discord.channel import GuildText
|
||||
from naff.models.discord.components import ActionRow, Select, SelectOption
|
||||
|
@ -20,7 +20,7 @@ from jarvis.config import JarvisConfig
|
|||
from jarvis.utils.permissions import admin_or_permissions
|
||||
|
||||
|
||||
class TwitterCog(Cog):
|
||||
class TwitterCog(Extension):
|
||||
"""JARVIS Twitter Cog."""
|
||||
|
||||
def __init__(self, bot: Client):
|
||||
|
|
|
@ -8,7 +8,7 @@ from io import BytesIO
|
|||
|
||||
import numpy as np
|
||||
from dateparser import parse
|
||||
from naff import Client, Cog, InteractionContext, const
|
||||
from naff import Client, Extension, InteractionContext, const
|
||||
from naff.models.discord.channel import GuildCategory, GuildText, GuildVoice
|
||||
from naff.models.discord.embed import EmbedField
|
||||
from naff.models.discord.file import File
|
||||
|
@ -36,7 +36,7 @@ from jarvis.utils import build_embed, get_repo_hash
|
|||
JARVIS_LOGO = Image.open("jarvis_small.png").convert("RGBA")
|
||||
|
||||
|
||||
class UtilCog(Cog):
|
||||
class UtilCog(Extension):
|
||||
"""
|
||||
Utility functions for JARVIS
|
||||
|
||||
|
|
|
@ -5,7 +5,7 @@ from random import randint
|
|||
|
||||
from jarvis_core.db import q
|
||||
from jarvis_core.db.models import Setting
|
||||
from naff import Client, Cog, InteractionContext
|
||||
from naff import Client, Extension, InteractionContext
|
||||
from naff.models.discord.components import Button, ButtonStyles, spread_to_rows
|
||||
from naff.models.naff.application_commands import slash_command
|
||||
from naff.models.naff.command import cooldown
|
||||
|
@ -30,7 +30,7 @@ def create_layout() -> list:
|
|||
return spread_to_rows(*buttons, max_in_row=3)
|
||||
|
||||
|
||||
class VerifyCog(Cog):
|
||||
class VerifyCog(Extension):
|
||||
"""JARVIS Verify Cog."""
|
||||
|
||||
def __init__(self, bot: Client):
|
||||
|
|
|
@ -4,7 +4,7 @@ from datetime import timedelta
|
|||
|
||||
from jarvis_core.db import q
|
||||
from jarvis_core.db.models import Action, Ban, Kick, Modlog, Mute, Setting, Warning
|
||||
from naff import Client, Cog, InteractionContext
|
||||
from naff import Client, Extension, InteractionContext
|
||||
from naff.models.discord.components import ActionRow, Button, ButtonStyles
|
||||
from naff.models.discord.embed import EmbedField
|
||||
|
||||
|
@ -14,13 +14,13 @@ MODLOG_LOOKUP = {"Ban": Ban, "Kick": Kick, "Mute": Mute, "Warning": Warning}
|
|||
IGNORE_COMMANDS = {"Ban": ["bans"], "Kick": [], "Mute": ["unmute"], "Warning": ["warnings"]}
|
||||
|
||||
|
||||
class ModcaseCog(Cog):
|
||||
class ModcaseCog(Extension):
|
||||
"""Cog wrapper for moderation case logging."""
|
||||
|
||||
def __init__(self, bot: Client):
|
||||
self.bot = bot
|
||||
self.logger = logging.getLogger(__name__)
|
||||
self.add_cog_postrun(self.log)
|
||||
self.add_extension_postrun(self.log)
|
||||
|
||||
async def log(self, ctx: InteractionContext, *_args: list, **kwargs: dict) -> None:
|
||||
"""
|
||||
|
|
|
@ -12,7 +12,7 @@ import git
|
|||
from naff.client.errors import ExtensionNotFound
|
||||
from naff.client.utils.misc_utils import find, find_all
|
||||
from naff.models.naff.application_commands import SlashCommand
|
||||
from naff.models.naff.cog import Cog
|
||||
from naff.models.naff.extension import Extension
|
||||
from rich.table import Table
|
||||
|
||||
import jarvis.cogs
|
||||
|
@ -41,7 +41,7 @@ def get_all_commands(module: ModuleType = jarvis.cogs) -> Dict[str, Callable]:
|
|||
commands = {}
|
||||
|
||||
def validate_ires(entry: Any) -> bool:
|
||||
return isclass(entry) and issubclass(entry, Cog) and entry is not Cog
|
||||
return isclass(entry) and issubclass(entry, Extension) and entry is not Extension
|
||||
|
||||
def validate_cog(cog: FunctionType) -> bool:
|
||||
return isinstance(cog, SlashCommand)
|
||||
|
|
Loading…
Add table
Reference in a new issue