首页 > 解决方案 > 不和谐.js | 如何制作在用户加入时发送用户信息的代码?

问题描述

我正在尝试制作一个代码,在用户加入时自动发送用户头像、用户名、ID、帐户创建日期、加入服务器日期和状态

它看起来像这样

module.exports = (Discord, client, message) => {

    const ChannelID = ('731452498761613366');


    const userEmbed = new Discord.MessageEmbed()
    .setTitle(`Here is what I found about the kid`)
    .setThumbnail(displayAvatarURL())
    .addField('Username and tag:', )
    .addField('User ID:', )
    .addField('Account created:', )
    .addField('Joined the server at:', )
    .addField('User status:', )
    .setColor('5E61AB')



    guildMember.guild.channels.cache.get(ChannelID).send(userEmbed).catch(err =>  console.log(err));

}

不知道在后面放什么,但:我知道.tag,和. 不知道在前面放什么。我也不使用,因为我有一个名为 events 的特定文件夹。抱歉,如果我的问题难以理解,或者我在问一个不好的问题或任何问题。有谁知道我怎样才能做到这一点?.id.createdAt .joinedAt.presence.status.client.on

标签: javascriptnode.jsdiscord.js

解决方案


您应该guildMemberAdd为此使用事件。这很简单:

第一的:

创建一个名为的新文件(或将其添加到定义所有事件的文件中)guildmMemberAdd.js

在那之后

你可以event这样定义:

代码,如果您使用的是command handler

// The order of the parameters may differ
module.exports = (Discord, member) => {
  // your code here
}

代码,如果你在你的定义所有事件main file

client.on('guildMemberAdd', (member) => {
  // your code here
});

现在您已经介绍了这一点,您可以创建您的embed (这将适用于我上面显示的两个选项)

const newMemberEmbed = new Discord.MessageEmbed()
    .setTitle(`Here is what I found about the kid`)
    .setThumbnail(member.user.displayAvatarURL())
    .addField(`Username and tag: ${member.displayName} | ${member.user.tag}`, )
    .addField(`User ID: ${member.id}`, )
    .addField(`Account created: ${member.user.createdAt}`, )
    .addField(`Joined the server at: ${member.joinedAt}`, )
    .addField(`User status: ${member.presence.status}`, )
    .setColor('5E61AB')

如果你已经完成了,你就准备好sendembed

const ChannelID = ('731452498761613366');

member.guild.channels.cache.get(ChannelID).send(newMemberEmbed).catch(err =>  console.log(err));

希望这有效:)


参考:


推荐阅读