meme cog: Don't convert images if already in PNG format; sing cog: remove ephemeral=True from bridge s/sing command initial response; misc_util: remove 2 coffees
This commit is contained in:
		
							
								
								
									
										25
									
								
								cogs/meme.py
									
									
									
									
									
								
							
							
						
						
									
										25
									
								
								cogs/meme.py
									
									
									
									
									
								
							| @@ -264,10 +264,13 @@ class Meme(commands.Cog): | |||||||
|             phash: str = str(imagehash.phash(_image)) |             phash: str = str(imagehash.phash(_image)) | ||||||
|             query: str = "INSERT INTO memes(discord_uid, timestamp, image, message_ids, phash) VALUES(?, ?, ?, ?, ?)" |             query: str = "INSERT INTO memes(discord_uid, timestamp, image, message_ids, phash) VALUES(?, ?, ?, ?, ?)" | ||||||
|             image.seek(0) |             image.seek(0) | ||||||
|             converted = self.convert_to_png(image) |             if not self.is_png(image): | ||||||
|  |                 store_image = self.convert_to_png(image) | ||||||
|  |             else: | ||||||
|  |                 store_image = image.read() | ||||||
|             async with sqlite3.connect(self.meme_db_path, timeout=5) as db_conn: |             async with sqlite3.connect(self.meme_db_path, timeout=5) as db_conn: | ||||||
|                 insert = await db_conn.execute_insert( |                 insert = await db_conn.execute_insert( | ||||||
|                     query, (discord_uid, timestamp, converted, message_id, phash) |                     query, (discord_uid, timestamp, store_image, message_id, phash) | ||||||
|                 ) |                 ) | ||||||
|                 if insert: |                 if insert: | ||||||
|                     await db_conn.commit() |                     await db_conn.commit() | ||||||
| @@ -860,6 +863,24 @@ class Meme(commands.Cog): | |||||||
|         else: |         else: | ||||||
|             await ctx.respond("NO embed :(") |             await ctx.respond("NO embed :(") | ||||||
|  |  | ||||||
|  |     def is_png(self, buffer: bytes | io.BytesIO) -> bool: | ||||||
|  |         """ | ||||||
|  |         Check if image (in-memory buffer, or bytes) is a PNG | ||||||
|  |         Args: | ||||||
|  |             buffer (bytes|io.BytesIO) | ||||||
|  |         Returns: | ||||||
|  |             bool | ||||||
|  |         """ | ||||||
|  |         # Accepts either bytes or a BytesIO-like object | ||||||
|  |         if isinstance(buffer, io.BytesIO): | ||||||
|  |             if hasattr(buffer, "read") and hasattr(buffer, "seek"): | ||||||
|  |                 pos = buffer.tell() | ||||||
|  |                 buffer.seek(0) | ||||||
|  |                 signature = buffer.read(8) | ||||||
|  |                 buffer.seek(pos) | ||||||
|  |             else: | ||||||
|  |                 signature = buffer[:8] | ||||||
|  |             return signature == b"\x89PNG\r\n\x1a\n" | ||||||
|  |  | ||||||
|     def convert_to_png(self, in_buffer: io.BytesIO) -> bytes: |     def convert_to_png(self, in_buffer: io.BytesIO) -> bytes: | ||||||
|         """ |         """ | ||||||
|   | |||||||
| @@ -61,7 +61,7 @@ class Sing(commands.Cog): | |||||||
|                         ) |                         ) | ||||||
|  |  | ||||||
|                 await ctx.respond( |                 await ctx.respond( | ||||||
|                     "*Searching...*", ephemeral=True |                     "*Searching...*" | ||||||
|                 )  # Must respond to interactions within 3 seconds, per Discord |                 )  # Must respond to interactions within 3 seconds, per Discord | ||||||
|  |  | ||||||
|                 parsed = self.utility.parse_song_input(song, activity) |                 parsed = self.utility.parse_song_input(song, activity) | ||||||
|   | |||||||
| @@ -115,8 +115,6 @@ class Util: | |||||||
|             "a sweet cream cold brew", |             "a sweet cream cold brew", | ||||||
|             "a matcha latte", |             "a matcha latte", | ||||||
|             "a golden latte", |             "a golden latte", | ||||||
|             "a turmeric latte", |  | ||||||
|             "a beetroot latte", |  | ||||||
|             "a kopi luwak", |             "a kopi luwak", | ||||||
|         ] |         ] | ||||||
|         self.LAST_5_COFFEES: list = [] |         self.LAST_5_COFFEES: list = [] | ||||||
|   | |||||||
		Reference in New Issue
	
	Block a user