我目前正在開發一個使用和嵌入顯示用戶資料的命令,但每次使用該命令時,文本都會被重新添加,所以如果你使用該命令兩次,你會看到兩次文本,等等。我試圖找到一個解決方案,大約一個小時,但我找不到任何東西。我也曾多次嘗試重寫代碼,目前我的代碼是這樣的
const { discord, MessageEmbed } = require('discord.js') 。
const embed = new MessageEmbed()。
const users = require('./users.json');
const stand = require('./standsInfo.json')。
module.exports = {
name: 'profile'。
description: '顯示用戶資料'。
execute(message, args) {
var user = message.author;
var xpNeeded = ( users[user.id].level ( users[user. id].level 1))*45。
embed.setTitle(`${user.username}的簡介`)。
embed.setThumbnail(user.displayAvatarURL()。
embed.addField('level', `${users[user.id].level}`) 。
embed.addField('experience', `${users[user. id].xp}/${xpNeeded}`)。)
message.channel.send({embeds: [embed] })。
}
編輯:所以。我剛剛意識到錯在哪里,我使用了addField而不是setField
。uj5u.com熱心網友回復:
將const embed = new MessageEmbed();移至執行范圍內。否則你將不斷地編輯相同的embed并再次發送,并添加欄位
const { discord, MessageEmbed } = require('discord.js') 。
const users = require('./users.json')。
const stand = require('./standsInfo.json')。
module.exports = {
name: 'profile'。
description: '顯示用戶資料'。
execute(message, args) {
var user = message.author;
var xpNeeded = ( users[user.id].level ( users[user. id].level 1))*45。
const embed = new MessageEmbed()。
embed.setTitle(`${user.username}的個人資料`)。
embed.setThumbnail(user.displayAvatarURL()。
embed.addField('level', `${users[user.id].level}`)。
embed.addField('experience', `${users[user. id].xp}/${xpNeeded}`)。)
message.channel.send({embeds: [embed] })。
}
轉載請註明出處,本文鏈接:https://www.uj5u.com/qianduan/306893.html
標籤:
