Permission error handling in cleanup

This commit is contained in:
Twentysix 2016-03-01 13:09:39 +01:00
parent a58aebe218
commit e376bd7c2c

View File

@ -103,6 +103,7 @@ class Mod:
message = ctx.message message = ctx.message
cmdmsg = message cmdmsg = message
logger.info("{}({}) deleted {} messages containing '{}' in channel {}".format(author.name, author.id, str(number), text, message.channel.name)) logger.info("{}({}) deleted {} messages containing '{}' in channel {}".format(author.name, author.id, str(number), text, message.channel.name))
try:
if number > 0 and number < 10000: if number > 0 and number < 10000:
while True: while True:
new = False new = False
@ -118,6 +119,8 @@ class Mod:
if not new or number == 0: if not new or number == 0:
await self.bot.delete_message(cmdmsg) await self.bot.delete_message(cmdmsg)
break break
except discord.errors.Forbidden:
await self.bot.say("I need permissions to manage messages in this channel.")
@cleanup.command(pass_context=True, no_pm=True) @cleanup.command(pass_context=True, no_pm=True)
async def user(self, ctx, user : discord.Member, number : int): async def user(self, ctx, user : discord.Member, number : int):
@ -130,6 +133,7 @@ class Mod:
message = ctx.message message = ctx.message
cmdmsg = message cmdmsg = message
logger.info("{}({}) deleted {} messages made by {}({}) in channel {}".format(author.name, author.id, str(number), user.name, user.id, message.channel.name)) logger.info("{}({}) deleted {} messages made by {}({}) in channel {}".format(author.name, author.id, str(number), user.name, user.id, message.channel.name))
try:
if number > 0 and number < 10000: if number > 0 and number < 10000:
while True: while True:
new = False new = False
@ -145,6 +149,8 @@ class Mod:
if not new or number == 0: if not new or number == 0:
await self.bot.delete_message(cmdmsg) await self.bot.delete_message(cmdmsg)
break break
except discord.errors.Forbidden:
await self.bot.say("I need permissions to manage messages in this channel.")
@cleanup.command(pass_context=True, no_pm=True) @cleanup.command(pass_context=True, no_pm=True)
async def messages(self, ctx, number : int): async def messages(self, ctx, number : int):
@ -155,9 +161,12 @@ class Mod:
author = ctx.message.author author = ctx.message.author
channel = ctx.message.channel channel = ctx.message.channel
logger.info("{}({}) deleted {} messages in channel {}".format(author.name, author.id, str(number), channel.name)) logger.info("{}({}) deleted {} messages in channel {}".format(author.name, author.id, str(number), channel.name))
try:
if number > 0 and number < 10000: if number > 0 and number < 10000:
async for x in self.bot.logs_from(channel, limit=number+1): async for x in self.bot.logs_from(channel, limit=number+1):
await self.bot.delete_message(x) await self.bot.delete_message(x)
except discord.errors.Forbidden:
await self.bot.say("I need permissions to manage messages in this channel.")
@commands.group(pass_context=True) @commands.group(pass_context=True)
@checks.is_owner() @checks.is_owner()