【发布时间】:2022-05-10 01:02:29
【问题描述】:
我正在观看有关欢迎消息的 YouTube 教程。我复制了整个代码等。当我在 discord.js v13 上使用此代码时,它不起作用。当我在 discord.js v12 上使用此代码时,一切正常。加入新成员后的机器人发送欢迎消息。在 discord.js v13 上,机器人什么也没说,我在终端中也没有任何错误。有人可以帮我吗?我是编码的初学者,只有很少的教程知道。请帮忙。
这里是 index.js:
const Discord = require('discord.js');
const client = new Discord.Client({ intents: ["GUILDS", "GUILD_MESSAGES" , "GUILD_MESSAGE_REACTIONS" , "DIRECT_MESSAGE_REACTIONS" ] , partials: ["MESSAGE" , "CHANNEL" , "REACTION"] });
client.commands = new Discord.Collection();
const fs = require('fs');
const commandFiles = fs.readdirSync('./commands/').filter(file => file.endsWith('.js'))
for(const file of commandFiles){
const command = require(`./commands/${file}`)
client.commands.set(command.name, command)
}
const { prefix, token } = require('./config.json')
const welcome = require('./commands/welcome'); // Add This
client.once('ready', () => {
console.log('Ready.')
welcome(client) // Add This
})
client.on('message', message => {
if(!message.content.startsWith(prefix)||message.author.bot) return
const args = message.content.slice(prefix.length).split(/ +/)
const command = args.shift().toLowerCase()
if(command === 'ping'){
client.commands.get('ping').execute(message, args)
} else if(command === 'yt'){
client.commands.get('yt').execute(message, args)
} else if(command === 'purge'){
client.commands.get('purge').execute(message, args)
}
})
client.login(token)
这里是welcome.js:
module.exports = (client) => {
// Welcome Message Command
const welcomechannelId = '' //Channel You Want to Send The Welcome Message
const targetChannelId = `` //Channel For Rules
client.on('guildMemberAdd', (member) => {
console.log(member)
const welocmemessage = ` <@${member.id}> Welcome To Our Server,
Please Read ${member.guild.channels.cache.get(targetChannelId).toString()}
Have A Nice Time!`
const channel = member.guild.channels.cache.get(welcomechannelId)
channel.send(welocmemessage)
})
// Leave Message Command
const leavechannelId = '' //Channel You Want to Send The Leave Message
client.on('guildMemberRemove', (member) => {
const leavemessage = `<@${member.id}> Just Left Server.`
const channel1 = member.guild.channels.cache.get(leavechannelId)
channel1.send(leavemessage)
})
}
这里是 config.json:
{
"token": "Your-Token",
"prefix": "+"
}
【问题讨论】:
-
您是否仔细检查过您的机器人是否可以访问Server Members Intent?
-
c++ 在哪里发挥作用?
标签: javascript node.js discord.js bots