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

Hopefully fixed the various conceptual errors qwq

This commit is contained in:
Myned 2017-10-17 20:13:40 -04:00
parent 6f38e0bc8e
commit 09b456faf3
3 changed files with 74 additions and 65 deletions

View file

@ -24,7 +24,7 @@ class MsG:
self.color = d.Color(0x1A1A1A)
self.LIMIT = 100
self.RATE_LIMIT = u.RATE_LIMIT
self.HISTORY_LIMIT = 99
self.HISTORY_LIMIT = 100
self.queue = asyncio.Queue()
self.qualitifying = False
@ -45,7 +45,8 @@ class MsG:
@commands.command(aliases=['rel'], brief='e621 Related tag search', description='e621 | NSFW\nReturn a link search for given tags')
@checks.del_ctx()
async def related(self, ctx, *args):
dest, tags = u.get_args(ctx, args, rem=True)
kwargs = u.get_kwargs(ctx, args)
dest, tags = kwargs['destination'], kwargs['remaining']
related = []
await dest.trigger_typing()
@ -65,7 +66,8 @@ class MsG:
@commands.command(name='aliases', aliases=['alias'], brief='e621 Tag aliases', description='e621 | NSFW\nSearch aliases for given tag')
@checks.del_ctx()
async def tag_aliases(self, ctx, *args):
dest, tags = u.get_args(ctx, args, rem=True)
kwargs = u.get_kwargs(ctx, args)
dest, tags = kwargs['destination'], kwargs['remaining']
aliases = []
await dest.trigger_typing()
@ -85,7 +87,8 @@ class MsG:
@checks.del_ctx()
async def get_image(self, ctx, *args):
try:
dest, urls = u.get_args(ctx, args, rem=True)
kwargs = u.get_kwargs(ctx, args)
dest, urls = kwargs['destination'], kwargs['remaining']
if not urls:
raise exc.MissingArgument
@ -110,7 +113,8 @@ class MsG:
@checks.del_ctx()
async def reverse_image_search(self, ctx, *args):
try:
dest, urls = u.get_args(ctx, args, rem=True)
kwargs = u.get_kwargs(ctx, args)
dest, urls = kwargs['destination'], kwargs['remaining']
c = 0
if not urls and not ctx.message.attachments:
@ -153,7 +157,8 @@ class MsG:
@checks.del_ctx()
async def quality_reverse_image_search(self, ctx, *args):
try:
dest, urls = u.get_args(ctx, args, rem=True)
kwargs = u.get_kwargs(ctx, args)
dest, urls = kwargs['destination'], kwargs['remaining']
c = 0
if not urls and not ctx.message.attachments:
@ -200,14 +205,17 @@ class MsG:
@checks.del_ctx()
async def reversify(self, ctx, *args):
try:
dest, remove, limit = u.get_args(ctx, args, rm=True, lim=self.HISTORY_LIMIT)
kwargs = u.get_kwargs(ctx, args, limit=self.HISTORY_LIMIT / 5)
dest, remove, limit = kwargs['destination'], kwargs['remove'], kwargs['limit']
urls = []
attachments = []
if not ctx.author.permissions_in(ctx.channel).manage_messages:
dest = ctx.author
async for message in ctx.channel.history(limit=limit + 1):
async for message in ctx.channel.history(limit=self.HISTORY_LIMIT * limit):
if len(urls) + len(attachments) >= limit:
break
if message.author.id != self.bot.user.id and re.search('(http[a-z]?:\/\/[^ ]*\.(?:gif|png|jpg|jpeg))', message.content) is not None:
urls.append(message)
await message.add_reaction('')
@ -267,14 +275,17 @@ class MsG:
@checks.del_ctx()
async def qualitify(self, ctx, *args):
try:
dest, remove, limit = u.get_args(ctx, args, rm=True, lim=self.HISTORY_LIMIT)
kwargs = u.get_kwargs(ctx, args, limit=self.HISTORY_LIMIT / 5)
dest, remove, limit = kwargs['destination'], kwargs['remove'], kwargs['limit']
urls = []
attachments = []
if not ctx.author.permissions_in(ctx.channel).manage_messages:
dest = ctx.author
async for message in ctx.channel.history(limit=limit + 1):
async for message in ctx.channel.history(limit=self.HISTORY_LIMIT * limit):
if len(urls) + len(attachments) >= limit:
break
if message.author.id != self.bot.user.id and re.search('(http[a-z]?:\/\/[^ ]*\.(?:gif|png|jpg|jpeg))', message.content) is not None:
urls.append(message)
await message.add_reaction('')
@ -330,9 +341,9 @@ class MsG:
except exc.NotFound:
await ctx.send('**No matches found.**', delete_after=10)
await ctx.message.add_reaction('')
except ValueError:
await ctx.send('**Invalid limit.**', delete_after=10)
await ctx.message.add_reaction('')
# except ValueError:
# await ctx.send('**Invalid limit.**', delete_after=10)
# await ctx.message.add_reaction('❌')
async def _qualitify(self):
while self.qualitifying:
@ -496,7 +507,8 @@ class MsG:
return False
try:
dest, query = u.get_args(ctx, args, rem=True)
kwargs = u.get_kwargs(ctx, args)
dest, query = kwargs['destination'], kwargs['remaining']
starred = []
c = 1
@ -676,7 +688,8 @@ class MsG:
return False
try:
dest, tags = u.get_args(ctx, args, rem=True)
kwargs = u.get_kwargs(ctx, args)
dest, tags = kwargs['destination'], kwargs['remaining']
limit = self.LIMIT / 5
starred = []
c = 1
@ -814,7 +827,8 @@ class MsG:
@checks.is_nsfw()
async def e621(self, ctx, *args):
try:
dest, args, limit = u.get_args(ctx, args, rem=True, lim=3)
kwargs = u.get_kwargs(ctx, args, limit=3)
dest, args, limit = kwargs['destination'], kwargs['remaining'], kwargs['limit']
tags = self.get_favorites(ctx, args)
@ -867,7 +881,8 @@ class MsG:
@checks.del_ctx()
async def e926(self, ctx, *args):
try:
dest, args, limit = u.get_args(ctx, args, rem=True, lim=3)
kwargs = u.get_kwargs(ctx, args, limit=3)
dest, args, limit = kwargs['destination'], kwargs['remaining'], kwargs['limit']
tags = self.get_favorites(ctx, args)
@ -923,7 +938,7 @@ class MsG:
@_get_favorite.command(name='tags', aliases=['t'])
async def __get_favorite_tags(self, ctx, *args):
dest = u.get_args(ctx, *args)
dest = u.get_kwargs(ctx, args)['destination']
await dest.send('{}**\'s favorite tags:**\n```\n{}```'.format(ctx.author.mention, formatter.tostring(self.favorites.get(ctx.author.id, {}).get('tags', set()))), delete_after=10)
await ctx.message.add_reaction('')
@ -939,7 +954,8 @@ class MsG:
@_add_favorite.command(name='tags', aliases=['t'])
async def __add_favorite_tags(self, ctx, *args):
try:
dest, tags = u.get_args(ctx, args, rem=True)
kwargs = u.get_kwargs(ctx, args)
dest, tags = kwargs['destination'], kwargs['remaining']
for tag in tags:
if tag in self.blacklists['user_blacklist'].get(ctx.author.id, set()):
@ -971,7 +987,8 @@ class MsG:
@_remove_favorite.command(name='tags', aliases=['t'])
async def __remove_favorite_tags(self, ctx, *args):
try:
dest, tags = u.get_args(ctx, args, rem=True)
kwargs = u.get_kwargs(ctx, args)
dest, tags = kwargs['destination'], kwargs['remaining']
for tag in tags:
try:
@ -999,7 +1016,7 @@ class MsG:
@_clear_favorite.command(name='tags', aliases=['t'])
async def __clear_favorite_tags(self, ctx, *args):
dest = u.get_args(ctx, args)
dest = u.get_kwargs(ctx, args)['destination']
with suppress(KeyError):
del self.favorites[ctx.author.id]
@ -1033,14 +1050,14 @@ class MsG:
@_get_blacklist.command(name='global', aliases=['gl', 'g'])
async def __get_global_blacklist(self, ctx, *args):
dest = u.get_args(ctx, args)
dest = u.get_kwargs(ctx, args)['destination']
await dest.send('🚫 **Global blacklist:**\n```\n{}```'.format(formatter.tostring(self.blacklists['global_blacklist'])))
await ctx.message.add_reaction('')
@_get_blacklist.command(name='channel', aliases=['ch', 'c'])
async def __get_channel_blacklist(self, ctx, *args):
dest = u.get_args(ctx, args)
dest = u.get_kwargs(ctx, args)['destination']
guild = ctx.guild if isinstance(
ctx.guild, d.Guild) else ctx.channel
@ -1050,14 +1067,14 @@ class MsG:
@_get_blacklist.command(name='me', aliases=['m'])
async def __get_user_blacklist(self, ctx, *args):
dest = u.get_args(ctx, args)
dest = u.get_kwargs(ctx, args)['destination']
await dest.send('🚫 {}**\'s blacklist:**\n```\n{}```'.format(ctx.author.mention, formatter.tostring(self.blacklists['user_blacklist'].get(ctx.author.id, set()))), delete_after=10)
await ctx.message.add_reaction('')
@_get_blacklist.command(name='here', aliases=['h'])
async def __get_here_blacklists(self, ctx, *args):
dest = u.get_args(ctx, args)
dest = u.get_kwargs(ctx, args)['destination']
guild = ctx.guild if isinstance(
ctx.guild, d.Guild) else ctx.channel
@ -1074,7 +1091,7 @@ class MsG:
@__get_all_blacklists.command(name='guild', aliases=['g'])
@commands.has_permissions(manage_channels=True)
async def ___get_all_guild_blacklists(self, ctx, *args):
dest = u.get_args(ctx, args)
dest = u.get_kwargs(ctx, args)['destination']
guild = ctx.guild if isinstance(
ctx.guild, d.Guild) else ctx.channel
@ -1085,7 +1102,7 @@ class MsG:
@__get_all_blacklists.command(name='user', aliases=['u', 'member', 'm'])
@commands.is_owner()
async def ___get_all_user_blacklists(self, ctx, *args):
dest = u.get_args(ctx, args)
dest = u.get_kwargs(ctx, args)['destination']
await dest.send('🚫 **__User blacklists:__**\n\n{}'.format(formatter.dict_tostring(self.blacklists['user_blacklist'])))
await ctx.message.add_reaction('')
@ -1099,7 +1116,8 @@ class MsG:
@_add_tags.command(name='global', aliases=['gl', 'g'])
@commands.is_owner()
async def __add_global_tags(self, ctx, *args):
dest, tags = u.get_args(ctx, args, rem=True)
kwargs = u.get_kwargs(ctx, args)
dest, tags = kwargs['destination'], kwargs['remaining']
await dest.trigger_typing()
@ -1120,7 +1138,8 @@ class MsG:
@_add_tags.command(name='channel', aliases=['ch', 'c'])
@commands.has_permissions(manage_channels=True)
async def __add_channel_tags(self, ctx, *args):
dest, tags = u.get_args(ctx, args, rem=True)
kwargs = u.get_kwargs(ctx, args)
dest, tags = kwargs['destination'], kwargs['remaining']
guild = ctx.guild if isinstance(
ctx.guild, d.Guild) else ctx.channel
@ -1144,7 +1163,8 @@ class MsG:
@_add_tags.command(name='me', aliases=['m'])
async def __add_user_tags(self, ctx, *args):
dest, tags = u.get_args(ctx, args, rem=True)
kwargs = u.get_kwargs(ctx, args)
dest, tags = kwargs['destination'], kwargs['remaining']
await dest.trigger_typing()
@ -1172,7 +1192,8 @@ class MsG:
@commands.is_owner()
async def __remove_global_tags(self, ctx, *args):
try:
dest, tags = u.get_args(ctx, args, rem=True)
kwargs = u.get_kwargs(ctx, args)
dest, tags = kwargs['destination'], kwargs['remaining']
for tag in tags:
try:
@ -1194,7 +1215,8 @@ class MsG:
@commands.has_permissions(manage_channels=True)
async def __remove_channel_tags(self, ctx, *args):
try:
dest, tags = u.get_args(ctx, args, rem=True)
kwargs = u.get_kwargs(ctx, args)
dest, tags = kwargs['destination'], kwargs['remaining']
guild = ctx.guild if isinstance(
ctx.guild, d.Guild) else ctx.channel
@ -1218,7 +1240,8 @@ class MsG:
@_remove_tags.command(name='me', aliases=['m'])
async def __remove_user_tags(self, ctx, *args):
try:
dest, tags = u.get_args(ctx, args, rem=True)
kwargs = u.get_kwargs(ctx, args)
dest, tags = kwargs['destination'], kwargs['remaining']
for tag in tags:
try:
@ -1245,7 +1268,7 @@ class MsG:
@_clear_blacklist.command(name='global', aliases=['gl', 'g'])
@commands.is_owner()
async def __clear_global_blacklist(self, ctx, *args):
dest = u.get_args(ctx, args)
dest = u.get_kwargs(ctx, args)['destination']
self.blacklists['global_blacklist'].clear()
u.dump(self.blacklists, 'cogs/blacklists.pkl')
@ -1256,7 +1279,7 @@ class MsG:
@_clear_blacklist.command(name='channel', aliases=['ch', 'c'])
@commands.has_permissions(manage_channels=True)
async def __clear_channel_blacklist(self, ctx, *args):
dest = u.get_args(ctx, args)
dest = u.get_kwargs(ctx, args)['destination']
guild = ctx.guild if isinstance(
ctx.guild, d.Guild) else ctx.channel
@ -1270,7 +1293,7 @@ class MsG:
@_clear_blacklist.command(name='me', aliases=['m'])
async def __clear_user_blacklist(self, ctx, *args):
dest = u.get_args(ctx, args)
dest = u.get_kwargs(ctx, args)['destination']
with suppress(KeyError):
del self.blacklists['user_blacklist'][ctx.author.id]

View file

@ -24,7 +24,7 @@ class Info:
@commands.command(hidden=True)
async def hi(self, ctx, *args):
dest = u.get_args(ctx, args)
dest = u.get_kwargs(ctx, args)
hello = 'Hewwo, {}.'.format(ctx.author.mention)
if ctx.author.id == checks.owner_id:

View file

@ -113,11 +113,11 @@ async def fetch(url, *, params={}, json=False):
# def geneate_embed(**kwargs):
# embed = d.Embed(title=kwargs['title'], )
def get_args(ctx, args, *, rem=False, rm=False, lim=False):
def get_kwargs(ctx, args, *, limit=False):
destination = ctx
remaining = list(args[:])
remove = False
limit = lim
rm = False
lim = 1
if '-d' in remaining or '-dm' in remaining:
destination = ctx.author
@ -127,40 +127,26 @@ def get_args(ctx, args, *, rem=False, rm=False, lim=False):
except ValueError:
remaining.remove('-dm')
if rm:
if ('-r' in remaining or '-rm' in remaining or '-remove' in remaining) and ctx.author.permissions_in(ctx.channel).manage_messages:
remove = True
print('remove')
if ('-r' in remaining or '-rm' in remaining or '-remove' in remaining) and ctx.author.permissions_in(ctx.channel).manage_messages:
rm = True
try:
remaining.remove('-r')
except ValueError:
try:
remaining.remove('-r')
remaining.remove('-rm')
except ValueError:
try:
remaining.remove('-rm')
except ValueError:
remaining.remove('-remove')
remaining.remove('-remove')
if lim:
if limit:
for arg in remaining:
if 1 <= len(arg) <= 2:
with suppress(ValueError):
if 1 <= int(arg) <= lim:
limit = int(arg)
if 1 <= int(arg) <= limit:
lim = int(arg)
remaining.remove(arg)
break
else:
raise exc.BoundsError(arg)
if rem:
if rm and lim:
return destination, remaining, remove, limit
if rm:
return destination, remaining, remove
if lim:
return destination, remaining, limit
return destination, remaining
if rm:
return destination, remove
if lim:
return destination, limit
return destination
return {'destination': destination, 'remaining': remaining, 'remove': rm, 'limit': lim}