Apply global allowed_mentions setting (#76)
Some checks failed
Deploy MkDocs / deploy (push) Has been cancelled
Some checks failed
Deploy MkDocs / deploy (push) Has been cancelled
This commit is contained in:
parent
ffdb922142
commit
f58ffe8321
@ -126,8 +126,8 @@ client = disagreement.Client(
|
|||||||
)
|
)
|
||||||
```
|
```
|
||||||
|
|
||||||
This dictionary is used whenever ``send_message`` is called without an explicit
|
This dictionary is used whenever ``send_message`` or helpers like ``Message.reply``
|
||||||
``allowed_mentions`` argument.
|
are called without an explicit ``allowed_mentions`` argument.
|
||||||
|
|
||||||
### Defining Subcommands with `AppCommandGroup`
|
### Defining Subcommands with `AppCommandGroup`
|
||||||
|
|
||||||
|
@ -253,6 +253,8 @@ class AppCommandContext:
|
|||||||
Optional[Message]: The sent message object if a new message was created and not ephemeral.
|
Optional[Message]: The sent message object if a new message was created and not ephemeral.
|
||||||
None if the response was ephemeral or an edit to a deferred message.
|
None if the response was ephemeral or an edit to a deferred message.
|
||||||
"""
|
"""
|
||||||
|
if allowed_mentions is None:
|
||||||
|
allowed_mentions = getattr(self.bot, "allowed_mentions", None)
|
||||||
if not self._responded and self._deferred: # Editing a deferred response
|
if not self._responded and self._deferred: # Editing a deferred response
|
||||||
# Use edit_original_interaction_response
|
# Use edit_original_interaction_response
|
||||||
payload: Dict[str, Any] = {}
|
payload: Dict[str, Any] = {}
|
||||||
@ -393,6 +395,9 @@ class AppCommandContext:
|
|||||||
"Must acknowledge or defer the interaction before sending a followup."
|
"Must acknowledge or defer the interaction before sending a followup."
|
||||||
)
|
)
|
||||||
|
|
||||||
|
if allowed_mentions is None:
|
||||||
|
allowed_mentions = getattr(self.bot, "allowed_mentions", None)
|
||||||
|
|
||||||
payload: Dict[str, Any] = {}
|
payload: Dict[str, Any] = {}
|
||||||
if content is not None:
|
if content is not None:
|
||||||
payload["content"] = content
|
payload["content"] = content
|
||||||
@ -473,6 +478,9 @@ class AppCommandContext:
|
|||||||
"Cannot edit response if interaction hasn't been responded to or deferred."
|
"Cannot edit response if interaction hasn't been responded to or deferred."
|
||||||
)
|
)
|
||||||
|
|
||||||
|
if allowed_mentions is None:
|
||||||
|
allowed_mentions = getattr(self.bot, "allowed_mentions", None)
|
||||||
|
|
||||||
payload: Dict[str, Any] = {}
|
payload: Dict[str, Any] = {}
|
||||||
if content is not None:
|
if content is not None:
|
||||||
payload["content"] = content # Use None to clear
|
payload["content"] = content # Use None to clear
|
||||||
|
@ -250,15 +250,15 @@ class CommandContext:
|
|||||||
client's :attr:`mention_replies` value is used.
|
client's :attr:`mention_replies` value is used.
|
||||||
"""
|
"""
|
||||||
|
|
||||||
allowed_mentions = kwargs.pop("allowed_mentions", None)
|
allowed_mentions = kwargs.pop("allowed_mentions", None)
|
||||||
if mention_author is None:
|
if mention_author is None:
|
||||||
mention_author = getattr(self.bot, "mention_replies", False)
|
mention_author = getattr(self.bot, "mention_replies", False)
|
||||||
|
|
||||||
if allowed_mentions is None:
|
if allowed_mentions is None:
|
||||||
allowed_mentions = {"replied_user": mention_author}
|
allowed_mentions = dict(getattr(self.bot, "allowed_mentions", {}) or {})
|
||||||
else:
|
else:
|
||||||
allowed_mentions = dict(allowed_mentions)
|
allowed_mentions = dict(allowed_mentions)
|
||||||
allowed_mentions.setdefault("replied_user", mention_author)
|
allowed_mentions.setdefault("replied_user", mention_author)
|
||||||
|
|
||||||
return await self.bot.send_message(
|
return await self.bot.send_message(
|
||||||
channel_id=self.message.channel_id,
|
channel_id=self.message.channel_id,
|
||||||
|
@ -194,14 +194,14 @@ class Message:
|
|||||||
ValueError: If both `embed` and `embeds` are provided.
|
ValueError: If both `embed` and `embeds` are provided.
|
||||||
"""
|
"""
|
||||||
# Determine allowed mentions for the reply
|
# Determine allowed mentions for the reply
|
||||||
if mention_author is None:
|
if mention_author is None:
|
||||||
mention_author = getattr(self._client, "mention_replies", False)
|
mention_author = getattr(self._client, "mention_replies", False)
|
||||||
|
|
||||||
if allowed_mentions is None:
|
if allowed_mentions is None:
|
||||||
allowed_mentions = {"replied_user": mention_author}
|
allowed_mentions = dict(getattr(self._client, "allowed_mentions", {}) or {})
|
||||||
else:
|
else:
|
||||||
allowed_mentions = dict(allowed_mentions)
|
allowed_mentions = dict(allowed_mentions)
|
||||||
allowed_mentions.setdefault("replied_user", mention_author)
|
allowed_mentions.setdefault("replied_user", mention_author)
|
||||||
|
|
||||||
# Client.send_message is already updated to handle these parameters
|
# Client.send_message is already updated to handle these parameters
|
||||||
return await self._client.send_message(
|
return await self._client.send_message(
|
||||||
|
@ -125,8 +125,8 @@ client = disagreement.Client(
|
|||||||
)
|
)
|
||||||
```
|
```
|
||||||
|
|
||||||
This dictionary is used whenever ``send_message`` is called without an explicit
|
This dictionary is used whenever ``send_message`` or helpers like ``Message.reply``
|
||||||
``allowed_mentions`` argument.
|
are called without an explicit ``allowed_mentions`` argument.
|
||||||
|
|
||||||
The :class:`AllowedMentions` class offers ``none()`` and ``all()`` helpers for
|
The :class:`AllowedMentions` class offers ``none()`` and ``all()`` helpers for
|
||||||
quickly generating these configurations.
|
quickly generating these configurations.
|
||||||
|
@ -15,7 +15,8 @@ client = disagreement.Client(
|
|||||||
)
|
)
|
||||||
```
|
```
|
||||||
|
|
||||||
When ``Client.send_message`` is called without an explicit ``allowed_mentions``
|
When ``Client.send_message`` or convenience methods like ``Message.reply`` and
|
||||||
|
``CommandContext.reply`` are called without an explicit ``allowed_mentions``
|
||||||
argument this value will be used.
|
argument this value will be used.
|
||||||
|
|
||||||
``AllowedMentions`` also provides the convenience methods
|
``AllowedMentions`` also provides the convenience methods
|
||||||
|
Loading…
x
Reference in New Issue
Block a user