[英]TypeError: Cannot read properties of undefined (reading 'createdTimestamp')
[英]TypeError: Cannot read properties of undefined (reading 'createdTimestamp') discord.js
基本上我正在嘗試為 discord.js 創建一個 userinfo 命令,我遵循了一些教程並且我似乎做了一個,但是我得到這個錯誤說:
類型錯誤:無法讀取未定義的屬性(讀取“createdTimestamp”)
代碼在這里:(userinfo.js)
const moment = require('moment');
module.exports = {
name: 'userinfo',
description: 'fetch the info of the user!',
async execute(message, args, Discord, prefix, client){
const target = message.mentions.users.first() || message.author;
const member = message.guild.members.cache.get(target.id);
const embed = new Discord.MessageEmbed()
.setAuthor(`${target.username}`, target.displayAvatarURL({dynamic: true}))
.setThumbnail(target.displayAvatarURL({dynamic: true}))
.setColor('#0afc17')
.addField('User ID', `${target.id}`)
.addField('Roles', `${member.roles.cache.map(r => r).join(' ').replace('@everyone', '')}` || 'None')
// .addField('Server Member Since', `${moment(member.joinedAt).format('MMMM Do YYYY, h:mm')}\n**-** ${moment(member.joinedAt).startOf('day').fromNow()}`)
.addField('Server Member Since', `<t:${parseInt(target.joinedTimestamp / 1000)}:R>`, true)
.addField('Discord User Since', `<t:${parseInt(target.user.createdTimestamp / 1000)}:R>`, true)
message.channel.send({ embeds: [embed] })
}
}
主程序
const Discord = require('discord.js');
const client = new Discord.Client({
intents: ['GUILDS', 'GUILD_MESSAGES']
});
const prefix = '!';
const fs = require('fs');
client.commands = new Discord.Collection();
const commandFiles = fs.readdirSync('./commands/').filter(file => file.endsWith('.js'));
for (const file of commandFiles) {
const command = require(`./commands/${file}`);
client.commands.set(command.name, command);
}
client.once('ready', () => {
console.log('Bot is online!');
});
client.on('messageCreate', message => {
if (!message.content.startsWith(prefix) || message.author.bot) return;
const args = message.content.slice(prefix.length).split(/ +/);
const command = args.shift().toLowerCase();
if (!client.commands.get(command)) return;
client.commands.get(command).execute(message, args, Discord, prefix, client);
})
// client.on('guildMemberAdd', guildMember =>{
// let welcomeRole = guildMember.guild.roles.cache.find(role => role.name === 'xxx');
// guildMember.roles.add(welcomeRole);
// guildMember.guild.channels.cache.get('xxx').send(`Welcome <@${guildMember.user.id}> to the server!`)
// });
client.login('xxx');
這是完整的錯誤:
(node:19418) DeprecationWarning: Passing strings for MessageEmbed#setAuthor is deprecated. Pass a sole object instead.
(Use `node --trace-deprecation ...` to show where the warning was created)
/Users/xxx/Desktop/DiscordBot/commands/userinfo.js:19
.addField('Discord User Since', `<t:${parseInt(target.user.createdTimestamp / 1000)}:R>`, true)
^
TypeError: Cannot read properties of undefined (reading 'createdTimestamp')
at Object.execute (/Users/xxx/Desktop/DiscordBot/commands/userinfo.js:19:68)
at Client.<anonymous> (/Users/xxx/Desktop/DiscordBot/main.js:32:34)
at Client.emit (node:events:527:28)
at MessageCreateAction.handle (/Users/xxx/Desktop/DiscordBot/node_modules/discord.js/src/client/actions/MessageCreate.js:26:14)
at module.exports [as MESSAGE_CREATE] (/Users/xxx/Desktop/DiscordBot/node_modules/discord.js/src/client/websocket/handlers/MESSAGE_CREATE.js:4:32)
at WebSocketManager.handlePacket (/Users/xxx/Desktop/DiscordBot/node_modules/discord.js/src/client/websocket/WebSocketManager.js:351:31)
at WebSocketShard.onPacket (/Users/xxx/Desktop/DiscordBot/node_modules/discord.js/src/client/websocket/WebSocketShard.js:444:22)
at WebSocketShard.onMessage (/Users/xxx/Desktop/DiscordBot/node_modules/discord.js/src/client/websocket/WebSocketShard.js:301:10)
at WebSocket.onMessage (/Users/xxx/Desktop/DiscordBot/node_modules/ws/lib/event-target.js:199:18)
at WebSocket.emit (node:events:527:28)
Node.js v18.0.0
這是我的文件的設置方式
任何幫助,將不勝感激!
.addField('Discord User Since', `<t:${parseInt(target.user.createdTimestamp / 1000)}:R>`, true)
代替
.addField('Discord User Since', `<t:${parseInt(target.createdTimestamp / 1000)}:R>`, true)
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.