diff --git a/discord/file.py b/discord/file.py index f56de713f..2351d3fb2 100644 --- a/discord/file.py +++ b/discord/file.py @@ -48,11 +48,13 @@ class File: The filename to display when uploading to Discord. If this is not given then it defaults to ``fp.name`` or if ``fp`` is a string then the ``filename`` will default to the string given. + spoiler: :class:`bool` + Whether the attachment is a spoiler. """ __slots__ = ('fp', 'filename', '_true_fp') - def __init__(self, fp, filename=None): + def __init__(self, fp, filename=None, *, spoiler=False): self.fp = fp self._true_fp = None @@ -64,6 +66,9 @@ class File: else: self.filename = filename + if spoiler and not self.filename.startswith('SPOILER_'): + self.filename = 'SPOILER_' + self.filename + def open_file(self): fp = self.fp if isinstance(fp, str): diff --git a/discord/message.py b/discord/message.py index b1c24b6de..0d7262f0c 100644 --- a/discord/message.py +++ b/discord/message.py @@ -71,6 +71,10 @@ class Attachment: self.proxy_url = data.get('proxy_url') self._http = state.http + def is_spoiler(self): + """:class:`bool`: Whether this attachment contains a spoiler.""" + return self.filename.startswith('SPOILER_') + async def save(self, fp, *, seek_begin=True): """|coro|