checking image file size beforehand
This commit is contained in:
+22
-24
@@ -121,7 +121,8 @@ async def on_message(message: discord.Message):
|
||||
if len(message.attachments) > 0:
|
||||
input_data = await message.attachments[0].read()
|
||||
|
||||
img, errors = meme_otron.compute(*args, left_wmark_text=left_wmark_text, input_data=input_data)
|
||||
img, errors = meme_otron.compute(*args, left_wmark_text=left_wmark_text,
|
||||
input_data=input_data, max_file_size=8 * 1024 * 1024)
|
||||
if len(errors) > 0:
|
||||
response = ":warning:"
|
||||
for err in errors:
|
||||
@@ -135,29 +136,26 @@ async def on_message(message: discord.Message):
|
||||
else:
|
||||
with tempfile.NamedTemporaryFile(delete=False) as output:
|
||||
img.save(output, format="JPEG")
|
||||
if os.stat(output.name).st_size > 8 * 1024 * 1024: # 8MB
|
||||
await message.channel.send(":warning:\nOutput image is too big to be sent by discord")
|
||||
else:
|
||||
response = None
|
||||
meme_id = utils.sanitize_input(args[0])
|
||||
if len(args) == 1 and meme_id not in ["image", "text"]:
|
||||
meme = meme_db.get_meme(meme_id)
|
||||
response = f"Template `{meme.id}`:"
|
||||
if len(meme.aliases) > 0:
|
||||
response += f"\n- Aliases: `{'`, `'.join(meme.aliases)}`"
|
||||
if meme.info is not None:
|
||||
response += f"\n- More info: <{meme.info}>"
|
||||
response += f"\n- Use:" \
|
||||
f"\n```{meme.id} \"" + \
|
||||
"\" \"".join([f"text {i + 1}" for i in range(meme.texts_len)]) + \
|
||||
"\"```"
|
||||
elif not is_direct:
|
||||
response = f"A meme by {message.author.mention}:"
|
||||
if message_id not in SENT:
|
||||
SENT[message_id] = []
|
||||
response = await message.channel.send(response,
|
||||
file=discord.File(filename="meme.jpg", fp=output.name))
|
||||
SENT[message_id] += [response]
|
||||
response = None
|
||||
meme_id = utils.sanitize_input(args[0])
|
||||
if len(args) == 1 and meme_id not in ["image", "text"]:
|
||||
meme = meme_db.get_meme(meme_id)
|
||||
response = f"Template `{meme.id}`:"
|
||||
if len(meme.aliases) > 0:
|
||||
response += f"\n- Aliases: `{'`, `'.join(meme.aliases)}`"
|
||||
if meme.info is not None:
|
||||
response += f"\n- More info: <{meme.info}>"
|
||||
response += f"\n- Use:" \
|
||||
f"\n```{meme.id} \"" + \
|
||||
"\" \"".join([f"text {i + 1}" for i in range(meme.texts_len)]) + \
|
||||
"\"```"
|
||||
elif not is_direct:
|
||||
response = f"A meme by {message.author.mention}:"
|
||||
if message_id not in SENT:
|
||||
SENT[message_id] = []
|
||||
response = await message.channel.send(response,
|
||||
file=discord.File(filename="meme.jpg", fp=output.name))
|
||||
SENT[message_id] += [response]
|
||||
try:
|
||||
os.remove(output.name)
|
||||
except PermissionError:
|
||||
|
||||
Reference in New Issue
Block a user