diff --git a/backend/src/plugins/Tags/commands/TagEvalCmd.ts b/backend/src/plugins/Tags/commands/TagEvalCmd.ts index 783bfff2..f093535f 100644 --- a/backend/src/plugins/Tags/commands/TagEvalCmd.ts +++ b/backend/src/plugins/Tags/commands/TagEvalCmd.ts @@ -4,6 +4,7 @@ import { MessageContent } from "eris"; import { TemplateParseError } from "../../../templateFormatter"; import { sendErrorMessage } from "../../../pluginUtils"; import { renderTagBody } from "../util/renderTagBody"; +import { stripObjectToScalars } from "../../../utils"; export const TagEvalCmd = tagsCmd({ trigger: "tag eval", @@ -15,7 +16,16 @@ export const TagEvalCmd = tagsCmd({ async run({ message: msg, args, pluginData }) { try { - const rendered = await renderTagBody(pluginData, args.body, [], {}, { member: msg.member }); + const rendered = await renderTagBody( + pluginData, + args.body, + [], + { + member: stripObjectToScalars(msg.member, ["user"]), + user: stripObjectToScalars(msg.member.user), + }, + { member: msg.member }, + ); msg.channel.createMessage(rendered); } catch (e) { if (e instanceof TemplateParseError) { diff --git a/backend/src/plugins/Tags/util/renderTagFromString.ts b/backend/src/plugins/Tags/util/renderTagFromString.ts index 8bf00505..db75c621 100644 --- a/backend/src/plugins/Tags/util/renderTagFromString.ts +++ b/backend/src/plugins/Tags/util/renderTagFromString.ts @@ -23,7 +23,16 @@ export async function renderTagFromString( // Format the string try { - return renderTagBody(pluginData, tagBody, tagArgs, {}, { member }); + return renderTagBody( + pluginData, + tagBody, + tagArgs, + { + member: stripObjectToScalars(member, ["user"]), + user: stripObjectToScalars(member.user), + }, + { member }, + ); } catch (e) { if (e instanceof TemplateParseError) { const logs = pluginData.getPlugin(LogsPlugin);