mirror of
https://github.com/Cog-Creators/Red-DiscordBot.git
synced 2025-11-06 11:18: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
|
||||
cmdmsg = message
|
||||
logger.info("{}({}) deleted {} messages containing '{}' in channel {}".format(author.name, author.id, str(number), text, message.channel.name))
|
||||
if number > 0 and number < 10000:
|
||||
while True:
|
||||
new = False
|
||||
async for x in self.bot.logs_from(message.channel, limit=100, before=message):
|
||||
if number == 0:
|
||||
try:
|
||||
if number > 0 and number < 10000:
|
||||
while True:
|
||||
new = False
|
||||
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)
|
||||
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)
|
||||
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)
|
||||
async def user(self, ctx, user : discord.Member, number : int):
|
||||
@ -130,21 +133,24 @@ class Mod:
|
||||
message = ctx.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))
|
||||
if number > 0 and number < 10000:
|
||||
while True:
|
||||
new = False
|
||||
async for x in self.bot.logs_from(message.channel, limit=100, before=message):
|
||||
if number == 0:
|
||||
try:
|
||||
if number > 0 and number < 10000:
|
||||
while True:
|
||||
new = False
|
||||
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)
|
||||
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)
|
||||
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)
|
||||
async def messages(self, ctx, number : int):
|
||||
@ -155,9 +161,12 @@ class Mod:
|
||||
author = ctx.message.author
|
||||
channel = ctx.message.channel
|
||||
logger.info("{}({}) deleted {} messages in channel {}".format(author.name, author.id, str(number), channel.name))
|
||||
if number > 0 and number < 10000:
|
||||
async for x in self.bot.logs_from(channel, limit=number+1):
|
||||
await self.bot.delete_message(x)
|
||||
try:
|
||||
if number > 0 and number < 10000:
|
||||
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)
|
||||
@checks.is_owner()
|
||||
|
||||
Loading…
x
Reference in New Issue
Block a user