Merge branch 'main' into 'reddit_fix'
This commit is contained in:
commit
974bd972a6
25 changed files with 59 additions and 53 deletions
|
@ -775,10 +775,12 @@ class Jarvis(Client):
|
||||||
async def on_button(self, event: Button) -> None:
|
async def on_button(self, event: Button) -> None:
|
||||||
"""Process button events."""
|
"""Process button events."""
|
||||||
context = event.context
|
context = event.context
|
||||||
|
|
||||||
|
if not context.custom_id.startswith("modcase|"):
|
||||||
|
return # await super().on_button(event)
|
||||||
|
|
||||||
if not context.deferred and not context.responded:
|
if not context.deferred and not context.responded:
|
||||||
await context.defer(ephemeral=True)
|
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):
|
if not context.author.has_permission(Permissions.MODERATE_MEMBERS):
|
||||||
return
|
return
|
||||||
|
|
|
@ -4,7 +4,7 @@ from typing import Union
|
||||||
|
|
||||||
from jarvis_core.db import q
|
from jarvis_core.db import q
|
||||||
from jarvis_core.db.models import Lock, Permission
|
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.client.utils.misc_utils import get
|
||||||
from naff.models.discord.channel import GuildText, GuildVoice
|
from naff.models.discord.channel import GuildText, GuildVoice
|
||||||
from naff.models.discord.enums import Permissions
|
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
|
from jarvis.utils.permissions import admin_or_permissions
|
||||||
|
|
||||||
|
|
||||||
class LockCog(Cog):
|
class LockCog(Extension):
|
||||||
"""JARVIS LockCog."""
|
"""JARVIS LockCog."""
|
||||||
|
|
||||||
def __init__(self, bot: Client):
|
def __init__(self, bot: Client):
|
||||||
|
|
|
@ -3,7 +3,7 @@ import logging
|
||||||
|
|
||||||
from jarvis_core.db import q
|
from jarvis_core.db import q
|
||||||
from jarvis_core.db.models import Lock, Lockdown, Permission
|
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.client.utils.misc_utils import find_all, get
|
||||||
from naff.models.discord.channel import GuildCategory, GuildChannel
|
from naff.models.discord.channel import GuildCategory, GuildChannel
|
||||||
from naff.models.discord.enums import Permissions
|
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()
|
await lockdown.commit()
|
||||||
|
|
||||||
|
|
||||||
class LockdownCog(Cog):
|
class LockdownCog(Extension):
|
||||||
"""JARVIS LockdownCog."""
|
"""JARVIS LockdownCog."""
|
||||||
|
|
||||||
def __init__(self, bot: Client):
|
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 import q
|
||||||
from jarvis_core.db.models import Modlog, Note, actions
|
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.ext.paginators import Paginator
|
||||||
from naff.models.discord.embed import Embed, EmbedField
|
from naff.models.discord.embed import Embed, EmbedField
|
||||||
from naff.models.discord.user import Member
|
from naff.models.discord.user import Member
|
||||||
|
@ -31,7 +31,7 @@ ACTIONS_LOOKUP = {
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
class CaseCog(Cog):
|
class CaseCog(Extension):
|
||||||
"""JARVIS CaseCog."""
|
"""JARVIS CaseCog."""
|
||||||
|
|
||||||
async def get_summary_embed(self, mod_case: Modlog, guild: "Guild") -> Embed:
|
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 import q
|
||||||
from jarvis_core.db.models import Autopurge, Purge
|
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.discord.channel import GuildText
|
||||||
from naff.models.naff.application_commands import (
|
from naff.models.naff.application_commands import (
|
||||||
OptionTypes,
|
OptionTypes,
|
||||||
|
@ -15,7 +15,7 @@ from naff.models.naff.command import check
|
||||||
from jarvis.utils.permissions import admin_or_permissions
|
from jarvis.utils.permissions import admin_or_permissions
|
||||||
|
|
||||||
|
|
||||||
class PurgeCog(Cog):
|
class PurgeCog(Extension):
|
||||||
"""JARVIS PurgeCog."""
|
"""JARVIS PurgeCog."""
|
||||||
|
|
||||||
def __init__(self, bot: Client):
|
def __init__(self, bot: Client):
|
||||||
|
|
|
@ -3,7 +3,7 @@ import logging
|
||||||
|
|
||||||
from jarvis_core.db import q
|
from jarvis_core.db import q
|
||||||
from jarvis_core.db.models import Roleping
|
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.client.utils.misc_utils import find_all
|
||||||
from naff.ext.paginators import Paginator
|
from naff.ext.paginators import Paginator
|
||||||
from naff.models.discord.embed import EmbedField
|
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
|
from jarvis.utils.permissions import admin_or_permissions
|
||||||
|
|
||||||
|
|
||||||
class RolepingCog(Cog):
|
class RolepingCog(Extension):
|
||||||
"""JARVIS RolepingCog."""
|
"""JARVIS RolepingCog."""
|
||||||
|
|
||||||
def __init__(self, bot: Client):
|
def __init__(self, bot: Client):
|
||||||
|
|
|
@ -5,7 +5,7 @@ from typing import Optional, Tuple
|
||||||
|
|
||||||
from jarvis_core.db import q
|
from jarvis_core.db import q
|
||||||
from jarvis_core.db.models import Autoreact
|
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.client.utils.misc_utils import find
|
||||||
from naff.models.discord.channel import GuildText
|
from naff.models.discord.channel import GuildText
|
||||||
from naff.models.naff.application_commands import (
|
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
|
from jarvis.utils.permissions import admin_or_permissions
|
||||||
|
|
||||||
|
|
||||||
class AutoReactCog(Cog):
|
class AutoReactCog(Extension):
|
||||||
"""JARVIS Autoreact Cog."""
|
"""JARVIS Autoreact Cog."""
|
||||||
|
|
||||||
def __init__(self, bot: Client):
|
def __init__(self, bot: Client):
|
||||||
|
|
|
@ -5,7 +5,7 @@ from io import BytesIO
|
||||||
|
|
||||||
import psutil
|
import psutil
|
||||||
from aiofile import AIOFile, LineReader
|
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.embed import EmbedField
|
||||||
from naff.models.discord.file import File
|
from naff.models.discord.file import File
|
||||||
from rich.console import Console
|
from rich.console import Console
|
||||||
|
@ -14,13 +14,13 @@ from jarvis.utils import build_embed
|
||||||
from jarvis.utils.updates import update
|
from jarvis.utils.updates import update
|
||||||
|
|
||||||
|
|
||||||
class BotutilCog(Cog):
|
class BotutilCog(Extension):
|
||||||
"""JARVIS Bot Utility Cog."""
|
"""JARVIS Bot Utility Cog."""
|
||||||
|
|
||||||
def __init__(self, bot: Client):
|
def __init__(self, bot: Client):
|
||||||
self.bot = bot
|
self.bot = bot
|
||||||
self.logger = logging.getLogger(__name__)
|
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:
|
async def is_owner(self, ctx: PrefixedContext) -> bool:
|
||||||
"""Checks if author is bot owner."""
|
"""Checks if author is bot owner."""
|
||||||
|
|
|
@ -5,7 +5,7 @@ import re
|
||||||
import aiohttp
|
import aiohttp
|
||||||
from jarvis_core.db import q
|
from jarvis_core.db import q
|
||||||
from jarvis_core.db.models import Guess
|
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.ext.paginators import Paginator
|
||||||
from naff.models.discord.components import ActionRow, Button, ButtonStyles
|
from naff.models.discord.components import ActionRow, Button, ButtonStyles
|
||||||
from naff.models.discord.embed import EmbedField
|
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."""
|
"""JARVIS Complete the Code 2 Cog."""
|
||||||
|
|
||||||
def __init__(self, bot: Client):
|
def __init__(self, bot: Client):
|
||||||
|
|
|
@ -3,7 +3,7 @@ import logging
|
||||||
import re
|
import re
|
||||||
|
|
||||||
import aiohttp
|
import aiohttp
|
||||||
from naff import Client, Cog, InteractionContext
|
from naff import Client, Extension, InteractionContext
|
||||||
from naff.models.discord.embed import EmbedField
|
from naff.models.discord.embed import EmbedField
|
||||||
from naff.models.naff.application_commands import (
|
from naff.models.naff.application_commands import (
|
||||||
OptionTypes,
|
OptionTypes,
|
||||||
|
@ -20,7 +20,7 @@ from jarvis.utils import build_embed
|
||||||
guild_ids = [862402786116763668] # [578757004059738142, 520021794380447745, 862402786116763668]
|
guild_ids = [862402786116763668] # [578757004059738142, 520021794380447745, 862402786116763668]
|
||||||
|
|
||||||
|
|
||||||
class DbrandCog(Cog):
|
class DbrandCog(Extension):
|
||||||
"""
|
"""
|
||||||
dbrand functions for JARVIS
|
dbrand functions for JARVIS
|
||||||
|
|
||||||
|
|
|
@ -11,7 +11,7 @@ from bson import ObjectId
|
||||||
from jarvis_core.filters import invites, url
|
from jarvis_core.filters import invites, url
|
||||||
from jarvis_core.util import convert_bytesize, hash
|
from jarvis_core.util import convert_bytesize, hash
|
||||||
from jarvis_core.util.http import get_size
|
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.embed import EmbedField
|
||||||
from naff.models.discord.message import Attachment
|
from naff.models.discord.message import Attachment
|
||||||
from naff.models.naff.application_commands import (
|
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
|
MAX_FILESIZE = 5 * (1024**3) # 5GB
|
||||||
|
|
||||||
|
|
||||||
class DevCog(Cog):
|
class DevCog(Extension):
|
||||||
"""JARVIS Developer Cog."""
|
"""JARVIS Developer Cog."""
|
||||||
|
|
||||||
def __init__(self, bot: Client):
|
def __init__(self, bot: Client):
|
||||||
|
|
|
@ -4,7 +4,7 @@ import logging
|
||||||
from datetime import datetime
|
from datetime import datetime
|
||||||
|
|
||||||
import gitlab
|
import gitlab
|
||||||
from naff import Client, Cog, InteractionContext
|
from naff import Client, Extension, InteractionContext
|
||||||
from naff.ext.paginators import Paginator
|
from naff.ext.paginators import Paginator
|
||||||
from naff.models.discord.embed import Embed, EmbedField
|
from naff.models.discord.embed import Embed, EmbedField
|
||||||
from naff.models.discord.modal import InputText, Modal, TextStyles
|
from naff.models.discord.modal import InputText, Modal, TextStyles
|
||||||
|
@ -25,7 +25,7 @@ from jarvis.utils import build_embed
|
||||||
guild_ids = [862402786116763668]
|
guild_ids = [862402786116763668]
|
||||||
|
|
||||||
|
|
||||||
class GitlabCog(Cog):
|
class GitlabCog(Extension):
|
||||||
"""JARVIS GitLab Cog."""
|
"""JARVIS GitLab Cog."""
|
||||||
|
|
||||||
def __init__(self, bot: Client):
|
def __init__(self, bot: Client):
|
||||||
|
|
|
@ -7,7 +7,7 @@ import aiohttp
|
||||||
import cv2
|
import cv2
|
||||||
import numpy as np
|
import numpy as np
|
||||||
from jarvis_core.util import convert_bytesize, unconvert_bytesize
|
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.embed import EmbedField
|
||||||
from naff.models.discord.file import File
|
from naff.models.discord.file import File
|
||||||
from naff.models.discord.message import Attachment
|
from naff.models.discord.message import Attachment
|
||||||
|
@ -22,7 +22,7 @@ from jarvis.utils import build_embed
|
||||||
MIN_ACCURACY = 0.80
|
MIN_ACCURACY = 0.80
|
||||||
|
|
||||||
|
|
||||||
class ImageCog(Cog):
|
class ImageCog(Extension):
|
||||||
"""
|
"""
|
||||||
Image processing functions for JARVIS
|
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 asyncprawcore.exceptions import Forbidden, NotFound, Redirect
|
||||||
from jarvis_core.db import q
|
from jarvis_core.db import q
|
||||||
from jarvis_core.db.models import Subreddit, SubredditFollow, UserSetting
|
from jarvis_core.db.models import Subreddit, SubredditFollow, UserSetting
|
||||||
from naff import Client, Cog, InteractionContext, Permissions
|
from naff import Client, Extension, InteractionContext, Permissions
|
||||||
from naff.client.utils.misc_utils import get
|
from naff.client.utils.misc_utils import get
|
||||||
from naff.models.discord.channel import ChannelTypes, GuildText
|
from naff.models.discord.channel import ChannelTypes, GuildText
|
||||||
from naff.models.discord.components import ActionRow, Select, SelectOption
|
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)"
|
DEFAULT_USER_AGENT = f"python:JARVIS:{const.__version__} (by u/zevaryx)"
|
||||||
|
|
||||||
|
|
||||||
class RedditCog(Cog):
|
class RedditCog(Extension):
|
||||||
"""JARVIS Reddit Cog."""
|
"""JARVIS Reddit Cog."""
|
||||||
|
|
||||||
def __init__(self, bot: Client):
|
def __init__(self, bot: Client):
|
||||||
|
|
|
@ -10,7 +10,7 @@ from dateparser import parse
|
||||||
from dateparser_data.settings import default_parsers
|
from dateparser_data.settings import default_parsers
|
||||||
from jarvis_core.db import q
|
from jarvis_core.db import q
|
||||||
from jarvis_core.db.models import Reminder
|
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.client.utils.misc_utils import get
|
||||||
from naff.models.discord.channel import GuildChannel
|
from naff.models.discord.channel import GuildChannel
|
||||||
from naff.models.discord.components import ActionRow, Select, SelectOption
|
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."""
|
"""JARVIS Remind Me Cog."""
|
||||||
|
|
||||||
def __init__(self, bot: Client):
|
def __init__(self, bot: Client):
|
||||||
|
|
|
@ -4,7 +4,7 @@ import logging
|
||||||
|
|
||||||
from jarvis_core.db import q
|
from jarvis_core.db import q
|
||||||
from jarvis_core.db.models import Rolegiver
|
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.client.utils.misc_utils import get
|
||||||
from naff.models.discord.components import ActionRow, Select, SelectOption
|
from naff.models.discord.components import ActionRow, Select, SelectOption
|
||||||
from naff.models.discord.embed import EmbedField
|
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
|
from jarvis.utils.permissions import admin_or_permissions
|
||||||
|
|
||||||
|
|
||||||
class RolegiverCog(Cog):
|
class RolegiverCog(Extension):
|
||||||
"""JARVIS Role Giver Cog."""
|
"""JARVIS Role Giver Cog."""
|
||||||
|
|
||||||
def __init__(self, bot: Client):
|
def __init__(self, bot: Client):
|
||||||
|
|
|
@ -5,7 +5,7 @@ from typing import Any
|
||||||
|
|
||||||
from jarvis_core.db import q
|
from jarvis_core.db import q
|
||||||
from jarvis_core.db.models import Setting
|
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.channel import GuildText
|
||||||
from naff.models.discord.components import ActionRow, Button, ButtonStyles
|
from naff.models.discord.components import ActionRow, Button, ButtonStyles
|
||||||
from naff.models.discord.embed import EmbedField
|
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
|
from jarvis.utils.permissions import admin_or_permissions
|
||||||
|
|
||||||
|
|
||||||
class SettingsCog(Cog):
|
class SettingsCog(Extension):
|
||||||
"""JARVIS Settings Management Cog."""
|
"""JARVIS Settings Management Cog."""
|
||||||
|
|
||||||
def __init__(self, bot: Client):
|
def __init__(self, bot: Client):
|
||||||
|
@ -219,7 +219,11 @@ class SettingsCog(Cog):
|
||||||
async for setting in settings:
|
async for setting in settings:
|
||||||
value = setting.value
|
value = setting.value
|
||||||
if setting.setting in ["unverified", "verified", "mute"]:
|
if setting.setting in ["unverified", "verified", "mute"]:
|
||||||
|
try:
|
||||||
value = await ctx.guild.fetch_role(value)
|
value = await ctx.guild.fetch_role(value)
|
||||||
|
except KeyError:
|
||||||
|
await setting.delete()
|
||||||
|
continue
|
||||||
if value:
|
if value:
|
||||||
value = value.mention
|
value = value.mention
|
||||||
else:
|
else:
|
||||||
|
|
|
@ -3,7 +3,7 @@ import logging
|
||||||
|
|
||||||
from jarvis_core.db import q
|
from jarvis_core.db import q
|
||||||
from jarvis_core.db.models import Star, Starboard
|
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.channel import GuildText
|
||||||
from naff.models.discord.components import ActionRow, Select, SelectOption
|
from naff.models.discord.components import ActionRow, Select, SelectOption
|
||||||
from naff.models.discord.message import Message
|
from naff.models.discord.message import Message
|
||||||
|
@ -28,7 +28,7 @@ supported_images = [
|
||||||
]
|
]
|
||||||
|
|
||||||
|
|
||||||
class StarboardCog(Cog):
|
class StarboardCog(Extension):
|
||||||
"""JARVIS Starboard Cog."""
|
"""JARVIS Starboard Cog."""
|
||||||
|
|
||||||
def __init__(self, bot: Client):
|
def __init__(self, bot: Client):
|
||||||
|
|
|
@ -5,7 +5,7 @@ from datetime import datetime, timezone
|
||||||
from dateparser import parse
|
from dateparser import parse
|
||||||
from dateparser_data.settings import default_parsers
|
from dateparser_data.settings import default_parsers
|
||||||
from jarvis_core.db.models import Temprole
|
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.embed import EmbedField
|
||||||
from naff.models.discord.role import Role
|
from naff.models.discord.role import Role
|
||||||
from naff.models.discord.user import Member
|
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
|
from jarvis.utils.permissions import admin_or_permissions
|
||||||
|
|
||||||
|
|
||||||
class TemproleCog(Cog):
|
class TemproleCog(Extension):
|
||||||
"""JARVIS Temporary Role Cog."""
|
"""JARVIS Temporary Role Cog."""
|
||||||
|
|
||||||
def __init__(self, bot: Client):
|
def __init__(self, bot: Client):
|
||||||
|
|
|
@ -5,7 +5,7 @@ import logging
|
||||||
import tweepy
|
import tweepy
|
||||||
from jarvis_core.db import q
|
from jarvis_core.db import q
|
||||||
from jarvis_core.db.models import TwitterAccount, TwitterFollow
|
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.client.utils.misc_utils import get
|
||||||
from naff.models.discord.channel import GuildText
|
from naff.models.discord.channel import GuildText
|
||||||
from naff.models.discord.components import ActionRow, Select, SelectOption
|
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
|
from jarvis.utils.permissions import admin_or_permissions
|
||||||
|
|
||||||
|
|
||||||
class TwitterCog(Cog):
|
class TwitterCog(Extension):
|
||||||
"""JARVIS Twitter Cog."""
|
"""JARVIS Twitter Cog."""
|
||||||
|
|
||||||
def __init__(self, bot: Client):
|
def __init__(self, bot: Client):
|
||||||
|
|
|
@ -8,7 +8,7 @@ from io import BytesIO
|
||||||
|
|
||||||
import numpy as np
|
import numpy as np
|
||||||
from dateparser import parse
|
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.channel import GuildCategory, GuildText, GuildVoice
|
||||||
from naff.models.discord.embed import EmbedField
|
from naff.models.discord.embed import EmbedField
|
||||||
from naff.models.discord.file import File
|
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")
|
JARVIS_LOGO = Image.open("jarvis_small.png").convert("RGBA")
|
||||||
|
|
||||||
|
|
||||||
class UtilCog(Cog):
|
class UtilCog(Extension):
|
||||||
"""
|
"""
|
||||||
Utility functions for JARVIS
|
Utility functions for JARVIS
|
||||||
|
|
||||||
|
|
|
@ -5,7 +5,7 @@ from random import randint
|
||||||
|
|
||||||
from jarvis_core.db import q
|
from jarvis_core.db import q
|
||||||
from jarvis_core.db.models import Setting
|
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.discord.components import Button, ButtonStyles, spread_to_rows
|
||||||
from naff.models.naff.application_commands import slash_command
|
from naff.models.naff.application_commands import slash_command
|
||||||
from naff.models.naff.command import cooldown
|
from naff.models.naff.command import cooldown
|
||||||
|
@ -30,7 +30,7 @@ def create_layout() -> list:
|
||||||
return spread_to_rows(*buttons, max_in_row=3)
|
return spread_to_rows(*buttons, max_in_row=3)
|
||||||
|
|
||||||
|
|
||||||
class VerifyCog(Cog):
|
class VerifyCog(Extension):
|
||||||
"""JARVIS Verify Cog."""
|
"""JARVIS Verify Cog."""
|
||||||
|
|
||||||
def __init__(self, bot: Client):
|
def __init__(self, bot: Client):
|
||||||
|
|
|
@ -4,7 +4,7 @@ from datetime import timedelta
|
||||||
|
|
||||||
from jarvis_core.db import q
|
from jarvis_core.db import q
|
||||||
from jarvis_core.db.models import Action, Ban, Kick, Modlog, Mute, Setting, Warning
|
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.components import ActionRow, Button, ButtonStyles
|
||||||
from naff.models.discord.embed import EmbedField
|
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"]}
|
IGNORE_COMMANDS = {"Ban": ["bans"], "Kick": [], "Mute": ["unmute"], "Warning": ["warnings"]}
|
||||||
|
|
||||||
|
|
||||||
class ModcaseCog(Cog):
|
class ModcaseCog(Extension):
|
||||||
"""Cog wrapper for moderation case logging."""
|
"""Cog wrapper for moderation case logging."""
|
||||||
|
|
||||||
def __init__(self, bot: Client):
|
def __init__(self, bot: Client):
|
||||||
self.bot = bot
|
self.bot = bot
|
||||||
self.logger = logging.getLogger(__name__)
|
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:
|
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.errors import ExtensionNotFound
|
||||||
from naff.client.utils.misc_utils import find, find_all
|
from naff.client.utils.misc_utils import find, find_all
|
||||||
from naff.models.naff.application_commands import SlashCommand
|
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
|
from rich.table import Table
|
||||||
|
|
||||||
import jarvis.cogs
|
import jarvis.cogs
|
||||||
|
@ -41,7 +41,7 @@ def get_all_commands(module: ModuleType = jarvis.cogs) -> Dict[str, Callable]:
|
||||||
commands = {}
|
commands = {}
|
||||||
|
|
||||||
def validate_ires(entry: Any) -> bool:
|
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:
|
def validate_cog(cog: FunctionType) -> bool:
|
||||||
return isinstance(cog, SlashCommand)
|
return isinstance(cog, SlashCommand)
|
||||||
|
@ -151,7 +151,7 @@ async def update(bot: "Client") -> Optional[UpdateResult]:
|
||||||
for module in current_commands.keys():
|
for module in current_commands.keys():
|
||||||
if module not in new_commands:
|
if module not in new_commands:
|
||||||
logger.debug("Module %s removed after update", module)
|
logger.debug("Module %s removed after update", module)
|
||||||
bot.shed_cog(module)
|
bot.drop_cog(module)
|
||||||
unloaded.append(module)
|
unloaded.append(module)
|
||||||
|
|
||||||
logger.debug("Checking for new/modified commands")
|
logger.debug("Checking for new/modified commands")
|
||||||
|
|
|
@ -1,6 +1,6 @@
|
||||||
[tool.poetry]
|
[tool.poetry]
|
||||||
name = "jarvis"
|
name = "jarvis"
|
||||||
version = "2.0.0b2"
|
version = "2.0.0"
|
||||||
description = "J.A.R.V.I.S. admin bot"
|
description = "J.A.R.V.I.S. admin bot"
|
||||||
authors = ["Zevaryx <zevaryx@gmail.com>"]
|
authors = ["Zevaryx <zevaryx@gmail.com>"]
|
||||||
|
|
||||||
|
|
Loading…
Add table
Reference in a new issue