Upated bot_management
Added a option for people with manage_guild perms to change the claimed bots
This commit is contained in:
parent
51aabdf9d7
commit
a90d7264bf
@ -8,7 +8,7 @@ class BotManager:
|
|||||||
|
|
||||||
@commands.command(name='claim', aliases=['makemine', 'gimme'])
|
@commands.command(name='claim', aliases=['makemine', 'gimme'])
|
||||||
@commands.cooldown(1, 5, commands.BucketType.user)
|
@commands.cooldown(1, 5, commands.BucketType.user)
|
||||||
async def _claim_bot(self, ctx, bot: discord.Member=None, prefix: str=None):
|
async def _claim_bot(self, ctx, bot: discord.Member=None, prefix: str=None, owner : discord.Member =None):
|
||||||
if not bot:
|
if not bot:
|
||||||
raise Warning('You must include the name of the bot you are trying to claim... Be exact.')
|
raise Warning('You must include the name of the bot you are trying to claim... Be exact.')
|
||||||
if not bot.bot:
|
if not bot.bot:
|
||||||
@ -19,9 +19,13 @@ class BotManager:
|
|||||||
else:
|
else:
|
||||||
raise Warning('Prefix not provided and can\'t be found in bot name.')
|
raise Warning('Prefix not provided and can\'t be found in bot name.')
|
||||||
|
|
||||||
|
if owner != None and ctx.author.guild_permissions.manage_guild:
|
||||||
|
author_id = owner.id
|
||||||
|
else:
|
||||||
|
author_id = ctx.author.id
|
||||||
em = discord.Embed()
|
em = discord.Embed()
|
||||||
|
|
||||||
if await self.bot.db_con.fetchval('select count(*) from bots where owner = $1', ctx.author.id) >= 10:
|
if await self.bot.db_con.fetchval('select count(*) from bots where owner = $1', author_id) >= 10:
|
||||||
em.colour = self.bot.error_color
|
em.colour = self.bot.error_color
|
||||||
em.title = 'Too Many Bots Claimed'
|
em.title = 'Too Many Bots Claimed'
|
||||||
em.description = 'Each person is limited to claiming 10 bots as that is how ' \
|
em.description = 'Each person is limited to claiming 10 bots as that is how ' \
|
||||||
@ -30,18 +34,18 @@ class BotManager:
|
|||||||
existing = await self.bot.db_con.fetchrow('select * from bots where id = $1', bot.id)
|
existing = await self.bot.db_con.fetchrow('select * from bots where id = $1', bot.id)
|
||||||
if not existing:
|
if not existing:
|
||||||
await self.bot.db_con.execute('insert into bots (id, owner, prefix) values ($1, $2, $3)',
|
await self.bot.db_con.execute('insert into bots (id, owner, prefix) values ($1, $2, $3)',
|
||||||
bot.id, ctx.author.id, prefix)
|
bot.id, author_id, prefix)
|
||||||
em.colour = self.bot.embed_color
|
em.colour = self.bot.embed_color
|
||||||
em.title = 'Bot Claimed'
|
em.title = 'Bot Claimed'
|
||||||
em.description = f'You have claimed {bot.display_name} with a prefix of {prefix}\n' \
|
em.description = f'You have claimed {bot.display_name} with a prefix of {prefix}\n' \
|
||||||
f'If there is an error please run command again to correct the prefix,\n' \
|
f'If there is an error please run command again to correct the prefix,\n' \
|
||||||
f'or {ctx.prefix}unclaim {bot.mention} to unclaim the bot.'
|
f'or {ctx.prefix}unclaim {bot.mention} to unclaim the bot.'
|
||||||
elif existing['owner'] and existing['owner'] != ctx.author.id:
|
elif existing['owner'] and existing['owner'] != author_id:
|
||||||
em.colour = self.bot.error_color
|
em.colour = self.bot.error_color
|
||||||
em.title = 'Bot Already Claimed'
|
em.title = 'Bot Already Claimed'
|
||||||
em.description = 'This bot has already been claimed by someone else.\n' \
|
em.description = 'This bot has already been claimed by someone else.\n' \
|
||||||
'If this is actually your bot please let the guild Administrators know.'
|
'If this is actually your bot please let the guild Administrators know.'
|
||||||
elif existing['owner'] and existing['owner'] == ctx.author.id:
|
elif existing['owner'] and existing['owner'] == author_id:
|
||||||
em.colour = self.bot.embed_color
|
em.colour = self.bot.embed_color
|
||||||
em.title = 'Bot Already Claimed'
|
em.title = 'Bot Already Claimed'
|
||||||
em.description = 'You have already claimed this bot.\n' \
|
em.description = 'You have already claimed this bot.\n' \
|
||||||
@ -51,7 +55,7 @@ class BotManager:
|
|||||||
await self.bot.db_con.execute("update bots set prefix = $1 where id = $2", prefix, bot.id)
|
await self.bot.db_con.execute("update bots set prefix = $1 where id = $2", prefix, bot.id)
|
||||||
elif not existing['owner']:
|
elif not existing['owner']:
|
||||||
await self.bot.db_con.execute('update bots set owner = $1, prefix = $2 where id = $3',
|
await self.bot.db_con.execute('update bots set owner = $1, prefix = $2 where id = $3',
|
||||||
ctx.author.id, prefix, bot.id)
|
author_id, prefix, bot.id)
|
||||||
em.colour = self.bot.embed_color
|
em.colour = self.bot.embed_color
|
||||||
em.title = 'Bot Claimed'
|
em.title = 'Bot Claimed'
|
||||||
em.description = f'You have claimed {bot.display_name} with a prefix of {prefix}\n' \
|
em.description = f'You have claimed {bot.display_name} with a prefix of {prefix}\n' \
|
||||||
@ -77,7 +81,7 @@ class BotManager:
|
|||||||
em.colour = self.bot.error_color
|
em.colour = self.bot.error_color
|
||||||
em.title = 'Bot Not Found'
|
em.title = 'Bot Not Found'
|
||||||
em.description = 'That bot is not claimed'
|
em.description = 'That bot is not claimed'
|
||||||
elif existing['owner'] != ctx.author.id:
|
elif existing['owner'] != ctx.author.id and ctx.author.guild_permissions.manage_guild:
|
||||||
em.colour = self.bot.error_color
|
em.colour = self.bot.error_color
|
||||||
em.title = 'Not Claimed By You'
|
em.title = 'Not Claimed By You'
|
||||||
em.description = 'That bot is claimed by someone else.\n' \
|
em.description = 'That bot is claimed by someone else.\n' \
|
||||||
|
|||||||
Loading…
x
Reference in New Issue
Block a user