Skip to content

Commit

Permalink
Merge pull request #6 from XiYang6666/add-reply-to-me
Browse files Browse the repository at this point in the history
✨ support reply message triggering to_me
  • Loading branch information
RF-Tar-Railt committed Sep 17, 2023
2 parents 0d04196 + 3bcc665 commit 666877d
Show file tree
Hide file tree
Showing 2 changed files with 17 additions and 1 deletion.
15 changes: 15 additions & 0 deletions nonebot/adapters/red/bot.py
Original file line number Diff line number Diff line change
Expand Up @@ -68,6 +68,20 @@ def _check_at_me(bot: "Bot", event: MessageEvent) -> None:
event.elements.pop(i)


def _check_reply_me(bot: "Bot", event: MessageEvent) -> None:
first_element = event.elements[0]
if (
first_element.elementType == 7
and first_element.replyElement
and (
first_element.replyElement.senderUin == bot.self_id
or first_element.replyElement.senderUid == bot.self_id
)
):
event.to_me = True
event.reply = event.elements.pop(0)


def _check_nickname(bot: "Bot", event: MessageEvent) -> None:
element = event.elements[0]
if element.elementType != 1:
Expand Down Expand Up @@ -112,6 +126,7 @@ async def handle_event(self, event: Event):
# TODO: 检查事件是否有回复消息,调用平台 API 获取原始消息的消息内容
if isinstance(event, MessageEvent):
_check_at_me(self, event)
_check_reply_me(self, event)
_check_nickname(self, event)

await handle_event(self, event)
Expand Down
3 changes: 2 additions & 1 deletion nonebot/adapters/red/event.py
Original file line number Diff line number Diff line change
Expand Up @@ -9,7 +9,7 @@

from .message import Message
from .api.model import Message as MessageModel
from .api.model import MsgType, ChatType, ShutUpTarget
from .api.model import MsgType, ChatType, ShutUpTarget, Element


class Event(BaseEvent):
Expand Down Expand Up @@ -56,6 +56,7 @@ class MessageEvent(Event, MessageModel):
"""消息事件"""

to_me: bool = False
reply: Optional[Element]

@override
def get_type(self) -> str:
Expand Down

0 comments on commit 666877d

Please sign in to comment.