1
0
Fork 0
mirror of https://github.com/myned/modufur.git synced 2024-12-25 06:37:29 +00:00

Merge branch 'dev'

This commit is contained in:
Myned 2017-11-21 06:15:34 -05:00
commit d6ddf4e6c5
2 changed files with 56 additions and 52 deletions

View file

@ -7,6 +7,7 @@ from contextlib import suppress
from datetime import datetime as dt from datetime import datetime as dt
from datetime import timedelta as td from datetime import timedelta as td
from fractions import gcd from fractions import gcd
import copy
import discord as d import discord as d
from discord import errors as err from discord import errors as err
@ -600,7 +601,7 @@ class MsG:
posts_request = await u.fetch('https://{}.net/pool/show.json'.format(booru), params={'id': tempool['id'], 'page': page}, json=True) posts_request = await u.fetch('https://{}.net/pool/show.json'.format(booru), params={'id': tempool['id'], 'page': page}, json=True)
for post in posts_request['posts']: for post in posts_request['posts']:
posts[post['id']] = {'artist': ', '.join( posts[post['id']] = {'artist': ', '.join(
post['artist']), 'file_url': post['file_url']} post['artist']), 'file_url': post['file_url'], 'score': post['score']}
page += 1 page += 1
return pool, posts return pool, posts
@ -694,7 +695,7 @@ class MsG:
return False return False
def on_message(msg): def on_message(msg):
return msg.content.isdigit() and 1 <= int(msg.content) <= len(posts) and msg.author is ctx.author and msg.channel is ctx.channel return msg.content.isdigit() and 0 <= int(msg.content) <= len(posts) and msg.author is ctx.author and msg.channel is ctx.channel
try: try:
kwargs = u.get_kwargs(ctx, args) kwargs = u.get_kwargs(ctx, args)
@ -729,12 +730,12 @@ class MsG:
self.bot.wait_for('reaction_remove', check=on_reaction, timeout=7 * 60)]) self.bot.wait_for('reaction_remove', check=on_reaction, timeout=7 * 60)])
except exc.Save: except exc.Save:
if embed not in hearted: if keys[c - 1] not in hearted:
hearted.append(embed) hearted[keys[c - 1]] = copy.deepcopy(embed)
await paginator.edit(content='\N{HEAVY BLACK HEART}') await paginator.edit(content='\N{HEAVY BLACK HEART}')
else: else:
hearted.remove(embed) del hearted[keys[c - 1]]
await paginator.edit(content='\N{BROKEN HEART}') await paginator.edit(content='\N{BROKEN HEART}')
@ -756,14 +757,17 @@ class MsG:
await paginator.edit(content='\N{INPUT SYMBOL FOR NUMBERS}') await paginator.edit(content='\N{INPUT SYMBOL FOR NUMBERS}')
number = await self.bot.wait_for('message', check=on_message, timeout=7 * 60) number = await self.bot.wait_for('message', check=on_message, timeout=7 * 60)
c = int(number.content) if int(number.content) != 0:
c = int(number.content)
embed.title = values[c - 1]['artist']
embed.url = 'https://e621.net/post/show/{}'.format(
keys[c - 1])
embed.set_footer(text='{} / {}'.format(c, len(posts)),
icon_url=self._get_score(values[c - 1]['score']))
embed.set_image(url=values[c - 1]['file_url'])
await number.delete() await number.delete()
embed.title = values[c - 1]['artist']
embed.url = 'https://e621.net/post/show/{}'.format(
keys[c - 1])
embed.set_footer(text='{} / {}'.format(c, len(posts)),
icon_url=self._get_score(values[c - 1]['score']))
embed.set_image(url=values[c - 1]['file_url'])
await paginator.edit(content='\N{HEAVY BLACK HEART}' if keys[c - 1] in hearted.keys() else None, embed=embed) await paginator.edit(content='\N{HEAVY BLACK HEART}' if keys[c - 1] in hearted.keys() else None, embed=embed)
@ -808,9 +812,7 @@ class MsG:
for embed in hearted.values(): for embed in hearted.values():
await asyncio.sleep(self.RATE_LIMIT) await asyncio.sleep(self.RATE_LIMIT)
embed.footer.text = f'{n} / {len(hearted)}' await ctx.author.send(content=f'`{n} / {len(hearted)}`', embed=embed)
await ctx.author.send(embed=embed)
n += 1 n += 1
@cmds.command(name='e621page', aliases=['e621p', 'e6p', '6p']) @cmds.command(name='e621page', aliases=['e621p', 'e6p', '6p'])
@ -830,7 +832,7 @@ class MsG:
return False return False
def on_message(msg): def on_message(msg):
return msg.content.isdigit() and 1 <= int(msg.content) <= len(posts) and msg.author is ctx.author and msg.channel is ctx.channel return msg.content.isdigit() and 0 <= int(msg.content) <= len(posts) and msg.author is ctx.author and msg.channel is ctx.channel
try: try:
kwargs = u.get_kwargs(ctx, args) kwargs = u.get_kwargs(ctx, args)
@ -852,7 +854,7 @@ class MsG:
embed.set_image(url=values[c - 1]['file_url']) embed.set_image(url=values[c - 1]['file_url'])
embed.set_author(name=formatter.tostring(tags, order=order), embed.set_author(name=formatter.tostring(tags, order=order),
url='https://e621.net/post?tags={}'.format(','.join(tags)), icon_url=ctx.author.avatar_url) url='https://e621.net/post?tags={}'.format(','.join(tags)), icon_url=ctx.author.avatar_url)
embed.set_footer(text='{} / {}'.format(c, len(posts)), embed.set_footer(text=values[c - 1]['score'],
icon_url=self._get_score(values[c - 1]['score'])) icon_url=self._get_score(values[c - 1]['score']))
paginator = await dest.send(embed=embed) paginator = await dest.send(embed=embed)
@ -868,8 +870,8 @@ class MsG:
self.bot.wait_for('reaction_remove', check=on_reaction, timeout=7 * 60)]) self.bot.wait_for('reaction_remove', check=on_reaction, timeout=7 * 60)])
except exc.Save: except exc.Save:
if keys[c - 1] not in hearted: if keys[c - 1] not in hearted.keys():
hearted[keys[c - 1]] = embed hearted[keys[c - 1]] = copy.deepcopy(embed)
await paginator.edit(content='\N{HEAVY BLACK HEART}') await paginator.edit(content='\N{HEAVY BLACK HEART}')
else: else:
@ -883,7 +885,7 @@ class MsG:
embed.title = values[c - 1]['artist'] embed.title = values[c - 1]['artist']
embed.url = 'https://e621.net/post/show/{}'.format( embed.url = 'https://e621.net/post/show/{}'.format(
keys[c - 1]) keys[c - 1])
embed.set_footer(text='{} / {}'.format(c, len(posts)), embed.set_footer(text=values[c - 1]['score'],
icon_url=self._get_score(values[c - 1]['score'])) icon_url=self._get_score(values[c - 1]['score']))
embed.set_image(url=values[c - 1]['file_url']) embed.set_image(url=values[c - 1]['file_url'])
@ -892,17 +894,20 @@ class MsG:
await paginator.edit(content='\N{BLACK RIGHTWARDS ARROW}') await paginator.edit(content='\N{BLACK RIGHTWARDS ARROW}')
except exc.GoTo: except exc.GoTo:
await paginator.edit(content='\N{INPUT SYMBOL FOR NUMBERS}') await paginator.edit(content=f'`{c} / {len(posts)}`')
number = await self.bot.wait_for('message', check=on_message, timeout=7 * 60) number = int(await self.bot.wait_for('message', check=on_message, timeout=7 * 60))
if int(number.content) != 0:
c = int(number.content)
embed.title = values[c - 1]['artist']
embed.url = 'https://e621.net/post/show/{}'.format(
keys[c - 1])
embed.set_footer(text=values[c - 1]['score'],
icon_url=self._get_score(values[c - 1]['score']))
embed.set_image(url=values[c - 1]['file_url'])
c = int(number.content)
await number.delete() await number.delete()
embed.title = values[c - 1]['artist']
embed.url = 'https://e621.net/post/show/{}'.format(
keys[c - 1])
embed.set_footer(text='{} / {}'.format(c, len(posts)),
icon_url=self._get_score(values[c - 1]['score']))
embed.set_image(url=values[c - 1]['file_url'])
await paginator.edit(content='\N{HEAVY BLACK HEART}' if keys[c - 1] in hearted.keys() else None, embed=embed) await paginator.edit(content='\N{HEAVY BLACK HEART}' if keys[c - 1] in hearted.keys() else None, embed=embed)
@ -921,7 +926,7 @@ class MsG:
embed.title = values[c - 1]['artist'] embed.title = values[c - 1]['artist']
embed.url = 'https://e621.net/post/show/{}'.format( embed.url = 'https://e621.net/post/show/{}'.format(
keys[c - 1]) keys[c - 1])
embed.set_footer(text='{} / {}'.format(c, len(posts)), embed.set_footer(text=values[c - 1]['score'],
icon_url=self._get_score(values[c - 1]['score'])) icon_url=self._get_score(values[c - 1]['score']))
embed.set_image(url=values[c - 1]['file_url']) embed.set_image(url=values[c - 1]['file_url'])
@ -966,9 +971,7 @@ class MsG:
for embed in hearted.values(): for embed in hearted.values():
await asyncio.sleep(self.RATE_LIMIT) await asyncio.sleep(self.RATE_LIMIT)
embed.footer.text = f'{n} / {len(hearted)}' await ctx.author.send(content=f'`{n} / {len(hearted)}`', embed=embed)
await ctx.author.send(embed=embed)
n += 1 n += 1
# @e621_paginator.error # @e621_paginator.error
@ -993,7 +996,7 @@ class MsG:
return False return False
def on_message(msg): def on_message(msg):
return msg.content.isdigit() and 1 <= int(msg.content) <= len(posts) and msg.author is ctx.author and msg.channel is ctx.channel return msg.content.isdigit() and 0 <= int(msg.content) <= len(posts) and msg.author is ctx.author and msg.channel is ctx.channel
try: try:
kwargs = u.get_kwargs(ctx, args) kwargs = u.get_kwargs(ctx, args)
@ -1015,7 +1018,7 @@ class MsG:
embed.set_image(url=values[c - 1]['file_url']) embed.set_image(url=values[c - 1]['file_url'])
embed.set_author(name=formatter.tostring(tags, order=order), embed.set_author(name=formatter.tostring(tags, order=order),
url='https://e926.net/post?tags={}'.format(','.join(tags)), icon_url=ctx.author.avatar_url) url='https://e926.net/post?tags={}'.format(','.join(tags)), icon_url=ctx.author.avatar_url)
embed.set_footer(text='{} / {}'.format(c, len(posts)), embed.set_footer(text=values[c - 1]['score'],
icon_url=self._get_score(values[c - 1]['score'])) icon_url=self._get_score(values[c - 1]['score']))
paginator = await dest.send(embed=embed) paginator = await dest.send(embed=embed)
@ -1031,12 +1034,12 @@ class MsG:
self.bot.wait_for('reaction_remove', check=on_reaction, timeout=7 * 60)]) self.bot.wait_for('reaction_remove', check=on_reaction, timeout=7 * 60)])
except exc.Save: except exc.Save:
if embed not in hearted: if keys[c - 1] not in hearted:
hearted.append(embed) hearted[keys[c - 1]] = copy.deepcopy(embed)
await paginator.edit(content='\N{HEAVY BLACK HEART}') await paginator.edit(content='\N{HEAVY BLACK HEART}')
else: else:
hearted.remove(embed) del hearted[keys[c - 1]]
await paginator.edit(content='\N{BROKEN HEART}') await paginator.edit(content='\N{BROKEN HEART}')
@ -1046,7 +1049,7 @@ class MsG:
embed.title = values[c - 1]['artist'] embed.title = values[c - 1]['artist']
embed.url = 'https://e926.net/post/show/{}'.format( embed.url = 'https://e926.net/post/show/{}'.format(
keys[c - 1]) keys[c - 1])
embed.set_footer(text='{} / {}'.format(c, len(posts)), embed.set_footer(text=values[c - 1]['score'],
icon_url=self._get_score(values[c - 1]['score'])) icon_url=self._get_score(values[c - 1]['score']))
embed.set_image(url=values[c - 1]['file_url']) embed.set_image(url=values[c - 1]['file_url'])
@ -1055,17 +1058,20 @@ class MsG:
await paginator.edit(content='\N{BLACK RIGHTWARDS ARROW}') await paginator.edit(content='\N{BLACK RIGHTWARDS ARROW}')
except exc.GoTo: except exc.GoTo:
await paginator.edit(content='\N{INPUT SYMBOL FOR NUMBERS}') await paginator.edit(content=f'`{c} / {len(posts)}`')
number = await self.bot.wait_for('message', check=on_message, timeout=7 * 60) number = await self.bot.wait_for('message', check=on_message, timeout=7 * 60)
c = int(number.content) if int(number.content) != 0:
c = int(number.content)
embed.title = values[c - 1]['artist']
embed.url = 'https://e926.net/post/show/{}'.format(
keys[c - 1])
embed.set_footer(text=values[c - 1]['score'],
icon_url=self._get_score(values[c - 1]['score']))
embed.set_image(url=values[c - 1]['file_url'])
await number.delete() await number.delete()
embed.title = values[c - 1]['artist']
embed.url = 'https://e926.net/post/show/{}'.format(
keys[c - 1])
embed.set_footer(text='{} / {}'.format(c, len(posts)),
icon_url=self._get_score(values[c - 1]['score']))
embed.set_image(url=values[c - 1]['file_url'])
await paginator.edit(content='\N{HEAVY BLACK HEART}' if keys[c - 1] in hearted.keys() else None, embed=embed) await paginator.edit(content='\N{HEAVY BLACK HEART}' if keys[c - 1] in hearted.keys() else None, embed=embed)
@ -1084,7 +1090,7 @@ class MsG:
embed.title = values[c - 1]['artist'] embed.title = values[c - 1]['artist']
embed.url = 'https://e926.net/post/show/{}'.format( embed.url = 'https://e926.net/post/show/{}'.format(
keys[c - 1]) keys[c - 1])
embed.set_footer(text='{} / {}'.format(c, len(posts)), embed.set_footer(text=values[c - 1]['score'],
icon_url=self._get_score(values[c - 1]['score'])) icon_url=self._get_score(values[c - 1]['score']))
embed.set_image(url=values[c - 1]['file_url']) embed.set_image(url=values[c - 1]['file_url'])
@ -1129,9 +1135,7 @@ class MsG:
for embed in hearted.values(): for embed in hearted.values():
await asyncio.sleep(self.RATE_LIMIT) await asyncio.sleep(self.RATE_LIMIT)
embed.footer.text = f'{n} / {len(hearted)}' await ctx.author.send(content=f'`{n} / {len(hearted)}`', embed=embed)
await ctx.author.send(embed=embed)
n += 1 n += 1
# Searches for and returns images from e621.net given tags when not blacklisted # Searches for and returns images from e621.net given tags when not blacklisted

View file

@ -39,7 +39,7 @@ class Right(Exception):
class Save(Exception): class Save(Exception):
def __init__(self, user): def __init__(self, user=None):
self.user = user self.user = user