discord.js 欢迎留言

Posted

技术标签:

【中文标题】discord.js 欢迎留言【英文标题】:discord.js Welcome message 【发布时间】:2021-06-03 16:01:58 【问题描述】:

是的,你好,我正在制作一个 discord.js 机器人,我目前有这个代码,它拒绝发送消息(它也不会出错


  let chx = db.get(`welchannel_$member.guild.id`);

  if (chx === null) 

    return;

  

  

   let data = await canva.welcome(member,  link: "https://i.pinimg.com/originals/f3/1c/39/f31c39d56512dc8fbf30f9d0fb3ee9d3.jpg" )

 

    const attachment = new discord.MessageAttachment(

      data,

      "welcome-image.png"

    );

  

  

  client.channels.cache.get(chx).send("Welcome to our Server " + member.user.username, attachment);

);

然后我有这个代码的welcome.js,但它没有发送,我不知道为什么......

const db = require("quick.db")

module.exports = 
  name: "setwelcome",
  category: "moderation",
  usage: "setwelcome <#channel>",
  description: "Set the welcome channel",
  run: (client, message, args) => 
    
    let channel = message.mentions.channels.first()
    
    if(!channel) 
      return message.channel.send("Please Mention the channel first")
    
    
    //Now we gonna use quick.db
    
    db.set(`welchannel_$message.guild.id`, channel.id)
    
    message.channel.send(`Welcome Channel is set to $channel`)
  
```

【问题讨论】:

chx到底返回了什么,能不能登录看看? chx 是您选择的频道的频道 ID,其他为什么它会更长并且是 welchannel_ 但是 welchannel_ID 不是有效的雪花。如果chx 不是雪花,那么Channels#get 将不会返回通道对象 那么我将如何进行这项工作- 通过让chx 返回一个 id 【参考方案1】:

这是我从我的不和谐机器人修改的代码(只是为了保持通用性)。

this.client.on('ready', () => 
    if(botChannelID)
        this.client.channels.fetch(botChannelID).then(ch => 
            ch.send(`Welcome message here.`);
        ).catch(e => 
            console.error(`Error: $e`);
        );
    
    //Other stuff. Blah blah blah...
);

【讨论】:

【参考方案2】:

只是猜测你没有在 CHX 上检查 undefined

 if (chx === null && chx === undefined) 

    return;

  

【讨论】:

有什么错误吗?您可以尝试在某些部分上使用.catch 或在您的某些变量上使用console.log 吗?

以上是关于discord.js 欢迎留言的主要内容,如果未能解决你的问题,请参考以下文章

(Discord 机器人)当用户加入 Discord 服务器(discord.js)时,如何发送欢迎消息?

检测欢迎消息 discord.js

Discord.js 服务器欢迎

如何在 discord.js 上为 discord 服务器的新成员发送欢迎消息?

Discord.js 的欢迎消息 - “无法读取未定义的属性 'get'”

将欢迎消息嵌入到 discord.js