LiteyukiBot/docs/en/dev/api/message/event.md

72 lines
2.1 KiB
Markdown
Raw Normal View History

2024-08-21 09:59:21 +00:00
---
title: liteyuki.message.event
---
2024-08-29 06:19:39 +00:00
### **class** `MessageEvent`
### *method* `__init__(self, bot_id: str, message: list[dict[str, Any]] | str, message_type: str, raw_message: str, session_id: str, user_id: str, session_type: str, receive_channel: str, data: Optional[dict[str, Any]] = None)`
2024-08-21 09:59:21 +00:00
2024-08-29 06:19:39 +00:00
**Description**: 轻雪抽象消息事件
2024-08-21 09:59:21 +00:00
<details>
2024-08-29 06:19:39 +00:00
<summary> <b>Source code</b> </summary>
2024-08-21 09:59:21 +00:00
```python
2024-08-29 06:19:39 +00:00
def __init__(self, bot_id: str, message: list[dict[str, Any]] | str, message_type: str, raw_message: str, session_id: str, user_id: str, session_type: str, receive_channel: str, data: Optional[dict[str, Any]]=None):
2024-08-21 09:59:21 +00:00
"""
轻雪抽象消息事件
Args:
bot_id: 机器人ID
message: 消息,消息段数组[{type: str, data: dict[str, Any]}]
raw_message: 原始消息(通常为纯文本的格式)
message_type: 消息类型(private, group, other)
session_id: 会话ID(私聊通常为用户ID群聊通常为群ID)
session_type: 会话类型(private, group)
receive_channel: 接收频道(用于回复消息)
data: 附加数据
"""
if data is None:
data = {}
self.message_type = message_type
self.data = data
self.bot_id = bot_id
self.message = message
self.raw_message = raw_message
self.session_id = session_id
self.session_type = session_type
2024-08-29 06:19:39 +00:00
self.user_id = user_id
2024-08-21 09:59:21 +00:00
self.receive_channel = receive_channel
```
</details>
2024-08-29 06:19:39 +00:00
### *method* `reply(self, message: str | dict[str, Any])`
2024-08-21 09:59:21 +00:00
2024-08-29 06:19:39 +00:00
**Description**: 回复消息
2024-08-21 09:59:21 +00:00
2024-08-29 06:19:39 +00:00
**Arguments**:
> - message:
2024-08-21 09:59:21 +00:00
<details>
2024-08-29 06:19:39 +00:00
<summary> <b>Source code</b> </summary>
2024-08-21 09:59:21 +00:00
```python
def reply(self, message: str | dict[str, Any]):
"""
回复消息
Args:
message:
Returns:
"""
reply_event = MessageEvent(message_type=self.session_type, message=message, raw_message='', data={'message': message}, bot_id=self.bot_id, session_id=self.session_id, session_type=self.session_type, receive_channel='_')
shared_memory.publish(self.receive_channel, reply_event)
```
</details>