Skip to content

Commit 32c3885

Browse files
committed
Now escaping Markdown characters. Removed date and some spaces.
1 parent de7f1fb commit 32c3885

File tree

1 file changed

+17
-8
lines changed

1 file changed

+17
-8
lines changed

hlkz_service/discord.php

Lines changed: 17 additions & 8 deletions
Original file line numberDiff line numberDiff line change
@@ -12,10 +12,11 @@
1212
include 'discord_hook_lib.php';
1313

1414
$webhook = $obj["webhook"];
15-
$runner = $obj["holder"];
16-
$runMap = $obj["map"];
17-
$runType = ucfirst($obj["type"]);
18-
$runTime = $obj["time"];
15+
// Escape Markdown characters in everything that could go in the message
16+
$runner = escape_chars("*_`~", "\\", $obj["holder"]);
17+
$runMap = escape_chars("*_`~", "\\", $obj["map"]);
18+
$runType = ucfirst(escape_chars("*_`~", "\\", $obj["type"]));
19+
$runTime = escape_chars("*_`~", "\\", $obj["time"]);
1920
$top = 5;
2021

2122
$botName = "HL KreedZ";
@@ -40,19 +41,19 @@
4041
else if ($j == 2) $desc .= "**- ";
4142
else if ($j == 1) $desc .= "--+ ";
4243
else if ($j == 0) $desc .= "++- ";
43-
$desc .= ($j+1) . " ";
44+
$desc .= ($j+1) . " ";
4445

4546
foreach ($rec[$j] as $key => $value) {
4647
if ($key == "name") {
4748
$desc .= mb_str_pad(rtrim($value), $maxLength);
48-
} else {
49+
} else if ($key != "date") {
4950
$desc .= $value;
5051
}
51-
$desc .= " ";
52+
$desc .= " ";
5253
}
5354
$desc .= "\n";
5455
}
55-
$desc .= " \n```";
56+
$desc .= " \n```";
5657

5758
$msg .= $title . $desc;
5859

@@ -63,4 +64,12 @@ function mb_str_pad( $input, $pad_length, $pad_string = ' ', $pad_type = STR_PAD
6364
$diff = strlen($input) - mb_strlen($input, $encoding);
6465
return str_pad($input, $pad_length + $diff, $pad_string, $pad_type);
6566
}
67+
68+
function escape_chars($charsToEscape, $escapeSeq, $string)
69+
{
70+
$charsToEscape = preg_quote($charsToEscape, '/');
71+
$regexSafeEscapeSeq = preg_quote($escapeSeq, '/');
72+
$escapeSeq = preg_replace('/([$\\\\])/', '\\\$1', $escapeSeq);
73+
return(preg_replace('/(?<!'.$regexSafeEscapeSeq.')(['.$charsToEscape.'])/', $escapeSeq.'$1', $string));
74+
}
6675
?>

0 commit comments

Comments
 (0)