Add support for spoiler attachments.

This commit is contained in:
Rapptz 2018-12-14 19:09:25 -05:00
parent dd884a6afe
commit 93d576a65b
2 changed files with 10 additions and 1 deletions

View File

@ -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):

View File

@ -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|