Skip to content

Commit

Permalink
Include embeds in snipe
Browse files Browse the repository at this point in the history
  • Loading branch information
stekc committed Dec 6, 2024
1 parent 51f2578 commit b6d6070
Show file tree
Hide file tree
Showing 3 changed files with 101 additions and 36 deletions.
87 changes: 66 additions & 21 deletions cogs/media.py
Original file line number Diff line number Diff line change
Expand Up @@ -142,9 +142,16 @@ async def select_callback(interaction: discord.Interaction):
await msg.edit(embed=embed, view=None)

search = await self.cog.search_cinemeta_movie(query)
moviedb_id, title, year, description, poster, genres, runtime, trailers = (
await self.cog.detailed_cinemeta_movie(search)
)
(
moviedb_id,
title,
year,
description,
poster,
genres,
runtime,
trailers,
) = await self.cog.detailed_cinemeta_movie(search)
embed = discord.Embed(
title=f"{title} ({year})",
description=description,
Expand Down Expand Up @@ -324,9 +331,16 @@ async def get_suggested_movies(self, imdb_id: str):
movie["ImdbId"] = await self.tmdb_to_imdb(
str(movie["TmdbId"]), "movie"
)
_, _, _, description, _, _, _, _ = (
await self.detailed_cinemeta_movie(movie["ImdbId"])
)
(
_,
_,
_,
description,
_,
_,
_,
_,
) = await self.detailed_cinemeta_movie(movie["ImdbId"])
movie["Overview"] = description

return suggested
Expand Down Expand Up @@ -360,9 +374,15 @@ async def on_message(self, message: discord.Message):
year = title_match.group(2).strip("–")

try:
moviedb_id, cm_title, cm_year, description, poster, genres, trailers = (
await self.detailed_cinemeta_tv(imdb_id)
)
(
moviedb_id,
cm_title,
cm_year,
description,
poster,
genres,
trailers,
) = await self.detailed_cinemeta_tv(imdb_id)
if cm_title == title and cm_year.split("–")[0] == year:
embed = discord.Embed(
title=f"{title} ({year})",
Expand Down Expand Up @@ -458,9 +478,15 @@ async def on_message(self, message: discord.Message):
trailers,
) = await self.detailed_cinemeta_movie(imdb_id)
else:
moviedb_id, title, year, description, poster, genres, trailers = (
await self.detailed_cinemeta_tv(imdb_id)
)
(
moviedb_id,
title,
year,
description,
poster,
genres,
trailers,
) = await self.detailed_cinemeta_tv(imdb_id)

embed = discord.Embed(
title=f"{title} ({year})",
Expand Down Expand Up @@ -511,9 +537,15 @@ async def on_message(self, message: discord.Message):
trailers,
) = await self.detailed_cinemeta_movie(imdb_id)
else:
moviedb_id, title, year, description, poster, genres, trailers = (
await self.detailed_cinemeta_tv(imdb_id)
)
(
moviedb_id,
title,
year,
description,
poster,
genres,
trailers,
) = await self.detailed_cinemeta_tv(imdb_id)

embed = discord.Embed(
title=f"{title} ({year})",
Expand Down Expand Up @@ -572,9 +604,16 @@ async def search_movie(self, context: Context, query: str):
await context.send(embed=embed)
return

moviedb_id, title, year, description, poster, genres, runtime, trailers = (
await self.detailed_cinemeta_movie(search)
)
(
moviedb_id,
title,
year,
description,
poster,
genres,
runtime,
trailers,
) = await self.detailed_cinemeta_movie(search)
embed = discord.Embed(
title=f"{title} ({year})",
description=description,
Expand Down Expand Up @@ -623,9 +662,15 @@ async def search_tv(self, context: Context, query: str):
await context.send(embed=embed)
return

moviedb_id, title, year, description, poster, genres, trailers = (
await self.detailed_cinemeta_tv(search)
)
(
moviedb_id,
title,
year,
description,
poster,
genres,
trailers,
) = await self.detailed_cinemeta_tv(search)
embed = discord.Embed(
title=f"{title} ({year})",
description=description,
Expand Down
13 changes: 9 additions & 4 deletions cogs/socials.py
Original file line number Diff line number Diff line change
Expand Up @@ -374,7 +374,7 @@ async def format_number_str(self, num):
if num >= 1000:
powers = ["", "k", "M", "B", "T"]
power = max(0, min(int((len(str(num)) - 1) / 3), len(powers) - 1))
scaled_num = round(num / (1000**power), 1)
scaled_num = round(num / (1000 ** power), 1)
formatted_num = f"{scaled_num:.1f}{powers[power]}"
return formatted_num
else:
Expand Down Expand Up @@ -481,9 +481,14 @@ async def fix_tiktok(
None,
)
if not spoiler:
quickvids_url, likes, comments, views, author, author_link = (
await self.quickvids(link)
)
(
quickvids_url,
likes,
comments,
views,
author,
author_link,
) = await self.quickvids(link)
if quickvids_url:
redirected_url = quickvids_url
else:
Expand Down
37 changes: 26 additions & 11 deletions cogs/utils.py
Original file line number Diff line number Diff line change
Expand Up @@ -22,7 +22,7 @@ async def format_number_str(self, num):
if num >= 1000:
powers = ["", "k", "M", "B", "T"]
power = max(0, min(int((len(str(num)) - 1) / 3), len(powers) - 1))
scaled_num = round(num / (1000**power), 1)
scaled_num = round(num / (1000 ** power), 1)
formatted_num = f"{scaled_num:.1f}{powers[power]}"
return formatted_num
else:
Expand All @@ -32,11 +32,13 @@ async def format_number_str(self, num):
async def on_message_delete(self, message):
if not message.guild:
return
if len(message.content) < 3:
if len(message.content) < 3 and not message.embeds:
return
if message.channel.id not in self.last_logged_messages:
self.last_logged_messages[message.channel.id] = []
self.last_logged_messages[message.channel.id].append(("delete", message, None))
self.last_logged_messages[message.channel.id].append(
("delete", message, None, message.embeds if message.embeds else None)
)

asyncio.create_task(self.remove_logged_message(message.channel.id, message))

Expand Down Expand Up @@ -195,7 +197,9 @@ async def snipe_edit(

return embed

async def snipe_delete(self, message: discord.Message) -> discord.Embed:
async def snipe_delete(
self, message: discord.Message, stored_embeds=None
) -> discord.Embed:
embed = discord.Embed(
description=message.content,
color=await get_color(message.author.avatar.url),
Expand All @@ -221,7 +225,7 @@ async def snipe_delete(self, message: discord.Message) -> discord.Embed:
inline=False,
)

return embed
return embed, stored_embeds

@commands.hybrid_command(
name="snipe",
Expand All @@ -239,13 +243,16 @@ async def snipe(self, context: Context) -> None:
await context.send(embed=embed, ephemeral=True)
return

type, original, after = messages.pop()
type, original, after, stored_embeds = messages.pop()
embed = None
additional_embeds = None

if type == "edit":
embed = await self.snipe_edit(original, after)
elif type == "delete":
embed = await self.snipe_delete(message=original)
embed, additional_embeds = await self.snipe_delete(
message=original, stored_embeds=stored_embeds
)

if embed is None:
embed = discord.Embed(
Expand All @@ -255,7 +262,11 @@ async def snipe(self, context: Context) -> None:
await context.send(embed=embed, ephemeral=True)
return

await context.send(embed=embed)
if additional_embeds:
all_embeds = [embed] + (additional_embeds if additional_embeds else [])
await context.send(embeds=all_embeds)
else:
await context.send(embed=embed)

@commands.hybrid_command(
name="edited",
Expand Down Expand Up @@ -294,10 +305,14 @@ async def snipe_group_delete(self, context: Context) -> None:
await context.send(embed=embed, ephemeral=True)
return

_, message, _ = messages.pop()
embed = await self.snipe_delete(message)
type, message, _, stored_embeds = messages.pop()
embed, additional_embeds = await self.snipe_delete(message, stored_embeds)

await context.send(embed=embed)
if additional_embeds:
all_embeds = [embed] + (additional_embeds if additional_embeds else [])
await context.send(embeds=all_embeds)
else:
await context.send(embed=embed)


async def setup(bot):
Expand Down

0 comments on commit b6d6070

Please sign in to comment.