You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

discord.js机器人/server与/user命令无法填充信息求助

Discord.js 模板变量未解析问题解决

核心问题

你用了单引号或双引号包裹包含${xxx}的字符串,而非模板字符串要求的反引号(`)。只有反引号包裹的字符串才会解析其中的变量,单/双引号会把变量语法当作普通文本输出。

修复代码示例

错误写法(变量不解析)

// 双引号包裹,变量直接显示为文本
interaction.reply("服务器名称: ${interaction.guild.name},成员数: ${interaction.guild.memberCount}");

// 单引号同理
interaction.reply('用户标签: ${interaction.user.tag}');

正确写法(变量正常填充)

// 用反引号包裹整个字符串
interaction.reply(`服务器名称: ${interaction.guild.name},成员数: ${interaction.guild.memberCount}`);

// /user命令示例
interaction.reply(`你的用户标签: ${interaction.user.tag},创建时间: ${interaction.user.createdAt}`);

额外排查点

  • 确认interaction.guild不为undefined:/server命令只能在服务器内触发,DM环境下interaction.guild是null,会导致报错或变量为空。
  • 核对discord.js版本:v14+的交互逻辑和旧版本有差异,但模板字符串的解析规则是JS通用的,和库版本无关。

内容的提问来源于stack exchange,提问作者usselman

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.08.17 02:55:31