# Path: dozer/cogs/general.py
# class General(Cog):
#     async def ping(self, ctx):
#     async def base_help(self, ctx, *target):
#     async def _help_all(self, ctx):
#     async def _help_command(self, ctx, command):
#     async def _help_cog(self, ctx, cog):
#     async def _show_help(self, ctx, start_page, title, description, footer, commands, **format_args):
#     async def nick(self, ctx, *, nicktochangeto):
#     async def invite(self, ctx):
#     async def configprefix(self, ctx, prefix: str):
# def setup(bot):


import asyncio
import datetime
import logging
import re
import time
import typing
import discord
from logging import getLogger
from typing import Union
from discord.ext import tasks
from discord.ext.commands import BadArgument, has_permissions, RoleConverter, guild_only
from ._utils import *
from .general import blurple
from .. import db
        This accepts the safe default role conventions that the memberconfig command does.
        """
        if link_role >= ctx.author.top_role:
            raise BadArgument('Link role cannot be higher than your top role!')

        settings = await GuildMessageLinks.get_by(guild_id=ctx.guild.id)
        if len(settings) == 0:
            settings = GuildMessageLinks(guild_id=ctx.guild.id, role_id=link_role.id)
        else:
            settings = settings[0]
            settings.role_id = link_role.id
        await settings.update_or_add()
        self.links_config.invalidate_entry(guild_id=ctx.guild.id)
        await ctx.send(f'Link role set as `{link_role.name}`.')

    linkscrubconfig.example_usage = """
    `{prefix}linkscrubconfig Links` - set a role called "Links" as the link role
    `{prefix}linkscrubconfig @everyone` - set the default role as the link role
    `{prefix}linkscrubconfig everyone` - set the default role as the link role (ping-safe)
    `{prefix}linkscrubconfig @ everyone` - set the default role as the link role (ping-safe)
    `{prefix}linkscrubconfig @.everyone` - set the default role as the link role (ping-safe)
    `{prefix}linkscrubconfig @/everyone` - set the default role as the link role (ping-safe)
    """

    @group(invoke_without_command=True)
    @has_permissions(manage_messages=True)
    async def crossbans(self, ctx):
        """Cross ban"""
        subscriptions = await CrossBanSubscriptions.get_by(subscriber_id=ctx.guild.id)
        subscribers = await CrossBanSubscriptions.get_by(subscription_id=ctx.guild.id)

# Path: dozer/cogs/general.py
# class General(Cog):
#     async def ping(self, ctx):
#     async def base_help(self, ctx, *target):
#     async def _help_all(self, ctx):
#     async def _help_command(self, ctx, command):
#     async def _help_cog(self, ctx, cog):
#     async def _show_help(self, ctx, start_page, title, description, footer, commands, **format_args):
#     async def nick(self, ctx, *, nicktochangeto):
#     async def invite(self, ctx):
#     async def configprefix(self, ctx, prefix: str):
# def setup(bot):


# Path: dozer/cogs/moderation.py
import asyncio
import datetime
import logging
import re
import time
import typing
import discord
from logging import getLogger
from typing import Union
from discord.ext import tasks
from discord.ext.commands import BadArgument, has_permissions, RoleConverter, guild_only
from ._utils import *
from .general import blurple
from .. import db

        This accepts the safe default role conventions that the memberconfig command does.
        """
        if link_role >= ctx.author.top_role:
            raise BadArgument('Link role cannot be higher than your top role!')

        settings = await GuildMessageLinks.get_by(guild_id=ctx.guild.id)
        if len(settings) == 0:
            settings = GuildMessageLinks(guild_id=ctx.guild.id, role_id=link_role.id)
        else:
            settings = settings[0]
            settings.role_id = link_role.id
        await settings.update_or_add()
        self.links_config.invalidate_entry(guild_id=ctx.guild.id)
        await ctx.send(f'Link role set as `{link_role.name}`.')

    linkscrubconfig.example_usage = """
    `{prefix}linkscrubconfig Links` - set a role called "Links" as the link role
    `{prefix}linkscrubconfig @everyone` - set the default role as the link role
    `{prefix}linkscrubconfig everyone` - set the default role as the link role (ping-safe)
    `{prefix}linkscrubconfig @ everyone` - set the default role as the link role (ping-safe)
    `{prefix}linkscrubconfig @.everyone` - set the default role as the link role (ping-safe)
    `{prefix}linkscrubconfig @/everyone` - set the default role as the link role (ping-safe)
    """

    @group(invoke_without_command=True)
    @has_permissions(manage_messages=True)
    async def crossbans(self, ctx):
        """Cross ban"""
        subscriptions = await CrossBanSubscriptions.get_by(subscriber_id=ctx.guild.id)
        subscribers = await CrossBanSubscriptions.get_by(subscription_id=ctx.guild.id)

        embed = discord.Embed(title="Cross ban subscriptions", color=blurple)