Skip to content

Commit 4579124

Browse files
committed
Add exclude meta data for Discord webhook
1 parent 9fd3fd5 commit 4579124

File tree

3 files changed

+44
-41
lines changed

3 files changed

+44
-41
lines changed

etc/config.sample.json

Lines changed: 10 additions & 9 deletions
Original file line numberDiff line numberDiff line change
@@ -5,15 +5,6 @@
55
"battleforthenet": "",
66
"vultr": ""
77
},
8-
"discord": {
9-
"forward_event_log": {
10-
"enabled": false,
11-
"ignore_event_types": [3,5,7,8,9,10,11],
12-
"webhook": null
13-
},
14-
"invite_code": "u87WVeu",
15-
"server_id": 405789880749260820
16-
},
178
"donations": {
189
"btc_address": "",
1910
"paypal_url": ""
@@ -58,6 +49,16 @@
5849
"username_length_min": 3
5950
}
6051
},
52+
"discord": {
53+
"forward_event_log": {
54+
"enabled": false,
55+
"exclude_meta_data": false,
56+
"ignore_event_types": [3,5,7,8,9,10,11],
57+
"webhook": null
58+
},
59+
"invite_code": "u87WVeu",
60+
"server_id": 405789880749260820
61+
},
6162
"email": {
6263
"recipient_from": [
6364
"root@localhost",

src/controllers/Discord.php

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -19,8 +19,8 @@ public function &run( Router &$router, View &$view, array &$args ) {
1919
$model = new DiscordModel();
2020

2121
$model->discord_url = 'https://discord.gg/';
22-
$model->discord_url .= Common::$config->bnetdocs->discord->invite_code;
23-
$model->discord_server_id = Common::$config->bnetdocs->discord->server_id;
22+
$model->discord_url .= Common::$config->discord->invite_code;
23+
$model->discord_server_id = Common::$config->discord->server_id;
2424

2525
$view->render( $model );
2626

src/libraries/Logger.php

Lines changed: 32 additions & 30 deletions
Original file line numberDiff line numberDiff line change
@@ -70,7 +70,7 @@ public static function logEvent(
7070
}
7171

7272
protected static function dispatchDiscordWebhook($event_id) {
73-
$c = Common::$config->bnetdocs->discord->forward_event_log;
73+
$c = Common::$config->discord->forward_event_log;
7474
if (!$c->enabled) return;
7575

7676
$event = new Event($event_id);
@@ -94,50 +94,52 @@ protected static function dispatchDiscordWebhook($event_id) {
9494
$embed->setAuthor($author);
9595
}
9696

97-
$data = json_decode($event->getMetadata(), true);
98-
if (is_scalar($data)) {
97+
if (!$c->exclude_meta_data) {
98+
$data = json_decode($event->getMetadata(), true);
99+
if (is_scalar($data)) {
100+
101+
if (is_string($data)) {
102+
$f_value = substr($data, 0, DiscordEmbedField::MAX_VALUE - 3);
103+
if (strlen($data) > DiscordEmbedField::MAX_VALUE - 3)
104+
$f_value .= '...';
105+
} else {
106+
$f_value = $data;
107+
}
108+
109+
$field = new DiscordEmbedField('Meta Data', $f_value, true);
110+
$embed->addField($field);
99111

100-
if (is_string($data)) {
101-
$f_value = substr($data, 0, DiscordEmbedField::MAX_VALUE - 3);
102-
if (strlen($data) > DiscordEmbedField::MAX_VALUE - 3)
103-
$f_value .= '...';
104112
} else {
105-
$f_value = $data;
106-
}
107113

108-
$field = new DiscordEmbedField('Meta Data', $f_value, true);
109-
$embed->addField($field);
114+
foreach ($data as $key => $value) {
110115

111-
} else {
116+
$f_key = substr($key, 0, DiscordEmbedField::MAX_NAME - 3);
117+
if (strlen($key) > DiscordEmbedField::MAX_NAME - 3)
118+
$f_key .= '...';
112119

113-
foreach ($data as $key => $value) {
120+
if (is_scalar($value)) {
114121

115-
$f_key = substr($key, 0, DiscordEmbedField::MAX_NAME - 3);
116-
if (strlen($key) > DiscordEmbedField::MAX_NAME - 3)
117-
$f_key .= '...';
122+
if (is_string($value)) {
123+
$f_value = substr($value, 0, DiscordEmbedField::MAX_VALUE - 3);
124+
if (strlen($value) > DiscordEmbedField::MAX_VALUE - 3)
125+
$f_value .= '...';
126+
} else {
127+
$f_value = $value;
128+
}
118129

119-
if (is_scalar($value)) {
130+
$field = new DiscordEmbedField($f_key, $f_value, true);
120131

121-
if (is_string($value)) {
122-
$f_value = substr($value, 0, DiscordEmbedField::MAX_VALUE - 3);
123-
if (strlen($value) > DiscordEmbedField::MAX_VALUE - 3)
124-
$f_value .= '...';
125132
} else {
126-
$f_value = $value;
127-
}
128-
129-
$field = new DiscordEmbedField($f_key, $f_value, true);
130133

131-
} else {
134+
$field = new DiscordEmbedField($f_key, gettype($value), true);
132135

133-
$field = new DiscordEmbedField($f_key, gettype($value), true);
136+
}
137+
$embed->addField($field);
134138

139+
if ($embed->fieldCount() >= DiscordEmbed::MAX_FIELDS) break;
135140
}
136-
$embed->addField($field);
137141

138-
if ($embed->fieldCount() >= DiscordEmbed::MAX_FIELDS) break;
139142
}
140-
141143
}
142144

143145
$webhook->addEmbed($embed);

0 commit comments

Comments
 (0)