web-dev-qa-db-ja.com

discord.jsを使用してdiscordサーバーに参加するときのウェルカムメッセージ

私はnode.jsとdiscord.jsを使用してディスコードボットを作成しています。現在、ユーザーがディスコードサーバーに参加したときにカスタムウェルカムメッセージが送信されるように作成しています。これが私のコードです:

bot.on("guildMemberAdd" ,(message, member) => {
    message.channel.send("Welcome")
});

これはエラーです:

message.channel.send("Welcome")
                ^

TypeError: Cannot read property 'send' of undefined

ご協力いただきありがとうございます。

2
HolyJewelGold

documentation を読んだ場合、messageパラメータはなく、memberのみです。最初に ギルドのチャンネルを取得 IDにする必要があります。

次のようなものを試してください:

bot.on('guildMemberAdd', member => {
    member.guild.channels.get('channelID').send("Welcome"); 
});
2
Skwal
client.on('guildMemberAdd', member => {
client.on('message', 


var role = member.guild.roles.find('name', 'Beginner role name'); // Variable to get channel ID
member.addRole(role); // Adds the default role to members

member.guild.channels.get('JOIN/LEAVE Channel ID').send({embed: {
color: 3447003,
title: "**SERVER NAME** Welcome Bot!",
url: "WEBSITE URL",
description: "Welcome *" + member + "* to the **Server name** discord server!",
fields: [{
    name: "Information",
    value: "Some info on the server"
  }
],
timestamp: new Date(),
footer: {
  icon_url: client.user.avatarURL,
  text: "© NAME OF SERVER 2018 - 2019"
}
}}); });

実際に機能するコードは次のとおりです。

0
iCodeAlot

または埋め込みにこれを使用します。

client.on('guildMemberAdd', msg => { // Commands Go Inside The client.on('message', 
msg => )
msg.guild.channels.get('484648408372740099').send({embed: {
color: 3447003,
author: {
  name: client.user.username,
  icon_url: client.user.avatarURL
},
title: "Welcome To ()!",
url: "https://districtservices.net",
description: "@MEMBER",
fields: [{
    name: "Fields",
    value: "They can have different fields with small headlines."
  },
  {
    name: "Masked links",
    value: "You can put [masked links](http://google.com) inside of rich embeds."
  },
  {
    name: "Markdown",
    value: "You can put all the *usual* **__Markdown__** inside of them."
  }
],
timestamp: new Date(),
footer: {
  icon_url: client.user.avatarURL,
  text: "© Example"
}

}}); });

0
lol