[英]Guild is showing undefined discord.js
所以我正在使用 discord.js (v13) 构建我的机器人。
这是我的代码:
const { MessageEmbed } = require('discord.js')
const { SlashCommandBuilder } = require("@discordjs/builders")
const guild = require('../config.json');
module.exports = {
data: new SlashCommandBuilder()
.setName('server')
.setDescription('Display info about this server.'),
async execute(interaction) {
const exampleEmbed = new MessageEmbed()
.setColor('#0099ff')
.setTitle(`Server infomation on ${guild.name}`)
.setDescription('Tells Server Info')
.addFields(
{ name: 'Server Name', value: `${guild.name}` },
{ name: '\u200B', value: '\u200B' },
{ name: 'Inline field titlve', alue: 'Some value here', inline: true },
{ name: 'Inline field title', value: 'Some value here', inline: true },
)
.setTimestamp()
await interaction.reply({embeds: [exampleEmbed]}) ;
},
};
以上是带有嵌入的斜杠命令的示例。 在我的嵌入中,我试图打印公会名称。 使用 guild.name。 我在终端中没有收到任何错误,但是当我在 Discord 服务器中运行代码时,我的机器人显示未定义。
我在这里做错了什么,我该如何解决?
PS 我对 discord.js 和 javascript 有点陌生
问题在于变量guild
是config.json
文件的内容。 如果这个文件包含一个只有guildID
和clientID
键的对象, guild.name
将是undefined
。
我想你想使用interaction
来自的guild
,在这种情况下,它是interaction.guild
:
async execute(interaction) {
const exampleEmbed = new MessageEmbed()
.setColor('#0099ff')
.setTitle(`Server infomation on ${interaction.guild.name}`)
.setDescription('Tells Server Info')
.addFields(
{ name: 'Server Name', value: `${interaction.guild.name}` },
{ name: '\u200B', value: '\u200B' },
{ name: 'Inline field titlve', alue: 'Some value here', inline: true },
{ name: 'Inline field title', value: 'Some value here', inline: true },
)
.setTimestamp();
await interaction.reply({ embeds: [exampleEmbed] });
}
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.