DiscordJS v13 发送到特定频道
DiscordJS v13 send to specific channel
所以我正在尝试将嵌入发送到与用作日志通道的命令不同的通道,但是我尝试了几种不同的方法,但是我现在所处的位置是我得到的错误是 qChann.send is not a function
它在 .send 部分大喊大叫。
这是 index.js 中引用的部分 是的,我知道从主文件中引用和导出是不好的做法,但我迫切需要解决方案
client.on('ready', async () => {
console.log('Online');
const qChann = client.channels.cache.get('960425106964885535');
console.log(qChann);
})
第二部分在命令文件调用中deposit.js
它使用 2 部分收集器 忽略来自 express 的日期和时间内容
我也在使用 mongoDB 并且它完全可以正常工作,尽管最后一个小声明让我很困难 qChann.send({embed: steelEmbed});
qChann 也包含在 const qChann = require('../index');
中
if (collected.content.toLowerCase() === 'steel') {
message.reply('Enter the amount youd like to deposit');
collector.stop('user entered steel');
const steelCollector = message.channel.createMessageCollector({
filter,
max: 1,
time: 1000 * 20,
});
steelCollector.on('collect', async (collected) => {
const steelAmount = collected.content;
await steelSchema.findOneAndUpdate({
$inc: {
steel: +steelAmount,
}
})
steelNewCount = await steelSchema.findOne({steelSchema}, {_id: 0});
const steelEmbed = new MessageEmbed()
.setColor('#4278f5')
.setTitle(`Ammo11 Stash Update`)
.setDescription(`Steel Count Updated`)
.addField(`Stash Updated`, `by <@${message.author.id}>`, true)
.addField(`Date Log`, `${date} / ${month} / ${year}`, true)
.addField(`Steel Deposited`, `${steelAmount}`, true)
.addField(`New Steel Count`, `${steelNewCount}`, true )
.setTimestamp()
.setFooter({text:'THIS MESSAGE IS NOT TO BE DELETED'});
qChann.send({embed: steelEmbed});
})
}
您需要定义通道然后导出它。你没有导出,所以你不能从另一个文件中获取它。
// outside of events
const qChann = client.channels.cache.get("960425106964885535")
module.exports = { qChann }
在您的主文件上进行此编辑后,您可以通过在命令文件中使用 require 导入来访问您的频道。
所以我正在尝试将嵌入发送到与用作日志通道的命令不同的通道,但是我尝试了几种不同的方法,但是我现在所处的位置是我得到的错误是 qChann.send is not a function
它在 .send 部分大喊大叫。
这是 index.js 中引用的部分 是的,我知道从主文件中引用和导出是不好的做法,但我迫切需要解决方案
client.on('ready', async () => {
console.log('Online');
const qChann = client.channels.cache.get('960425106964885535');
console.log(qChann);
})
第二部分在命令文件调用中deposit.js
它使用 2 部分收集器 忽略来自 express 的日期和时间内容
我也在使用 mongoDB 并且它完全可以正常工作,尽管最后一个小声明让我很困难 qChann.send({embed: steelEmbed});
qChann 也包含在 const qChann = require('../index');
if (collected.content.toLowerCase() === 'steel') {
message.reply('Enter the amount youd like to deposit');
collector.stop('user entered steel');
const steelCollector = message.channel.createMessageCollector({
filter,
max: 1,
time: 1000 * 20,
});
steelCollector.on('collect', async (collected) => {
const steelAmount = collected.content;
await steelSchema.findOneAndUpdate({
$inc: {
steel: +steelAmount,
}
})
steelNewCount = await steelSchema.findOne({steelSchema}, {_id: 0});
const steelEmbed = new MessageEmbed()
.setColor('#4278f5')
.setTitle(`Ammo11 Stash Update`)
.setDescription(`Steel Count Updated`)
.addField(`Stash Updated`, `by <@${message.author.id}>`, true)
.addField(`Date Log`, `${date} / ${month} / ${year}`, true)
.addField(`Steel Deposited`, `${steelAmount}`, true)
.addField(`New Steel Count`, `${steelNewCount}`, true )
.setTimestamp()
.setFooter({text:'THIS MESSAGE IS NOT TO BE DELETED'});
qChann.send({embed: steelEmbed});
})
}
您需要定义通道然后导出它。你没有导出,所以你不能从另一个文件中获取它。
// outside of events
const qChann = client.channels.cache.get("960425106964885535")
module.exports = { qChann }
在您的主文件上进行此编辑后,您可以通过在命令文件中使用 require 导入来访问您的频道。