diff --git a/src/utils/github-user-utils.ts b/src/utils/github-user-utils.ts index 26b68e7..8076a5d 100644 --- a/src/utils/github-user-utils.ts +++ b/src/utils/github-user-utils.ts @@ -1,6 +1,7 @@ import { Database } from '../shared/Database'; const mentionRegex = new RegExp('@([\\S]+),|@([\\S]+)', 'gi'); +const issueLinkRegex = new RegExp('\\s?\\(\\[(#\\d+)\\]\\(https?:\\/\\/(www\\.)?[-a-zA-Z0-9@:%._+~#=]{1,256}\\.[a-zA-Z0-9()]{1,6}\\b(?:[-a-zA-Z0-9()@:%_+.~#?&//=]*)\\)', 'gi'); export async function fixPings(body: string): Promise { const mappings = await Database.getAllGithubUserMappings(); @@ -11,4 +12,8 @@ export async function fixPings(body: string): Promise { return mapping ? `<@${mapping.discord_id}>` : match; }); +} + +export function removeIssueLinks(body: string): string { + return body.replaceAll(issueLinkRegex, ''); } \ No newline at end of file diff --git a/src/webserver/index.ts b/src/webserver/index.ts index 0b62c5c..0bb3a11 100644 --- a/src/webserver/index.ts +++ b/src/webserver/index.ts @@ -9,7 +9,7 @@ import fs from 'fs'; import path from 'path'; import { Client } from 'discord.js'; import bodyParser from 'body-parser'; -import { fixPings } from '../utils/github-user-utils'; +import { fixPings, removeIssueLinks } from '../utils/github-user-utils'; import { logDebug } from '../utils/debug-utils'; import { AltData, comprehensiveAltLookupFromE621 } from '../utils'; @@ -206,7 +206,7 @@ async function handleGithubRelease(client: Client, req: Request, res: Response): const date = new Date(); - let message = `## [${months[date.getUTCMonth()]} ${date.getUTCDate()}, ${date.getUTCFullYear()}](<${data.release.html_url}>)\n\n${await fixPings(data.release.body)}`; + let message = `## [${months[date.getUTCMonth()]} ${date.getUTCDate()}, ${date.getUTCFullYear()}](<${data.release.html_url}>)\n\n${await fixPings(removeIssueLinks(data.release.body))}`; logDebug('Sending github release message');