Clear stolen emojis, and print stolen emojis
This commit is contained in:
parent
53649137a2
commit
5c0b0b6bff
@ -36,6 +36,7 @@ class StealEmoji(Cog):
|
|||||||
"managed": None,
|
"managed": None,
|
||||||
"guild_id": None,
|
"guild_id": None,
|
||||||
"animated": None,
|
"animated": None,
|
||||||
|
"saveid": None,
|
||||||
}
|
}
|
||||||
|
|
||||||
def __init__(self, red: Red):
|
def __init__(self, red: Red):
|
||||||
@ -56,6 +57,36 @@ class StealEmoji(Cog):
|
|||||||
if ctx.invoked_subcommand is None:
|
if ctx.invoked_subcommand is None:
|
||||||
pass
|
pass
|
||||||
|
|
||||||
|
@checks.is_owner()
|
||||||
|
@stealemoji.command(name="clearemojis")
|
||||||
|
async def se_clearemojis(self, ctx: commands.Context, confirm: bool = False):
|
||||||
|
"""Removes the history of all stolen emojis. Will not delete emojis from server banks"""
|
||||||
|
if not confirm:
|
||||||
|
await ctx.maybe_send_embed(
|
||||||
|
"This will reset all stolen emoji data.\n"
|
||||||
|
"If you want to continue, run this command again as:\n"
|
||||||
|
"`[p]stealemoji clearemojis True`"
|
||||||
|
)
|
||||||
|
return
|
||||||
|
|
||||||
|
await self.config.stolemoji.clear()
|
||||||
|
await ctx.tick()
|
||||||
|
|
||||||
|
@checks.is_owner()
|
||||||
|
@stealemoji.command(name="print")
|
||||||
|
async def se_print(self, ctx: commands.Context):
|
||||||
|
"""Prints all the emojis that have been stolen so far"""
|
||||||
|
stolen = await self.config.stolemoji()
|
||||||
|
id_list = [v.get("saveid") for k, v in stolen.items()]
|
||||||
|
|
||||||
|
emoj = " ".join(str(e) for e in self.bot.emojis if e.id in id_list)
|
||||||
|
|
||||||
|
if emoj == " ":
|
||||||
|
await ctx.maybe_send_embed("No stolen emojis yet")
|
||||||
|
return
|
||||||
|
|
||||||
|
await ctx.maybe_send_embed(emoj)
|
||||||
|
|
||||||
@checks.is_owner()
|
@checks.is_owner()
|
||||||
@stealemoji.command(name="notify")
|
@stealemoji.command(name="notify")
|
||||||
async def se_notify(self, ctx: commands.Context):
|
async def se_notify(self, ctx: commands.Context):
|
||||||
@ -174,31 +205,10 @@ class StealEmoji(Cog):
|
|||||||
# print("Emoji has already been stolen")
|
# print("Emoji has already been stolen")
|
||||||
return
|
return
|
||||||
|
|
||||||
# stolemojis = await self.config.stolemoji()
|
|
||||||
#
|
|
||||||
# print(stolemojis.keys())
|
|
||||||
#
|
|
||||||
# if emoji.id in stolemojis:
|
|
||||||
# print("Emoji has already been stolen")
|
|
||||||
# return
|
|
||||||
|
|
||||||
# Alright, time to steal it for real
|
|
||||||
# path = urlparse(emoji.url).path
|
|
||||||
# ext = os.path.splitext(path)[1]
|
|
||||||
|
|
||||||
# async with aiohttp.ClientSession() as session:
|
|
||||||
# img = await fetch_img(session, emoji.url)
|
|
||||||
|
|
||||||
img = await emoji.url.read()
|
img = await emoji.url.read()
|
||||||
|
|
||||||
# path = data_manager.cog_data_path(cog_instance=self) / (emoji.name+ext)
|
|
||||||
|
|
||||||
# with path.open("wb") as f:
|
|
||||||
# f.write(img)
|
|
||||||
# urllib.urlretrieve(emoji.url, emoji.name+ext)
|
|
||||||
|
|
||||||
try:
|
try:
|
||||||
await guildbank.create_custom_emoji(
|
uploaded_emoji = await guildbank.create_custom_emoji(
|
||||||
name=emoji.name, image=img, reason="Stole from " + str(user)
|
name=emoji.name, image=img, reason="Stole from " + str(user)
|
||||||
)
|
)
|
||||||
except discord.Forbidden as e:
|
except discord.Forbidden as e:
|
||||||
@ -221,6 +231,7 @@ class StealEmoji(Cog):
|
|||||||
# save_dict[k] = getattr(emoji, k, None)
|
# save_dict[k] = getattr(emoji, k, None)
|
||||||
|
|
||||||
save_dict["guildbank"] = guildbank.id
|
save_dict["guildbank"] = guildbank.id
|
||||||
|
save_dict["saveid"] = uploaded_emoji.id
|
||||||
|
|
||||||
async with self.config.stolemoji() as stolemoji:
|
async with self.config.stolemoji() as stolemoji:
|
||||||
stolemoji[emoji.id] = save_dict
|
stolemoji[emoji.id] = save_dict
|
||||||
@ -234,4 +245,4 @@ class StealEmoji(Cog):
|
|||||||
else:
|
else:
|
||||||
target = self.bot.get_channel(notify_settings)
|
target = self.bot.get_channel(notify_settings)
|
||||||
|
|
||||||
await target.send(f"Just added emoji {emoji} to server {guildbank}")
|
await target.send(f"Just added emoji {uploaded_emoji} to server {guildbank}")
|
||||||
|
Loading…
x
Reference in New Issue
Block a user