cpp-mirai-client  v2.6.1
cpp client for mirai-api-http
StrangerMessageEvents.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_STRANGER_MESSAGE_EVENTS_HPP_
17#define MIRAI_STRANGER_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 * `StrangerMessageEvent::sender_` | `User{}`
35 * `StrangerMessageEvent::message_` | `MessageChain{}`
36 */
37class StrangerMessageEvent final : public IEvent<StrangerMessageEvent>
38{
40
41private:
42 User sender_;
43 MessageChain message_;
44
45 static constexpr EventTypes TYPE_ = EventTypes::StrangerMessage;
46
47public:
48 /// 获取发送者资料
49 User 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 * `StrangerSyncMessageEvent::subject_` | `User{}`
66 * `StrangerSyncMessageEvent::message_` | `MessageChain{}`
67 */
68class StrangerSyncMessageEvent final : public IEvent<StrangerSyncMessageEvent>
69{
71
72private:
73 User subject_;
74 MessageChain message_;
75
76 static constexpr EventTypes TYPE_ = EventTypes::StrangerSyncMessage;
77
78public:
79 /// 获取目标会话对象信息
80 User GetStranger() 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
消息链对象,由一系列消息元素组成
User GetSender() const
获取发送者资料
MessageChain GetMessage() const
获取消息内容
MessageChain GetMessage() const
获取消息内容
User GetStranger() const
获取目标会话对象信息
所有mirai相关的对象的命名空间
用于类型之间转换的辅助模板
Definition: EventTypes.hpp:107
用于类型之间转换的辅助模板
QQ用户
Definition: BasicTypes.hpp:305