17
17
18
18
void guild::on_invite_created (const dpp::invite_create_t &event, const nlohmann::json& config, std::vector<dpp::invite>& invites) {
19
19
invites.push_back (event.created_invite );
20
+ // Don't log invites without a known creator
21
+ if (event.created_invite .inviter_id == 0 ) {
22
+ return ;
23
+ }
20
24
21
25
dpp::embed embed = dpp::embed ().set_color (util::color::GREEN).set_thumbnail (event.created_invite .inviter .get_avatar_url ())
22
26
.set_title (" Invite Created" )
23
27
.add_field (" Invite Creator" , event.created_invite .inviter .username , true )
24
28
.add_field (" User ID" , event.created_invite .inviter .id .str (), true )
25
- .add_field (" Invite Code" , event.created_invite .code , false )
26
- .add_field (" Invite Channel" , event.created_invite .destination_channel .get_mention (), true );
29
+ .add_field (" Invite Code" , event.created_invite .code , false );
30
+ if (event.created_invite .channel_id != 0 ) {
31
+ embed.add_field (" Invite Channel" , event.created_invite .destination_channel .get_mention (), true );
32
+ }
27
33
if (event.created_invite .expires_at == 0 ) {
28
34
embed.add_field (" Expires" , " Never" , true );
29
35
} else {
@@ -33,7 +39,6 @@ void guild::on_invite_created(const dpp::invite_create_t &event, const nlohmann:
33
39
}
34
40
35
41
void guild::on_invite_deleted (const dpp::invite_delete_t &event, const nlohmann::json& config, std::vector<dpp::invite>& invites) {
36
-
37
42
dpp::embed embed = dpp::embed ().set_color (util::color::RED).set_title (" Invite Deleted" );
38
43
// Find invite in cache
39
44
auto invite = invites.begin ();
@@ -45,10 +50,15 @@ void guild::on_invite_deleted(const dpp::invite_delete_t &event, const nlohmann:
45
50
embed.add_field (" Invite Creator" , invite->inviter .username , true )
46
51
.add_field (" User ID" , invite->inviter .id .str (), true )
47
52
.add_field (" Invite Code" , invite->code , false )
48
- .add_field (" Invite Channel" , invite->destination_channel .get_mention (), true )
49
53
.add_field (" Uses" , std::to_string (invite->uses ), true );
54
+ if (invite->channel_id != 0 ) {
55
+ embed.add_field (" Invite Channel" , invite->destination_channel .get_mention (), true );
56
+ }
50
57
// Delete invite from cache
51
58
invites.erase (invite);
52
59
}
53
- event.owner ->message_create (dpp::message (config[" log_channel_ids" ][" invites" ], embed));
60
+ // Don't log invites without a known creator
61
+ if (!embed.fields [0 ].value .empty ()) {
62
+ event.owner ->message_create (dpp::message (config[" log_channel_ids" ][" invites" ], embed));
63
+ }
54
64
}
0 commit comments