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 服务器的新成员发送欢迎消息?