1
0
Fork 0
mirror of https://github.com/myned/modufur.git synced 2024-12-24 14:27:27 +00:00

Cleaned up formatting with autopep8

This commit is contained in:
Myned 2017-10-12 22:26:22 -04:00
parent 35e7091129
commit 2bd2808bfc
5 changed files with 149 additions and 55 deletions

View file

@ -1,7 +1,9 @@
import asyncio import asyncio
import traceback as tb
import discord import discord
import traceback
from discord.ext import commands from discord.ext import commands
from misc import exceptions as exc from misc import exceptions as exc
@ -10,6 +12,19 @@ class Info:
def __init__(self, bot): def __init__(self, bot):
self.bot = bot self.bot = bot
@commands.command(hidden=True)
async def hi(ctx):
user = ctx.message.author
hello = 'Hewwo, {}.'.format(user.mention)
if user.id == checks.owner_id:
hello += '.. ***Master.*** uwu'
elif user.guild_permissions.administrator:
hello = '{} **Admin** {}'.format(hello[:7], hello[7:])
elif user.guild_permissions.ban_members:
hello = '{} **Mod** {}'.format(hello[:7], hello[7:])
await ctx.send(hello)
@commands.group(name='info', aliases=['i']) @commands.group(name='info', aliases=['i'])
async def info(self, ctx): async def info(self, ctx):
if invoked_subcommand is None: if invoked_subcommand is None:
@ -17,16 +32,8 @@ class Info:
@info.command(aliases=['g', 'server', 's'], brief='Provides info about a guild', hidden=True) @info.command(aliases=['g', 'server', 's'], brief='Provides info about a guild', hidden=True)
async def guild(self, ctx): async def guild(self, ctx):
try: pass
guild = ''
except Exception:
await ctx.send(exc.base)
traceback.print_exc(limit=1)
@info.command(aliases=['u', 'member', 'm'], brief='Provides info about a user', hidden=True) @info.command(aliases=['u', 'member', 'm'], brief='Provides info about a user', hidden=True)
async def user(self, ctx): async def user(self, ctx):
try: pass
user = ''
except Exception:
await ctx.send(exc.base)
traceback.print_exc(limit=1)

View file

@ -1,13 +1,16 @@
import asyncio import asyncio
import traceback as tb
import discord as d import discord as d
import traceback
from discord.ext import commands from discord.ext import commands
from misc import checks
from misc import exceptions as exc from misc import exceptions as exc
from misc import checks
from utils import utils as u from utils import utils as u
RATE_LIMIT = 2.1 RATE_LIMIT = 2.1
class Administration: class Administration:
def __init__(self, bot): def __init__(self, bot):
@ -94,7 +97,7 @@ class Administration:
history.extend(await channel.history(limit=None).flatten()) history.extend(await channel.history(limit=None).flatten())
await ch_sent.edit(content='🗄 **Cached** `{}/{}` **channels.**'.format(channels.index(channel) + 1, len(channels))) await ch_sent.edit(content='🗄 **Cached** `{}/{}` **channels.**'.format(channels.index(channel) + 1, len(channels)))
await asyncio.sleep(RATE_LIMIT) await asyncio.sleep(RATE_LIMIT)
elif when =='before': elif when == 'before':
for channel in channels: for channel in channels:
history.extend(await channel.history(limit=None, before=ref.created_at).flatten()) history.extend(await channel.history(limit=None, before=ref.created_at).flatten())
await ch_sent.edit(content='🗄 **Cached** `{}/{}` **channels.**'.format(channels.index(channel) + 1, len(channels))) await ch_sent.edit(content='🗄 **Cached** `{}/{}` **channels.**'.format(channels.index(channel) + 1, len(channels)))
@ -117,8 +120,10 @@ class Administration:
await cont_sent.delete() await cont_sent.delete()
del_sent = await ctx.send('🗑 **Deleting messages...**') del_sent = await ctx.send('🗑 **Deleting messages...**')
for message in history: for message in history:
try: await message.delete() try:
except d.NotFound: pass await message.delete()
except d.NotFound:
pass
# print('Deleted {}/{} messages.'.format(history.index(message) + 1, len(history))) # print('Deleted {}/{} messages.'.format(history.index(message) + 1, len(history)))
await del_sent.edit(content='🗑 **Deleted** `{}/{}` **messages.**'.format(history.index(message) + 1, len(history))) await del_sent.edit(content='🗑 **Deleted** `{}/{}` **messages.**'.format(history.index(message) + 1, len(history)))
await asyncio.sleep(RATE_LIMIT) await asyncio.sleep(RATE_LIMIT)
@ -127,20 +132,19 @@ class Administration:
await ctx.send('❌ **Deletion aborted.**', delete_after=10) await ctx.send('❌ **Deletion aborted.**', delete_after=10)
except TimeoutError: except TimeoutError:
await ctx.send('❌ **Deletion timed out.**', delete_after=10) await ctx.send('❌ **Deletion timed out.**', delete_after=10)
except Exception:
await ctx.send('{}\n```{}```'.format(exc.base, traceback.format_exc(limit=1)))
traceback.print_exc()
async def delete(self): async def delete(self):
while True: while True:
message = await self.queue.get() message = await self.queue.get()
await asyncio.sleep(RATE_LIMIT) await asyncio.sleep(RATE_LIMIT)
try: await message.delete() try:
except d.errors.NotFound: pass await message.delete()
except d.errors.NotFound:
pass
async def on_message(self, channel): async def on_message(self, channel):
def check(msg): def check(msg):
if msg.content == 'stop' and msg.channel is channel and msg.author.guild_permissions.administrator: if msg.content.lower() == 'stop' and msg.channel is channel and msg.author.guild_permissions.administrator:
raise exc.Abort raise exc.Abort
elif msg.channel is channel and not msg.pinned: elif msg.channel is channel and not msg.pinned:
return True return True
@ -153,14 +157,11 @@ class Administration:
await self.queue.put(message) await self.queue.put(message)
except exc.Abort: except exc.Abort:
u.background['management']['auto_delete'].remove(channel.id) u.background['management']['auto_delete'].remove(channel.id)
u.update(u.background, 'background.json') u.dump(u.background, 'background.pkl')
print('Stopped looping {}'.format(channel.id)) print('Stopped looping {}'.format(channel.id))
await channel.send('✅ **Stopped deleting messages in** {}**.**'.format(channel.mention), delete_after=5) await channel.send('✅ **Stopped deleting messages in** {}**.**'.format(channel.mention), delete_after=5)
except AttributeError: except AttributeError:
pass pass
except Exception:
await channel.send(exc.base + '\n```' + traceback.format_exc(limit=1) + '```')
traceback.print_exc()
@commands.command(name='autodelete', aliases=['autodel', 'ad']) @commands.command(name='autodelete', aliases=['autodel', 'ad'])
@commands.has_permissions(administrator=True) @commands.has_permissions(administrator=True)
@ -171,13 +172,12 @@ class Administration:
try: try:
if channel.id not in u.background.setdefault('management', {}).setdefault('auto_delete', []): if channel.id not in u.background.setdefault('management', {}).setdefault('auto_delete', []):
u.background['management']['auto_delete'].append(channel.id) u.background['management']['auto_delete'].append(channel.id)
u.update(u.background, 'background.json') u.dump(u.background, 'background.pkl')
self.bot.loop.create_task(self.on_message(channel)) self.bot.loop.create_task(self.on_message(channel))
self.bot.loop.create_task(self.delete()) self.bot.loop.create_task(self.delete())
print('Looping {}'.format(channel.id)) print('Looping {}'.format(channel.id))
await ctx.send('✅ **Auto-deleting all messages in this channel.**', delete_after=5) await ctx.send('✅ **Auto-deleting all messages in this channel.**', delete_after=5)
else: raise exc.Exists else:
except exc.Exists: await ctx.send('❌ **Already auto-deleting in this channel.** Type `stop` to stop.', delete_after=10) raise exc.Exists
except Exception: except exc.Exists:
await channel.send(exc.base + '\n```' + traceback.format_exc(limit=1) + '```') await ctx.send('❌ **Already auto-deleting in this channel.** Type `stop` to stop.', delete_after=10)
traceback.print_exc()

View file

@ -1,7 +1,8 @@
import asyncio import asyncio
import discord
import json import json
import traceback import traceback
import discord
from discord.ext import commands from discord.ext import commands
from discord.ext.commands import errors from discord.ext.commands import errors
@ -11,30 +12,43 @@ with open('config.json') as infile:
owner_id = config['owner_id'] owner_id = config['owner_id']
listed_ids = config['listed_ids'] listed_ids = config['listed_ids']
def is_owner(): def is_owner():
async def predicate(ctx): async def predicate(ctx):
return ctx.message.author.id == owner_id return ctx.message.author.id == owner_id
return commands.check(predicate) return commands.check(predicate)
def is_admin(): def is_admin():
def predicate(ctx): def predicate(ctx):
return ctx.message.author.guild_permissions.administrator return ctx.message.author.guild_permissions.administrator
return commands.check(predicate) return commands.check(predicate)
def is_mod(): def is_mod():
def predicate(ctx): def predicate(ctx):
return ctx.message.author.guild_permissions.ban_members return ctx.message.author.guild_permissions.ban_members
return commands.check(predicate) return commands.check(predicate)
def is_listed(): def is_listed():
def predicate(ctx): def predicate(ctx):
return ctx.message.author.id in listed_ids return ctx.message.author.id in listed_ids
return commands.check(predicate) return commands.check(predicate)
def owner(ctx): def owner(ctx):
return ctx.message.author.id == owner_id return ctx.message.author.id == owner_id
def admin(ctx): def admin(ctx):
return ctx.message.author.guild_permissions.administrator return ctx.message.author.guild_permissions.administrator
def mod(ctx): def mod(ctx):
return ctx.message.author.guild_permissions.ban_members return ctx.message.author.guild_permissions.ban_members
def is_nsfw(): def is_nsfw():
def predicate(ctx): def predicate(ctx):
if isinstance(ctx.message.channel, discord.TextChannel): if isinstance(ctx.message.channel, discord.TextChannel):
@ -42,6 +56,7 @@ def is_nsfw():
return True return True
return commands.check(predicate) return commands.check(predicate)
def del_ctx(): def del_ctx():
async def predicate(ctx): async def predicate(ctx):
if isinstance(ctx.message.channel, discord.TextChannel): if isinstance(ctx.message.channel, discord.TextChannel):

View file

@ -1,24 +1,93 @@
base = '⚠️ **An internal error has occurred.** Please notify my master! 🐺' base = '⚠️ **An internal error has occurred.** Please notify my master! 🐺'
class Left(Exception): pass
class Right(Exception): pass class Left(Exception):
class Save(Exception): pass pass
class Exists(Exception): pass
class PostError(Exception): pass
class ImageError(Exception): pass class Right(Exception):
class MatchError(Exception): pass pass
class TagBlacklisted(Exception): pass
class BoundsError(Exception): pass
class TagBoundsError(Exception): pass class Save(Exception):
class TagExists(Exception): pass pass
class TagError(Exception): pass
class FlagError(Exception): pass
class BlacklistError(Exception): pass class GoTo(Exception):
class NotFound(Exception): pass pass
class Timeout(Exception): pass
class InvalidVideoFile(Exception): pass
class MissingAttachment(Exception): pass class Exists(Exception):
class TooManyAttachments(Exception): pass pass
class CheckFail(Exception): pass
class Abort(Exception): pass
class Continue(Exception): pass class PostError(Exception):
pass
class ImageError(Exception):
pass
class MatchError(Exception):
pass
class TagBlacklisted(Exception):
pass
class BoundsError(Exception):
pass
class TagBoundsError(Exception):
pass
class TagExists(Exception):
pass
class TagError(Exception):
pass
class FlagError(Exception):
pass
class BlacklistError(Exception):
pass
class NotFound(Exception):
pass
class Timeout(Exception):
pass
class InvalidVideoFile(Exception):
pass
class MissingAttachment(Exception):
pass
class TooManyAttachments(Exception):
pass
class CheckFail(Exception):
pass
class Abort(Exception):
pass
class Continue(Exception):
pass

View file

@ -10,6 +10,7 @@ def tostring(i, *, random=False):
o = ' ' o = ' '
return o return o
def tostring_commas(i): def tostring_commas(i):
if i: if i:
o = ',' o = ','
@ -18,6 +19,7 @@ def tostring_commas(i):
return o[:-1] return o[:-1]
return '' return ''
def dict_tostring(i): def dict_tostring(i):
o = '' o = ''
if i: if i:
@ -25,6 +27,7 @@ def dict_tostring(i):
o += '**' + k + ':** `' + tostring(v) + '`\n' o += '**' + k + ':** `' + tostring(v) + '`\n'
return o return o
def dictelem_tostring(i): def dictelem_tostring(i):
o = '' o = ''
if i: if i: