Add support for configuring allowed mentions per message or bot wide.
This commit is contained in:
@ -768,7 +768,9 @@ class Messageable(metaclass=abc.ABCMeta):
|
||||
async def _get_channel(self):
|
||||
raise NotImplementedError
|
||||
|
||||
async def send(self, content=None, *, tts=False, embed=None, file=None, files=None, delete_after=None, nonce=None):
|
||||
async def send(self, content=None, *, tts=False, embed=None, file=None,
|
||||
files=None, delete_after=None, nonce=None,
|
||||
mentions=None):
|
||||
"""|coro|
|
||||
|
||||
Sends a message to the destination with the content given.
|
||||
@ -804,6 +806,10 @@ class Messageable(metaclass=abc.ABCMeta):
|
||||
If provided, the number of seconds to wait in the background
|
||||
before deleting the message we just sent. If the deletion fails,
|
||||
then it is silently ignored.
|
||||
mentions: :class:`AllowedMentions`
|
||||
Controls the mentions being processed in this message.
|
||||
|
||||
.. versionadded:: 1.4
|
||||
|
||||
Raises
|
||||
--------
|
||||
@ -827,6 +833,12 @@ class Messageable(metaclass=abc.ABCMeta):
|
||||
if embed is not None:
|
||||
embed = embed.to_dict()
|
||||
|
||||
if mentions is not None:
|
||||
if state.mentions is not None:
|
||||
mentions = state.mentions.merge(mentions).to_dict()
|
||||
else:
|
||||
mentions = mentions.to_dict()
|
||||
|
||||
if file is not None and files is not None:
|
||||
raise InvalidArgument('cannot pass both file and files parameter to send()')
|
||||
|
||||
@ -848,12 +860,12 @@ class Messageable(metaclass=abc.ABCMeta):
|
||||
|
||||
try:
|
||||
data = await state.http.send_files(channel.id, files=files, content=content, tts=tts,
|
||||
embed=embed, nonce=nonce)
|
||||
embed=embed, nonce=nonce, mentions=mentions)
|
||||
finally:
|
||||
for f in files:
|
||||
f.close()
|
||||
else:
|
||||
data = await state.http.send_message(channel.id, content, tts=tts, embed=embed, nonce=nonce)
|
||||
data = await state.http.send_message(channel.id, content, tts=tts, embed=embed, nonce=nonce, mentions=mentions)
|
||||
|
||||
ret = state.create_message(channel=channel, data=data)
|
||||
if delete_after is not None:
|
||||
|
Reference in New Issue
Block a user