diff --git a/gsuid_core/bot.py b/gsuid_core/bot.py index 4136c77..8ef798c 100644 --- a/gsuid_core/bot.py +++ b/gsuid_core/bot.py @@ -24,6 +24,7 @@ class _Bot: target_type: Literal['group', 'direct', 'channel', 'sub_channel'], target_id: Optional[str], bot_id: str, + bot_self_id: str, msg_id: str, ): if isinstance(message, Message): @@ -38,6 +39,7 @@ class _Bot: send = MessageSend( content=message, bot_id=bot_id, + bot_self_id=bot_self_id, target_type=target_type, target_id=target_id, msg_id=msg_id, @@ -62,6 +64,7 @@ class Bot: self.ev = ev self.logger = self.bot.logger self.bot_id = ev.bot_id + self.bot_self_id = ev.bot_self_id async def send(self, message: Union[Message, List[Message], str, bytes]): return await self.bot.target_send( @@ -69,6 +72,7 @@ class Bot: self.ev.user_type, self.ev.group_id if self.ev.group_id else self.ev.user_id, self.ev.bot_id, + self.bot_self_id, self.ev.msg_id, ) @@ -83,5 +87,6 @@ class Bot: target_type, target_id, self.ev.bot_id, + self.ev.bot_self_id, self.ev.msg_id, ) diff --git a/gsuid_core/handler.py b/gsuid_core/handler.py index ecf46b4..27a9fbe 100644 --- a/gsuid_core/handler.py +++ b/gsuid_core/handler.py @@ -24,6 +24,7 @@ async def get_user_pml(msg: MessageReceive) -> int: async def msg_process(msg: MessageReceive) -> Event: event = Event( msg.bot_id, + msg.bot_self_id, msg.msg_id, msg.user_type, msg.group_id, diff --git a/gsuid_core/models.py b/gsuid_core/models.py index 1167aa9..1195ba9 100644 --- a/gsuid_core/models.py +++ b/gsuid_core/models.py @@ -10,6 +10,7 @@ class Message(Struct): class MessageReceive(Struct): bot_id: str = 'Bot' + bot_self_id: str = '' msg_id: str = '' user_type: Literal['group', 'direct', 'channel', 'sub_channel'] = 'group' group_id: Optional[str] = None @@ -30,6 +31,7 @@ class Event(MessageReceive): class MessageSend(Struct): bot_id: str = 'Bot' + bot_self_id: str = '' msg_id: str = '' target_type: Optional[str] = None target_id: Optional[str] = None