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

Discord JS v13嵌入消息中如何正确获取并展示服务器区域

问题原因

Discord.js v13 已移除Guild.region属性,属于跨版本不兼容变更。Discord官方已废弃服务器全局区域配置规则,当前平台支持每个语音频道独立设置通话区域,服务器本身不再绑定全局区域字段,因此原有代码读取message.guild.region返回undefined,未匹配到switch的任何分支,最终Embed对应字段渲染为undefined。
同时你提供的代码存在语法错误:addFields方法调用后缺少闭合括号,会直接触发代码运行报错。

修复方案

如果你需要保留区域相关展示,可以替换为读取服务器首选语言属性Guild.preferredLocale,调整匹配逻辑即可;如果不需要该字段,直接删除Embed中对应的Region字段配置即可。
以下是调整后的可运行代码:

const Discord = require('discord.js');

module.exports = {
    name: "serverinfo",
    aliases: ["si"],
    description: "Shows all Info about the Server!",
    execute: async (message, args, client) => {
        let region;
        // 改用preferredLocale匹配区域,也可以根据你的需求自定义映射规则
        switch (message.guild.preferredLocale) {
            case "en-GB":
            case "de":
            case "fr":
            case "es-ES":
                region = '🇪🇺 欧洲';
                break;
            case "ru":
                region = '🇷🇺 俄罗斯';
                break;
            case "en-US":
                region = '🇺🇸 美国';
                break;
            case "zh-CN":
                region = '🇨🇳 中国大陆';
                break;
            default:
                region = message.guild.preferredLocale;
        }

        const embed = new Discord.MessageEmbed()
            .setThumbnail(message.guild.iconURL({dynamic : true}))
            .setColor('#dd6fb9')
            .setTitle(`**Bot Command**`)
            .setFooter("@" + message.author.tag, message.author.displayAvatarURL({dynamic : true}))
            .addFields(
                {
                    name: `Region: `,
                    value: `${region}`,
                    inline: true
                }
            ); // 补全了addFields的闭合括号

        await message.channel.send( { embeds: [embed] })
            .then(() => setTimeout(() => message.delete(), 1000))
            .then(msg => setTimeout(() => msg.delete(), 120000));
    },
};

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.09.27 05:15:03