Fixed Database connections
This commit is contained in:
parent
83f5bb7476
commit
411c1fc125
@ -1,9 +1,9 @@
|
|||||||
import discord
|
import discord
|
||||||
from discord.ext import commands
|
from discord.ext import commands
|
||||||
import os
|
|
||||||
from .imports import checks, utils
|
from .imports import checks, utils
|
||||||
import json
|
import json
|
||||||
import logging
|
import logging
|
||||||
|
import inspect
|
||||||
|
|
||||||
admin_log = logging.getLogger('admin')
|
admin_log = logging.getLogger('admin')
|
||||||
config_dir = 'config/'
|
config_dir = 'config/'
|
||||||
@ -32,7 +32,7 @@ class Admin:
|
|||||||
@commands.command(hidden=True)
|
@commands.command(hidden=True)
|
||||||
@commands.check(checks.is_guild_owner)
|
@commands.check(checks.is_guild_owner)
|
||||||
async def get_guild_config(self, ctx):
|
async def get_guild_config(self, ctx):
|
||||||
config = self.bot.con.one('select * from guild_config where guild_id = %(id)s', {'id': ctx.guild.id})
|
config = self.bot.db_con.fetchval('select * from guild_config where guild_id = $1', ctx.guild.id)
|
||||||
configs = [str(config)[i:i+1990] for i in range(0, len(config), 1990)]
|
configs = [str(config)[i:i+1990] for i in range(0, len(config), 1990)]
|
||||||
await ctx.message.author.send(f'The current config for the {ctx.guild.name} guild is:\n')
|
await ctx.message.author.send(f'The current config for the {ctx.guild.name} guild is:\n')
|
||||||
admin_log.info(configs)
|
admin_log.info(configs)
|
||||||
@ -58,26 +58,23 @@ class Admin:
|
|||||||
del self.bot.bot_config['db_con']
|
del self.bot.bot_config['db_con']
|
||||||
await ctx.send('Config reloaded.')
|
await ctx.send('Config reloaded.')
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
@set.command(name='channel_lockdown', aliases=['lockdown', 'restrict_access', 'cl'])
|
@set.command(name='channel_lockdown', aliases=['lockdown', 'restrict_access', 'cl'])
|
||||||
async def _channel_lockdown(self, ctx, config='true'):
|
async def _channel_lockdown(self, ctx, config='true'):
|
||||||
if ctx.guild:
|
if ctx.guild:
|
||||||
if checks.is_admin(self.bot, ctx):
|
if checks.is_admin(self.bot, ctx):
|
||||||
if str(config).lower() == 'true':
|
if str(config).lower() == 'true':
|
||||||
if self.bot.con.one('select allowed_channels from guild_config where guild_id = %(id)s',
|
if self.bot.db_con.fetchval('select allowed_channels from guild_config where guild_id = $1',
|
||||||
{'id': ctx.guild.id}) is []:
|
ctx.guild.id) is []:
|
||||||
await ctx.send('Please set at least one allowed channel before running this command.')
|
await ctx.send('Please set at least one allowed channel before running this command.')
|
||||||
else:
|
else:
|
||||||
self.bot.con.run('update guild_config set channel_lockdown = True where guild_id = %(id)s',
|
self.bot.db_con.execute('update guild_config set channel_lockdown = True where guild_id = $1',
|
||||||
{'id': ctx.guild.id})
|
ctx.guild.id)
|
||||||
await ctx.send('Channel Lockdown is now active.')
|
await ctx.send('Channel Lockdown is now active.')
|
||||||
elif str(config).lower() == 'false':
|
elif str(config).lower() == 'false':
|
||||||
if self.bot.con.one('select channel_lockdown from guild_config where guild_id = %(id)s',
|
if self.bot.db_con.fetchval('select channel_lockdown from guild_config where guild_id = $1',
|
||||||
{'id': ctx.guild.id}):
|
ctx.guild.id):
|
||||||
self.bot.con.run('update guild_config set channel_lockdown = False where guild_id = %(id)s',
|
self.bot.db_con.execute('update guild_config set channel_lockdown = False where guild_id = $1',
|
||||||
{'id': ctx.guild.id})
|
ctx.guild.id)
|
||||||
await ctx.send('Channel Lockdown has been deactivated.')
|
await ctx.send('Channel Lockdown has been deactivated.')
|
||||||
else:
|
else:
|
||||||
await ctx.send('Channel Lockdown is already deactivated.')
|
await ctx.send('Channel Lockdown is already deactivated.')
|
||||||
@ -98,28 +95,28 @@ class Admin:
|
|||||||
await ctx.send(f'{channel} is not a valid text channel in this guild.')
|
await ctx.send(f'{channel} is not a valid text channel in this guild.')
|
||||||
else:
|
else:
|
||||||
admin_log.info('Chan found')
|
admin_log.info('Chan found')
|
||||||
if self.bot.con.one('select allowed_channels from guild_config where guild_id = %(id)s',
|
if self.bot.db_con.fetchval('select allowed_channels from guild_config where guild_id = $1',
|
||||||
{'id': ctx.guild.id}):
|
ctx.guild.id):
|
||||||
if chnl.id in json.loads(self.bot.con.one('select allowed_channels from guild_config '
|
if chnl.id in self.bot.con.fetchval('select allowed_channels from guild_config '
|
||||||
'where guild_id = %(id)s',
|
'where guild_id = $1',
|
||||||
{'id': ctx.guild.id})):
|
ctx.guild.id):
|
||||||
admin_log.info('Chan found in config')
|
admin_log.info('Chan found in config')
|
||||||
await ctx.send(f'{channel} is already in the list of allowed channels. Skipping...')
|
await ctx.send(f'{channel} is already in the list of allowed channels. Skipping...')
|
||||||
else:
|
else:
|
||||||
admin_log.info('Chan not found in config')
|
admin_log.info('Chan not found in config')
|
||||||
allowed_channels = json.loads(self.bot.con.one('select allowed_channels from '
|
allowed_channels = self.bot.db_con.fetchval('select allowed_channels from '
|
||||||
'guild_config where guild_id = %(id)s',
|
'guild_config where guild_id = $1',
|
||||||
{'id': ctx.guild.id})).append(chnl.id)
|
ctx.guild.id).append(chnl.id)
|
||||||
self.bot.con.run('update guild_config set allowed_channels = %(channels)s '
|
self.bot.db_con.execute('update guild_config set allowed_channels = $2 '
|
||||||
'where guild_id = %(id)s',
|
'where guild_id = $1',
|
||||||
{'id': ctx.guild.id, 'channels': allowed_channels})
|
ctx.guild.id, allowed_channels)
|
||||||
added = f'{added}\n{channel}'
|
added = f'{added}\n{channel}'
|
||||||
else:
|
else:
|
||||||
admin_log.info('Chan not found in config')
|
admin_log.info('Chan not found in config')
|
||||||
allowed_channels = [chnl.id]
|
allowed_channels = [chnl.id]
|
||||||
self.bot.con.run('update guild_config set allowed_channels = %(channels)s '
|
self.bot.db_con.execute('update guild_config set allowed_channels = $2 '
|
||||||
'where guild_id = %(id)s',
|
'where guild_id = $1',
|
||||||
{'id': ctx.guild.id, 'channels': allowed_channels})
|
ctx.guild.id, allowed_channels)
|
||||||
added = f'{added}\n{channel}'
|
added = f'{added}\n{channel}'
|
||||||
if added != '':
|
if added != '':
|
||||||
await ctx.send(f'The following channels have been added to the allowed channel list: {added}')
|
await ctx.send(f'The following channels have been added to the allowed channel list: {added}')
|
||||||
@ -136,6 +133,42 @@ class Admin:
|
|||||||
for page in pages:
|
for page in pages:
|
||||||
await ctx.send(page)
|
await ctx.send(page)
|
||||||
|
|
||||||
|
@add.command(name='admin_role', aliases=['admin'])
|
||||||
|
@commands.cooldown(1, 5, type=commands.BucketType.guild)
|
||||||
|
@commands.check(checks.is_guild_owner)
|
||||||
|
async def _add_admin_role(self, ctx, role=None):
|
||||||
|
role = discord.utils.get(ctx.guild.roles, name=role)
|
||||||
|
if role is not None:
|
||||||
|
roles = self.bot.db_con.fetchval('select admin_roles from guild_config where guild_id = $1',
|
||||||
|
ctx.guild.id)
|
||||||
|
if role.id in roles:
|
||||||
|
await ctx.send(f'{role.name} is already registered as an admin role in this guild.')
|
||||||
|
else:
|
||||||
|
roles.append(role.id)
|
||||||
|
self.bot.db_con.execute('update guild_config set admin_roles = $2 where guild_id = $1',
|
||||||
|
ctx.guild.id, roles)
|
||||||
|
await ctx.send(f'{role.name} has been added to the list of admin roles for this guild.')
|
||||||
|
else:
|
||||||
|
await ctx.send('You must include a valid role name with this command.')
|
||||||
|
|
||||||
|
@remove.command(name='admin_role', aliases=['admin'])
|
||||||
|
@commands.cooldown(1, 5, type=commands.BucketType.guild)
|
||||||
|
@commands.check(checks.is_guild_owner)
|
||||||
|
async def _remove_admin_role(self, ctx, role=None):
|
||||||
|
role = discord.utils.get(ctx.guild.roles, name=role)
|
||||||
|
if role is not None:
|
||||||
|
roles = self.bot.db_con.fetchval('select admin_roles from guild_config where guild_id = $1',
|
||||||
|
ctx.guild.id)
|
||||||
|
if role.id in roles:
|
||||||
|
roles.remove(role.id)
|
||||||
|
self.bot.db_con.execute('update guild_config set admin_roles = $2 where guild_id = $1',
|
||||||
|
ctx.guild.id, roles)
|
||||||
|
await ctx.send(f'{role.name} has been removed from the list of admin roles for this guild.')
|
||||||
|
else:
|
||||||
|
await ctx.send(f'{role.name} is not registered as an admin role in this guild.')
|
||||||
|
else:
|
||||||
|
await ctx.send('You must include a valid role name with this command.')
|
||||||
|
|
||||||
|
|
||||||
def setup(bot):
|
def setup(bot):
|
||||||
bot.add_cog(Admin(bot))
|
bot.add_cog(Admin(bot))
|
||||||
|
|||||||
@ -9,8 +9,8 @@ class BotEvents:
|
|||||||
self.bot = bot
|
self.bot = bot
|
||||||
|
|
||||||
async def on_guild_join(self, guild):
|
async def on_guild_join(self, guild):
|
||||||
await self.bot.db_con.execute("insert into guild_config(guild_id, channel_lockdown) values ($1, $2)",
|
await self.bot.db_con.execute("insert into guild_config(guild_id, channel_lockdown, admin_roles) "
|
||||||
guild.id, False)
|
"values ($1, $2, $3)", guild.id, False, guild.role_hierarchy[0])
|
||||||
events_log.info(f'Entry Created for {guild.name}')
|
events_log.info(f'Entry Created for {guild.name}')
|
||||||
await guild.me.edit(nick='[!] Submitter')
|
await guild.me.edit(nick='[!] Submitter')
|
||||||
|
|
||||||
|
|||||||
Loading…
x
Reference in New Issue
Block a user