From b379bea9b80cc394658014575618cb049b48b1bf Mon Sep 17 00:00:00 2001 From: Dragory <2606411+Dragory@users.noreply.github.com> Date: Mon, 10 Aug 2020 03:26:39 +0300 Subject: [PATCH] Use messageLink() function for message links everywhere --- backend/src/plugins/Cases/functions/getCaseEmbed.ts | 5 ++--- .../src/plugins/Cases/functions/getCaseSummary.ts | 4 ++-- backend/src/plugins/Reminders/commands/RemindCmd.ts | 5 ++--- .../Utility/functions/getMessageInfoEmbed.ts | 6 ++---- .../plugins/Utility/functions/getUserInfoEmbed.ts | 13 +++++++++++-- backend/src/utils/buildMessageLink.ts | 3 --- 6 files changed, 19 insertions(+), 17 deletions(-) delete mode 100644 backend/src/utils/buildMessageLink.ts diff --git a/backend/src/plugins/Cases/functions/getCaseEmbed.ts b/backend/src/plugins/Cases/functions/getCaseEmbed.ts index c40557b2..e1879885 100644 --- a/backend/src/plugins/Cases/functions/getCaseEmbed.ts +++ b/backend/src/plugins/Cases/functions/getCaseEmbed.ts @@ -6,10 +6,9 @@ import { PluginData, helpers } from "knub"; import { CasesPluginType } from "../types"; import { CaseTypeColors } from "../../../data/CaseTypeColors"; import { resolveCaseId } from "./resolveCaseId"; -import { chunkLines, chunkMessageLines, emptyEmbedValue } from "../../../utils"; +import { chunkLines, chunkMessageLines, emptyEmbedValue, messageLink } from "../../../utils"; import { inGuildTz } from "../../../utils/timezones"; import { getDateFormat } from "../../../utils/dateFormats"; -import { buildMessageLink } from "../../../utils/buildMessageLink"; export async function getCaseEmbed( pluginData: PluginData, @@ -92,7 +91,7 @@ export async function getCaseEmbed( if (theCase.log_message_id) { const [channelId, messageId] = theCase.log_message_id.split("-"); - const link = buildMessageLink(pluginData.guild.id, channelId, messageId); + const link = messageLink(pluginData.guild.id, channelId, messageId); embed.fields.push({ name: emptyEmbedValue, value: `[Go to original case in case log channel](${link})`, diff --git a/backend/src/plugins/Cases/functions/getCaseSummary.ts b/backend/src/plugins/Cases/functions/getCaseSummary.ts index 0dc83b4d..67e49322 100644 --- a/backend/src/plugins/Cases/functions/getCaseSummary.ts +++ b/backend/src/plugins/Cases/functions/getCaseSummary.ts @@ -1,6 +1,6 @@ import { PluginData } from "knub"; import { CasesPluginType } from "../types"; -import { disableLinkPreviews } from "../../../utils"; +import { disableLinkPreviews, messageLink } from "../../../utils"; import { DBDateFormat, getDateFormat } from "../../../utils/dateFormats"; import { CaseTypes } from "../../../data/CaseTypes"; import moment from "moment-timezone"; @@ -37,7 +37,7 @@ export async function getCaseSummary( let caseTitle = `\`Case #${theCase.case_number}\``; if (withLinks && theCase.log_message_id) { const [channelId, messageId] = theCase.log_message_id.split("-"); - caseTitle = `[${caseTitle}](https://discord.com/channels/${pluginData.guild.id}/${channelId}/${messageId})`; + caseTitle = `[${caseTitle}](${messageLink(pluginData.guild.id, channelId, messageId)})`; } else { caseTitle = `\`${caseTitle}\``; } diff --git a/backend/src/plugins/Reminders/commands/RemindCmd.ts b/backend/src/plugins/Reminders/commands/RemindCmd.ts index 6f2e4eae..e58a9987 100644 --- a/backend/src/plugins/Reminders/commands/RemindCmd.ts +++ b/backend/src/plugins/Reminders/commands/RemindCmd.ts @@ -1,6 +1,6 @@ import { commandTypeHelpers as ct } from "../../../commandTypes"; import moment from "moment-timezone"; -import { convertDelayStringToMS } from "src/utils"; +import { convertDelayStringToMS, messageLink } from "src/utils"; import humanizeDuration from "humanize-duration"; import { sendErrorMessage, sendSuccessMessage } from "src/pluginUtils"; import { remindersCommand } from "../types"; @@ -48,8 +48,7 @@ export const RemindCmd = remindersCommand({ return; } - const reminderBody = - args.reminder || `https://discord.com/channels/${pluginData.guild.id}/${msg.channel.id}/${msg.id}`; + const reminderBody = args.reminder || messageLink(pluginData.guild.id, msg.channel.id, msg.id); await pluginData.state.reminders.add( msg.author.id, msg.channel.id, diff --git a/backend/src/plugins/Utility/functions/getMessageInfoEmbed.ts b/backend/src/plugins/Utility/functions/getMessageInfoEmbed.ts index 1379bf82..d2d6a7ce 100644 --- a/backend/src/plugins/Utility/functions/getMessageInfoEmbed.ts +++ b/backend/src/plugins/Utility/functions/getMessageInfoEmbed.ts @@ -3,7 +3,7 @@ import { UtilityPluginType } from "../types"; import { Constants, EmbedOptions } from "eris"; import moment from "moment-timezone"; import humanizeDuration from "humanize-duration"; -import { chunkMessageLines, preEmbedPadding, trimEmptyLines, trimLines } from "../../../utils"; +import { chunkMessageLines, messageLink, preEmbedPadding, trimEmptyLines, trimLines } from "../../../utils"; import { getDefaultPrefix } from "knub/dist/commands/commandUtils"; import { inGuildTz } from "../../../utils/timezones"; import { getDateFormat } from "../../../utils/dateFormats"; @@ -69,9 +69,7 @@ export async function getMessageInfoEmbed( Created: **${messageAge} ago** (\`${prettyCreatedAt}\`) ${editedAt ? `Edited at: **${editAge} ago** (\`${prettyEditedAt}\`)` : ""} Type: **${type}** - Link: [**Go to message ➔**](https://discord.com/channels/${pluginData.guild.id}/${message.channel.id}/${ - message.id - }) + Link: [**Go to message ➔**](${messageLink(pluginData.guild.id, message.channel.id, message.id)}) `), ), }); diff --git a/backend/src/plugins/Utility/functions/getUserInfoEmbed.ts b/backend/src/plugins/Utility/functions/getUserInfoEmbed.ts index 1b8068af..01af5803 100644 --- a/backend/src/plugins/Utility/functions/getUserInfoEmbed.ts +++ b/backend/src/plugins/Utility/functions/getUserInfoEmbed.ts @@ -1,7 +1,16 @@ import { Message, GuildTextableChannel, EmbedOptions } from "eris"; import { PluginData } from "knub"; import { UtilityPluginType } from "../types"; -import { UnknownUser, trimLines, embedPadding, resolveMember, resolveUser, preEmbedPadding, sorter } from "src/utils"; +import { + UnknownUser, + trimLines, + embedPadding, + resolveMember, + resolveUser, + preEmbedPadding, + sorter, + messageLink, +} from "src/utils"; import moment from "moment-timezone"; import { CaseTypes } from "src/data/CaseTypes"; import humanizeDuration from "humanize-duration"; @@ -123,7 +132,7 @@ export async function getUserInfoEmbed( if (c.log_message_id) { const [channelId, messageId] = c.log_message_id.split("-"); - return `[${summaryText}](https://discord.com/channels/${pluginData.guild.id}/${channelId}/${messageId})`; + return `[${summaryText}](${messageLink(pluginData.guild.id, channelId, messageId)})`; } return summaryText; diff --git a/backend/src/utils/buildMessageLink.ts b/backend/src/utils/buildMessageLink.ts deleted file mode 100644 index 6beae14e..00000000 --- a/backend/src/utils/buildMessageLink.ts +++ /dev/null @@ -1,3 +0,0 @@ -export function buildMessageLink(guildId: string, channelId: string, messageId: string) { - return `https://discord.com/channels/${guildId}/${channelId}/${messageId}`; -}