簡體   English   中英

使用 discord.js 創建新頻道時發送問候消息?

[英]Send a greeting message when new channel created using discord.js?

async function CreateChannel(msg,channelName){
      return await Promise.resolve(msg.guild.channels.create(channelName,{parent: 'PARENT_ID'})
      .then((msg.channel.send(`${channelName} named channel created !!`)))
      .catch(console.error));
}

function SendMessageToChannel(msg,message,channelName){

      const channel = msg.guild.channels.cache.find(ch => ch.name === channelName);
      if(!channel) return;
      channel.send(message);
}

我使用上述兩個函數針對特定命令創建通道

例如: !channel surf使用 surf 創建一個新的頻道名稱。

我想要的是在創建頻道時我想自動創建一條問候消息,例如

Welcome to Channel!

但是我所面臨的沒有通過SendMessageToChannel中的代碼發送,因為消息行會的緩存沒有更新

幫我解決這個問題!!

先感謝您

我的問題的解決方案

async function CreateChannel(msg,channelName){
const channelCheck = msg.guild.channels.cache.find(ch => ch.name == channelName);
if(!channelCheck){
    return await Promise.resolve(msg.guild.channels.create(channelName,{parent: '706748967790182401'})
    .then(() => {
        msg.channel.send(`${channelName} named channel created !!`);
        SendMessageToChannel(msg,`Welcome to the ${channelName}!`,channelName);
    })
    .catch(console.error));
}
else{
    msg.reply(`${channelName} already exists!`);
}
}

而不是在CreateChannel之后調用SendMessageToChannel我在 Channel Creation promise 被解決時調用了所以在創建通道之后可以立即發送問候/消息。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM