每次发送不同的欢迎信息

Sending a different welcome message every time

代码是每次有新会员登录服务器时发送不同的欢迎信息(DM信息)。

client.on('guildMemberAdd', ReBeL => {
  var bel = ["Welcome 1 @", "Welcome 2  @!", "Welcome 3 @"]
  var moon = bel[Math.floor(Math.random() * bel.length)];
  moon = moon.replace('@', ReBeL.user)
  setTimeout(function() {
    member.createDM().then(function(channel) {
      return channel.send(moon)
    }).catch(console.error)
  }, 4000)
});

这是错误:

member.createDM().then(function (channel) {
^

ReferenceError: member is not defined
at Timeout._onTimeout (/home/cabox/workspace/bot.js:10:4)
at ontimeout (timers.js:498:11)
at tryOnTimeout (timers.js:323:5)
at Timer.listOnTimeout (timers.js:290:5)

用这种方法,很管用。我测试了。

client.on('guildMemberAdd', member => {
var ReBeL = member.user.username;
var bel = ["Welcome 1 @","Welcome 2  @!","Welcome 3 @"]
var moon = bel[Math.floor(Math.random() * bel.length)];
moon = moon.replace('@', ReBeL)
setTimeout(function() {
member.createDM().then(function (channel) {
return channel.send(moon) 
 }).catch(console.error)
 },4000)});

您也可以添加服务器和成员数。你需要这样做:

client.on('guildMemberAdd', member => {
var ReBeL = member.user.username;
var ReBeLserver = member.guild.name;
var ReBelcount = member.guild.memberCount;
var bel = [
    "Welcome @, we hope you will enjoy staying in @server ",
    "Welcome @ you are #th member! We hope you will enjoy staying in @server"
]
var moon = bel[Math.floor(Math.random() * bel.length)];
moon = moon.replace('@', ReBeL)
moon = moon.replace('@server', ReBeLserver)
moon = moon.replace('#', ReBelcount)
setTimeout(function() {
member.createDM().then(function (channel) {
return channel.send(moon) 
 }).catch(console.error)
 },4000)});

这是一个嵌入的例子,我也添加了鉴别器。

client.on('guildMemberAdd', member => {
var user = member.user.username;
var server = member.guild.name;
var count = member.guild.memberCount;
var discriminator = member.user.discriminator;
var bel = [
    "Welcome @#$, we hope you will enjoy staying in @server ",
    "Welcome @#$ you are -th member! We hope you will enjoy staying in @server"
]
var welcome = bel[Math.floor(Math.random() * bel.length)];
welcome = welcome.replace('@', user)
welcome = welcome.replace('@server', server)
welcome = welcome.replace('-', count)
welcome = welcome.replace('$', discriminator)
setTimeout(function() {
member.createDM().then(function (channel) {
    let welcomeembed = new Discord.RichEmbed()
    .setColor(`RANDOM`)
    .setDescription(welcome)
return channel.send(welcomeembed) 
 }).catch(console.error)
 },100)});