You need to enable JavaScript to run this app. Discord.js 机器人处理无头像用户指令时崩溃问题如何解决
优惠活动
大模型
产品
解决方案
定价
更多

Discord.js 机器人处理无头像用户指令时崩溃问题如何解决

问题原因

message.author.avatarURL() 方法在用户未设置自定义头像时会返回 null,直接将该值传入 Embed 页脚的 icon 参数时,Discord API 不接受空值参数,因此触发异常导致机器人崩溃。

解决方案

方案1:使用内置displayAvatarURL方法(推荐)

discord.js 提供的displayAvatarURL()方法会自动判断用户是否有自定义头像,无头像时自动返回官方默认头像地址,无需手动处理边界情况,且已适配 Discord 新的无#号用户名系统,兼容性更强。
修改后的代码:

${message.author.displayAvatarURL({ size: 1024, dynamic: true })}

方案2:手动添加空值回退

如果你需要自定义默认头像逻辑,可以用空值合并运算符处理avatarURL()返回null的场景:

${message.author.avatarURL({ size: 1024, dynamic: true }) ?? `https://cdn.discordapp.com/embed/avatars/${Number(message.author.discriminator ?? 0) % 5}.png`}

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.10.20 16:27:02