cpp-mirai-client  v2.6.1
cpp client for mirai-api-http
TempMessageEvents.hpp
浏览该文件的文档.
1// Copyright (C) 2022 Numendacil and contributors
2//
3// This program is free software: you can redistribute it and/or modify
4// it under the terms of the GNU Affero General Public License as
5// published by the Free Software Foundation, either version 3 of the
6// License, or (at your option) any later version.
7//
8// This program is distributed in the hope that it will be useful,
9// but WITHOUT ANY WARRANTY; without even the implied warranty of
10// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
11// GNU Affero General Public License for more details.
12//
13// You should have received a copy of the GNU Affero General Public License
14// along with this program. If not, see <http://www.gnu.org/licenses/>.
15
16#ifndef MIRAI_TEMP_MESSAGE_EVENTS_HPP_
17#define MIRAI_TEMP_MESSAGE_EVENTS_HPP_
18
19#include <string>
20
23
24#include "IEvent.hpp"
25
26namespace Mirai
27{
28
29/**
30 * @brief 临时会话消息事件
31 *
32 * Member Variable | Default Value
33 * --------------- | -------------
34 * `TempMessageEvent::sender_` | `GroupMember{}`
35 * `TempMessageEvent::message_` | `MessageChain{}`
36 */
37class TempMessageEvent final : public IEvent<TempMessageEvent>
38{
40
41private:
42 GroupMember sender_;
43 MessageChain message_;
44
45 static constexpr EventTypes TYPE_ = EventTypes::TempMessage;
46
47public:
48 /// 获取发送者资料
49 GroupMember GetSender() const { return this->sender_; }
50 /// 获取消息内容
51 MessageChain GetMessage() const { return this->message_; }
52
53 // TODO: add helper methods for quick reply
54
55 struct Serializable;
56};
57
58
59
60/**
61 * @brief 临时会话消息同步事件
62 *
63 * Member Variable | Default Value
64 * --------------- | -------------
65 * `TempSyncMessageEvent::subject_` | `GroupMember{}`
66 * `TempSyncMessageEvent::message_` | `MessageChain{}`
67 */
68class TempSyncMessageEvent final : public IEvent<TempSyncMessageEvent>
69{
71
72private:
73 GroupMember subject_;
74 MessageChain message_;
75
76 static constexpr EventTypes TYPE_ = EventTypes::TempSyncMessage;
77
78public:
79 /// 获取会话目标对象信息
80 GroupMember GetGroupMember() const { return this->subject_; }
81 /// 获取消息内容
82 MessageChain GetMessage() const { return this->message_; }
83
84 struct Serializable;
85};
86
87template<>
89{
91};
92
93template<>
95{
97};
98
99} // namespace Mirai
100
101
102#endif
Common interface for all event types
Definition: IEvent.hpp:34
消息链对象,由一系列消息元素组成
临时会话消息事件
GroupMember GetSender() const
获取发送者资料
MessageChain GetMessage() const
获取消息内容
临时会话消息同步事件
MessageChain GetMessage() const
获取消息内容
GroupMember GetGroupMember() const
获取会话目标对象信息
所有mirai相关的对象的命名空间
用于类型之间转换的辅助模板
Definition: EventTypes.hpp:107
用于类型之间转换的辅助模板
群员资料
Definition: BasicTypes.hpp:362