|
|
@ -21,9 +21,9 @@ import random
|
|
|
|
|
|
|
|
|
|
|
|
import aiomysql
|
|
|
|
import aiomysql
|
|
|
|
import discord
|
|
|
|
import discord
|
|
|
|
from discord import Embed
|
|
|
|
from discord import Embed, TextChannel
|
|
|
|
from discord import File
|
|
|
|
from discord import File
|
|
|
|
from discord.ext.commands import has_permissions, Cog, group, bot_has_permissions
|
|
|
|
from discord.ext.commands import has_permissions, Cog, group, bot_has_permissions, BadArgument
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
# Method to ask the user if they want to be anonymous or not
|
|
|
|
# Method to ask the user if they want to be anonymous or not
|
|
|
@ -232,12 +232,9 @@ class Guild(Cog):
|
|
|
|
@modlogs.command(name="setup")
|
|
|
|
@modlogs.command(name="setup")
|
|
|
|
@has_permissions(manage_guild=True)
|
|
|
|
@has_permissions(manage_guild=True)
|
|
|
|
@bot_has_permissions(administrator=True)
|
|
|
|
@bot_has_permissions(administrator=True)
|
|
|
|
async def mlsetup(self, ctx, channelID: int):
|
|
|
|
async def mlsetup(self, ctx, user_channel: TextChannel):
|
|
|
|
"""Setup a Channel for the Kick/Ban/Mute Actions to be Logged In"""
|
|
|
|
"""Setup a Channel for the Kick/Ban/Mute Actions to be Logged In"""
|
|
|
|
|
|
|
|
|
|
|
|
# Retrieve a list of channel id's in the guild
|
|
|
|
|
|
|
|
channels = [channel.id for channel in ctx.guild.channels]
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
# Setup pool
|
|
|
|
# Setup pool
|
|
|
|
pool = self.bot.db
|
|
|
|
pool = self.bot.db
|
|
|
|
|
|
|
|
|
|
|
@ -259,24 +256,27 @@ class Guild(Cog):
|
|
|
|
await self.bot.generate_embed(ctx, desc=text)
|
|
|
|
await self.bot.generate_embed(ctx, desc=text)
|
|
|
|
return
|
|
|
|
return
|
|
|
|
|
|
|
|
|
|
|
|
# Abort the process if the channel does not exist within the guild
|
|
|
|
|
|
|
|
if channelID not in channels:
|
|
|
|
|
|
|
|
text = "**Invalid ChannelID Detected... Aborting Process**"
|
|
|
|
|
|
|
|
await self.bot.generate_embed(ctx, desc=text)
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
else:
|
|
|
|
else:
|
|
|
|
# Set up the modlogs channel within the guild
|
|
|
|
# Set up the modlogs channel within the guild
|
|
|
|
mod_log_setup = True
|
|
|
|
mod_log_setup = True
|
|
|
|
await self.bot.storage_modlog_for_guild(self.bot.db, ctx, channelID, mod_log_setup)
|
|
|
|
await self.bot.storage_modlog_for_guild(self.bot.db, ctx, user_channel.id, mod_log_setup)
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
@mlsetup.error
|
|
|
|
|
|
|
|
async def mlsetup_command_error(self, ctx, exc):
|
|
|
|
|
|
|
|
"""Catching error if channel is not recognised"""
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
if isinstance(exc, BadArgument):
|
|
|
|
|
|
|
|
text = "**Channel Not Detected... Aborting Process**"
|
|
|
|
|
|
|
|
await self.bot.generate_embed(ctx, desc=text)
|
|
|
|
|
|
|
|
|
|
|
|
@modlogs.command(name="update")
|
|
|
|
@modlogs.command(name="update")
|
|
|
|
@has_permissions(manage_guild=True)
|
|
|
|
@has_permissions(manage_guild=True)
|
|
|
|
@bot_has_permissions(administrator=True)
|
|
|
|
@bot_has_permissions(administrator=True)
|
|
|
|
async def mlupdate(self, ctx, channelID: int):
|
|
|
|
async def mlupdate(self, ctx, user_channel: TextChannel):
|
|
|
|
"""Change the Channel that your Modlogs are Sent to"""
|
|
|
|
"""Change the Channel that your Modlogs are Sent to"""
|
|
|
|
|
|
|
|
|
|
|
|
# Retrieve a list of channel id's in the guild
|
|
|
|
# Retrieve a list of channel id's in the guild
|
|
|
|
channels = [channel.id for channel in ctx.guild.channels]
|
|
|
|
channels = [channel for channel in ctx.guild.channels]
|
|
|
|
|
|
|
|
|
|
|
|
# Setup pool
|
|
|
|
# Setup pool
|
|
|
|
pool = self.bot.db
|
|
|
|
pool = self.bot.db
|
|
|
@ -299,14 +299,14 @@ class Guild(Cog):
|
|
|
|
await self.bot.generate_embed(ctx, desc=text)
|
|
|
|
await self.bot.generate_embed(ctx, desc=text)
|
|
|
|
|
|
|
|
|
|
|
|
# Abort the process if the channel does not exist within the guild
|
|
|
|
# Abort the process if the channel does not exist within the guild
|
|
|
|
if channelID not in channels:
|
|
|
|
if user_channel not in channels:
|
|
|
|
text = "**Invalid ChannelID Detected... Aborting Process**"
|
|
|
|
text = "**Invalid ChannelID Detected... Aborting Process**"
|
|
|
|
await self.bot.generate_embed(ctx, desc=text)
|
|
|
|
await self.bot.generate_embed(ctx, desc=text)
|
|
|
|
|
|
|
|
|
|
|
|
else:
|
|
|
|
else:
|
|
|
|
# Update the modlog channel within the database and cache
|
|
|
|
# Update the modlog channel within the database and cache
|
|
|
|
mod_log_setup = False
|
|
|
|
mod_log_setup = False
|
|
|
|
await self.bot.storage_modlog_for_guild(self.bot.db, ctx, channelID, mod_log_setup)
|
|
|
|
await self.bot.storage_modlog_for_guild(self.bot.db, ctx, user_channel.id, mod_log_setup)
|
|
|
|
|
|
|
|
|
|
|
|
@modlogs.command("delete")
|
|
|
|
@modlogs.command("delete")
|
|
|
|
@has_permissions(manage_guild=True)
|
|
|
|
@has_permissions(manage_guild=True)
|
|
|
@ -352,8 +352,6 @@ class Guild(Cog):
|
|
|
|
text = "**Modlogs System** successfully deleted!" \
|
|
|
|
text = "**Modlogs System** successfully deleted!" \
|
|
|
|
f"\nDo **{ctx.prefix}help modlogs** to setup Modlogs again!"
|
|
|
|
f"\nDo **{ctx.prefix}help modlogs** to setup Modlogs again!"
|
|
|
|
await self.bot.generate_embed(ctx, desc=text)
|
|
|
|
await self.bot.generate_embed(ctx, desc=text)
|
|
|
|
# Sending confirmation message that the modmail system has been deleted
|
|
|
|
|
|
|
|
await ctx.send()
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
@group(name="modmail", invoke_without_command=True, case_insensitive=True, usage="`[argument...]`")
|
|
|
|
@group(name="modmail", invoke_without_command=True, case_insensitive=True, usage="`[argument...]`")
|
|
|
|
@bot_has_permissions(administrator=True)
|
|
|
|
@bot_has_permissions(administrator=True)
|
|
|
|