Skip to content
This repository was archived by the owner on Aug 16, 2024. It is now read-only.

Commit 8b112b6

Browse files
committed
修复 Message 转换函数 ToXXX 结果不正确;Message 增加发送者 Sender 字段;
1 parent b64113b commit 8b112b6

File tree

2 files changed

+12
-9
lines changed

2 files changed

+12
-9
lines changed

examples/RepeatMessage.cpp

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -81,6 +81,7 @@ system("chcp 65001");
8181
bot.On<Message>(
8282
[&](Message m)
8383
{
84+
cout<< int64_t(m.Sender) << " 发来一条消息." << endl;
8485
m.Reply("Message事件可处理三种消息:" + m.MessageChain);
8586

8687
// 判断是否群组消息

include/events/message_event.hpp

Lines changed: 11 additions & 9 deletions
Original file line numberDiff line numberDiff line change
@@ -24,6 +24,7 @@ namespace Cyan
2424
class EXPORTED Message : public EventBase
2525
{
2626
public:
27+
QQ_t Sender;
2728
Cyan::MessageChain MessageChain;
2829

2930
static MiraiEvent GetMiraiEvent()
@@ -38,23 +39,23 @@ namespace Cyan
3839

3940
FriendMessage ToFriendMessage() const
4041
{
41-
FriendMessage m;
42-
m.Set(json_);
43-
return m;
42+
if (messageType_ != MessageType::FriendMessage)
43+
throw std::runtime_error("错误的消息类型转换");
44+
return friendMessage_;
4445
}
4546

4647
GroupMessage ToGroupMessage() const
4748
{
48-
GroupMessage m;
49-
m.Set(json_);
50-
return m;
49+
if (messageType_ != MessageType::GroupMessage)
50+
throw std::runtime_error("错误的消息类型转换");
51+
return groupMessage_;
5152
}
5253

5354
TempMessage ToTempMessage() const
5455
{
55-
TempMessage m;
56-
m.Set(json_);
57-
return m;
56+
if (messageType_ != MessageType::TempMessage)
57+
throw std::runtime_error("错误的消息类型转换");
58+
return tempMessage_;
5859
}
5960

6061
MessageId GetMessageId() const
@@ -95,6 +96,7 @@ namespace Cyan
9596
tempMessage_.Set(j);
9697
tempMessage_.SetMiraiBot(bot_);
9798
}
99+
this->Sender = QQ_t(j["sender"]["id"].get<int64_t>());
98100
this->MessageChain.Set(j["messageChain"]);
99101
json_ = j;
100102
return true;

0 commit comments

Comments
 (0)