mirror of
https://github.com/Cog-Creators/Red-DiscordBot.git
synced 2025-11-06 19:28:54 -05:00
Permission error handling in cleanup
This commit is contained in:
parent
a58aebe218
commit
e376bd7c2c
71
cogs/mod.py
71
cogs/mod.py
@ -103,21 +103,24 @@ 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))
|
||||||
if number > 0 and number < 10000:
|
try:
|
||||||
while True:
|
if number > 0 and number < 10000:
|
||||||
new = False
|
while True:
|
||||||
async for x in self.bot.logs_from(message.channel, limit=100, before=message):
|
new = False
|
||||||
if number == 0:
|
async for x in self.bot.logs_from(message.channel, limit=100, before=message):
|
||||||
|
if number == 0:
|
||||||
|
await self.bot.delete_message(cmdmsg)
|
||||||
|
return
|
||||||
|
if text in x.content:
|
||||||
|
await self.bot.delete_message(x)
|
||||||
|
number -= 1
|
||||||
|
new = True
|
||||||
|
message = x
|
||||||
|
if not new or number == 0:
|
||||||
await self.bot.delete_message(cmdmsg)
|
await self.bot.delete_message(cmdmsg)
|
||||||
return
|
break
|
||||||
if text in x.content:
|
except discord.errors.Forbidden:
|
||||||
await self.bot.delete_message(x)
|
await self.bot.say("I need permissions to manage messages in this channel.")
|
||||||
number -= 1
|
|
||||||
new = True
|
|
||||||
message = x
|
|
||||||
if not new or number == 0:
|
|
||||||
await self.bot.delete_message(cmdmsg)
|
|
||||||
break
|
|
||||||
|
|
||||||
@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,21 +133,24 @@ 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))
|
||||||
if number > 0 and number < 10000:
|
try:
|
||||||
while True:
|
if number > 0 and number < 10000:
|
||||||
new = False
|
while True:
|
||||||
async for x in self.bot.logs_from(message.channel, limit=100, before=message):
|
new = False
|
||||||
if number == 0:
|
async for x in self.bot.logs_from(message.channel, limit=100, before=message):
|
||||||
|
if number == 0:
|
||||||
|
await self.bot.delete_message(cmdmsg)
|
||||||
|
return
|
||||||
|
if x.author.id == user.id:
|
||||||
|
await self.bot.delete_message(x)
|
||||||
|
number -= 1
|
||||||
|
new = True
|
||||||
|
message = x
|
||||||
|
if not new or number == 0:
|
||||||
await self.bot.delete_message(cmdmsg)
|
await self.bot.delete_message(cmdmsg)
|
||||||
return
|
break
|
||||||
if x.author.id == user.id:
|
except discord.errors.Forbidden:
|
||||||
await self.bot.delete_message(x)
|
await self.bot.say("I need permissions to manage messages in this channel.")
|
||||||
number -= 1
|
|
||||||
new = True
|
|
||||||
message = x
|
|
||||||
if not new or number == 0:
|
|
||||||
await self.bot.delete_message(cmdmsg)
|
|
||||||
break
|
|
||||||
|
|
||||||
@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))
|
||||||
if number > 0 and number < 10000:
|
try:
|
||||||
async for x in self.bot.logs_from(channel, limit=number+1):
|
if number > 0 and number < 10000:
|
||||||
await self.bot.delete_message(x)
|
async for x in self.bot.logs_from(channel, limit=number+1):
|
||||||
|
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()
|
||||||
|
|||||||
Loading…
x
Reference in New Issue
Block a user