mirror of
https://github.com/Cog-Creators/Red-DiscordBot.git
synced 2025-11-07 11:48:55 -05:00
[Utils] Tunnel minor fixes (#2366)
- Tunnel uses a safe max size (Max size is related to maximum payload, not maximum file size) - Checks attachment sizes prior to download
This commit is contained in:
parent
8eb8848898
commit
78e4b578e2
@ -2,7 +2,6 @@ import discord
|
|||||||
from datetime import datetime
|
from datetime import datetime
|
||||||
from redbot.core.utils.chat_formatting import pagify
|
from redbot.core.utils.chat_formatting import pagify
|
||||||
import io
|
import io
|
||||||
import sys
|
|
||||||
import weakref
|
import weakref
|
||||||
from typing import List, Optional
|
from typing import List, Optional
|
||||||
from .common_filters import filter_mass_mentions
|
from .common_filters import filter_mass_mentions
|
||||||
@ -151,15 +150,12 @@ class Tunnel(metaclass=TunnelMeta):
|
|||||||
|
|
||||||
"""
|
"""
|
||||||
files = []
|
files = []
|
||||||
size = 0
|
max_size = 8 * 1000 * 1000
|
||||||
max_size = 8 * 1024 * 1024
|
if m.attachments and sum(a.size for a in m.attachments) <= max_size:
|
||||||
for a in m.attachments:
|
for a in m.attachments:
|
||||||
_fp = io.BytesIO()
|
_fp = io.BytesIO()
|
||||||
await a.save(_fp)
|
await a.save(_fp)
|
||||||
size += sys.getsizeof(_fp)
|
files.append(discord.File(_fp, filename=a.filename))
|
||||||
if size > max_size:
|
|
||||||
return []
|
|
||||||
files.append(discord.File(_fp, filename=a.filename))
|
|
||||||
return files
|
return files
|
||||||
|
|
||||||
async def communicate(
|
async def communicate(
|
||||||
|
|||||||
Loading…
x
Reference in New Issue
Block a user