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

Commit 7179e67

Browse files
committed
正确实现ImageMessage.ToJson();
1 parent f25ccaf commit 7179e67

File tree

2 files changed

+28
-15
lines changed

2 files changed

+28
-15
lines changed

examples/SendImageMessage.cpp

Lines changed: 10 additions & 9 deletions
Original file line numberDiff line numberDiff line change
@@ -13,16 +13,15 @@ int main(int argc, char* argv[])
1313
bot.Connect(opts);
1414
cout << "Bot working..." << endl;
1515

16-
FriendImage img = bot.UploadFriendImage("D:\\test.png");
17-
GroupImage gImg = bot.UploadGroupImage("D:\\test.png");
18-
TempImage tImg = bot.UploadTempImage("D:\\test.png");
16+
string ImagePath("E:/test.png");
1917

2018
bot.On<FriendMessage>(
21-
[&](FriendMessage fm)
19+
[&](FriendMessage m)
2220
{
2321
try
2422
{
25-
fm.Reply(MessageChain().Image(img));
23+
FriendImage img = bot.UploadFriendImage(ImagePath);
24+
m.Reply(MessageChain().Image(img));
2625
}
2726
catch (const std::exception& ex)
2827
{
@@ -31,11 +30,12 @@ int main(int argc, char* argv[])
3130
});
3231

3332
bot.On<GroupMessage>(
34-
[&](GroupMessage gm)
33+
[&](GroupMessage m)
3534
{
3635
try
3736
{
38-
bot.SendMessage(gm.Sender.Group.GID, MessageChain().Image(gImg));
37+
GroupImage gImg = bot.UploadGroupImage(ImagePath);
38+
bot.SendMessage(m.Sender.Group.GID, MessageChain().Image(gImg));
3939
}
4040
catch (const std::exception& ex)
4141
{
@@ -44,11 +44,12 @@ int main(int argc, char* argv[])
4444
});
4545

4646
bot.On<TempMessage>(
47-
[&](TempMessage gm)
47+
[&](TempMessage m)
4848
{
4949
try
5050
{
51-
gm.Reply(MessageChain().Image(tImg));
51+
TempImage tImg = bot.UploadTempImage(ImagePath);
52+
m.Reply(MessageChain().Image(tImg));
5253
}
5354
catch (const std::exception& ex)
5455
{

include/mirai/messages/ImageMessage.hpp

Lines changed: 18 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -72,14 +72,26 @@ namespace Cyan
7272
}
7373
virtual json ToJson() const override
7474
{
75-
return
75+
json result =
7676
{
77-
{ "type", GetType() },
78-
{ "imageId", imageId_ },
79-
{ "url", url_ },
80-
{ "path", path_ },
81-
{ "base64", base64_ }
77+
{ "type", GetType() }
8278
};
79+
imageId_.empty()
80+
? result["imageId"] = json(nullptr)
81+
: result["imageId"] = imageId_;
82+
83+
url_.empty()
84+
? result["url"] = json(nullptr)
85+
: result["url"] = url_;
86+
87+
path_.empty()
88+
? result["path"] = json(nullptr)
89+
: result["path"] = path_;
90+
91+
base64_.empty()
92+
? result["base64"] = json(nullptr)
93+
: result["base64"] = base64_;
94+
return result;
8395
}
8496
virtual ~ImageMessage() {}
8597

0 commit comments

Comments
 (0)