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
21
#include <
libmirai/Messages/MessageChain.hpp
>
22
#include <
libmirai/Types/BasicTypes.hpp
>
23
24
#include "
IEvent.hpp
"
25
26
namespace
Mirai
27
{
28
29
/**
30
* @brief 陌生人消息事件
31
*
32
* Member Variable | Default Value
33
* --------------- | -------------
34
* `StrangerMessageEvent::sender_` | `User{}`
35
* `StrangerMessageEvent::message_` | `MessageChain{}`
36
*/
37
class
StrangerMessageEvent
final :
public
IEvent
<StrangerMessageEvent>
38
{
39
friend
IEvent<StrangerMessageEvent>
;
40
41
private
:
42
User
sender_;
43
MessageChain
message_;
44
45
static
constexpr
EventTypes
TYPE_ =
EventTypes::StrangerMessage
;
46
47
public
:
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
*/
68
class
StrangerSyncMessageEvent
final :
public
IEvent
<StrangerSyncMessageEvent>
69
{
70
friend
IEvent<StrangerSyncMessageEvent>
;
71
72
private
:
73
User
subject_;
74
MessageChain
message_;
75
76
static
constexpr
EventTypes
TYPE_ =
EventTypes::StrangerSyncMessage
;
77
78
public
:
79
/// 获取目标会话对象信息
80
User
GetStranger
()
const
{
return
this->subject_; }
81
/// 获取消息内容
82
MessageChain
GetMessage
()
const
{
return
this->message_; }
83
84
struct
Serializable;
85
};
86
87
template
<>
88
struct
GetEventType
<
StrangerMessageEvent
::
GetType
()>
89
{
90
using
type
=
StrangerMessageEvent
;
91
};
92
93
template
<>
94
struct
GetEventType
<
StrangerSyncMessageEvent
::
GetType
()>
95
{
96
using
type
=
StrangerSyncMessageEvent
;
97
};
98
99
}
// namespace Mirai
100
101
102
#endif
BasicTypes.hpp
IEvent.hpp
MessageChain.hpp
Mirai::IEvent
Common interface for all event types
Definition:
IEvent.hpp:34
Mirai::MessageChain
消息链对象,由一系列消息元素组成
Definition:
MessageChain.hpp:61
Mirai::StrangerMessageEvent
陌生人消息事件
Definition:
StrangerMessageEvents.hpp:38
Mirai::StrangerMessageEvent::GetSender
User GetSender() const
获取发送者资料
Definition:
StrangerMessageEvents.hpp:49
Mirai::StrangerMessageEvent::GetMessage
MessageChain GetMessage() const
获取消息内容
Definition:
StrangerMessageEvents.hpp:51
Mirai::StrangerSyncMessageEvent
陌生人消息同步事件
Definition:
StrangerMessageEvents.hpp:69
Mirai::StrangerSyncMessageEvent::GetMessage
MessageChain GetMessage() const
获取消息内容
Definition:
StrangerMessageEvents.hpp:82
Mirai::StrangerSyncMessageEvent::GetStranger
User GetStranger() const
获取目标会话对象信息
Definition:
StrangerMessageEvents.hpp:80
Mirai
所有mirai相关的对象的命名空间
Definition:
HttpWsAdaptor.hpp:25
Mirai::EventTypes
EventTypes
Definition:
EventTypes.hpp:26
Mirai::EventTypes::StrangerMessage
@ StrangerMessage
Mirai::EventTypes::StrangerSyncMessage
@ StrangerSyncMessage
Mirai::GetEventType
用于类型之间转换的辅助模板
Definition:
EventTypes.hpp:107
Mirai::GetType
用于类型之间转换的辅助模板
Definition:
MessageTypes.hpp:65
Mirai::User
QQ用户
Definition:
BasicTypes.hpp:305
libmirai
models
libmirai
Events
StrangerMessageEvents.hpp
制作者
1.9.4