diff --git a/cogs/media.py b/cogs/media.py index 4f75e21..fbfcfbe 100644 --- a/cogs/media.py +++ b/cogs/media.py @@ -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, @@ -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 @@ -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})", @@ -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})", @@ -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})", @@ -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, @@ -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, diff --git a/cogs/socials.py b/cogs/socials.py index f30ee18..fa029e3 100644 --- a/cogs/socials.py +++ b/cogs/socials.py @@ -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: @@ -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: diff --git a/cogs/utils.py b/cogs/utils.py index bbb50c1..03bca99 100644 --- a/cogs/utils.py +++ b/cogs/utils.py @@ -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: @@ -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)) @@ -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), @@ -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", @@ -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( @@ -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", @@ -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):