mirror of
https://github.com/maubot/maubot
synced 2025-08-28 20:30:38 +00:00
Allow specifying extra content in reply/respond
Some checks are pending
Python lint / lint (push) Waiting to run
Some checks are pending
Python lint / lint (push) Waiting to run
This commit is contained in:
parent
beaba079ca
commit
94c4e5aaaf
1 changed files with 9 additions and 1 deletions
|
@ -15,7 +15,7 @@
|
||||||
# along with this program. If not, see <https://www.gnu.org/licenses/>.
|
# along with this program. If not, see <https://www.gnu.org/licenses/>.
|
||||||
from __future__ import annotations
|
from __future__ import annotations
|
||||||
|
|
||||||
from typing import Awaitable
|
from typing import Any, Awaitable
|
||||||
from html import escape
|
from html import escape
|
||||||
import asyncio
|
import asyncio
|
||||||
|
|
||||||
|
@ -88,6 +88,7 @@ class MaubotMessageEvent(MessageEvent):
|
||||||
reply: bool | str = False,
|
reply: bool | str = False,
|
||||||
in_thread: bool | None = None,
|
in_thread: bool | None = None,
|
||||||
edits: EventID | MessageEvent | None = None,
|
edits: EventID | MessageEvent | None = None,
|
||||||
|
extra_content: dict[str, Any] | None = None,
|
||||||
) -> EventID:
|
) -> EventID:
|
||||||
"""
|
"""
|
||||||
Respond to the message.
|
Respond to the message.
|
||||||
|
@ -107,6 +108,7 @@ class MaubotMessageEvent(MessageEvent):
|
||||||
the root if necessary.
|
the root if necessary.
|
||||||
edits: An event ID or MessageEvent to edit. If set, the reply and in_thread parameters
|
edits: An event ID or MessageEvent to edit. If set, the reply and in_thread parameters
|
||||||
are ignored, as edits can't change the reply or thread status.
|
are ignored, as edits can't change the reply or thread status.
|
||||||
|
extra_content: Extra content to add to the event.
|
||||||
|
|
||||||
Returns:
|
Returns:
|
||||||
The ID of the response event.
|
The ID of the response event.
|
||||||
|
@ -143,6 +145,9 @@ class MaubotMessageEvent(MessageEvent):
|
||||||
)
|
)
|
||||||
else:
|
else:
|
||||||
content.set_reply(self)
|
content.set_reply(self)
|
||||||
|
if extra_content:
|
||||||
|
for k, v in extra_content.items():
|
||||||
|
content[k] = v
|
||||||
return await self.client.send_message_event(self.room_id, event_type, content)
|
return await self.client.send_message_event(self.room_id, event_type, content)
|
||||||
|
|
||||||
def reply(
|
def reply(
|
||||||
|
@ -152,6 +157,7 @@ class MaubotMessageEvent(MessageEvent):
|
||||||
markdown: bool = True,
|
markdown: bool = True,
|
||||||
allow_html: bool = False,
|
allow_html: bool = False,
|
||||||
in_thread: bool | None = None,
|
in_thread: bool | None = None,
|
||||||
|
extra_content: dict[str, Any] | None = None,
|
||||||
) -> Awaitable[EventID]:
|
) -> Awaitable[EventID]:
|
||||||
"""
|
"""
|
||||||
Reply to the message. The parameters are the same as :meth:`respond`,
|
Reply to the message. The parameters are the same as :meth:`respond`,
|
||||||
|
@ -169,6 +175,7 @@ class MaubotMessageEvent(MessageEvent):
|
||||||
thread. If set to ``False``, the response will never be in a thread. If set to
|
thread. If set to ``False``, the response will never be in a thread. If set to
|
||||||
``True``, the response will always be in a thread, creating one with this event as
|
``True``, the response will always be in a thread, creating one with this event as
|
||||||
the root if necessary.
|
the root if necessary.
|
||||||
|
extra_content: Extra content to add to the event.
|
||||||
|
|
||||||
Returns:
|
Returns:
|
||||||
The ID of the response event.
|
The ID of the response event.
|
||||||
|
@ -180,6 +187,7 @@ class MaubotMessageEvent(MessageEvent):
|
||||||
reply=True,
|
reply=True,
|
||||||
in_thread=in_thread,
|
in_thread=in_thread,
|
||||||
allow_html=allow_html,
|
allow_html=allow_html,
|
||||||
|
extra_content=extra_content,
|
||||||
)
|
)
|
||||||
|
|
||||||
def mark_read(self) -> Awaitable[None]:
|
def mark_read(self) -> Awaitable[None]:
|
||||||
|
|
Loading…
Add table
Add a link
Reference in a new issue