javascript Discord.js自动提供角色的机器人

n9vozmp4  于 2023-04-19  发布在  Java
关注(0)|答案(2)|浏览(119)

我想知道如何在一个人加入Discord的服务器后自动给予他一个角色。我看的教程没有很好地解释这个问题。
以下是我迄今为止的一个片段:

const fs = require('node:fs')
const path = require('node:path')
const { Client, Collection, GatewayIntentBits } = require('discord.js')
const { token } = require('./config.json')

const client = new Client({ intents: [GatewayIntentBits.Guilds], partials: ["MESSAGE", "CHANNEL", "REACTION"] })
client.commands = new Collection()

const commandsPath = path.join(__dirname, 'commands')
const commandFiles = fs.readdirSync(commandsPath).filter(file => file.endsWith('.js'))
client.on('guildMemberAdd', guildMember => {
    guildMember.roles.add('ROLE ID')
    guildMember.guild.channels.cache.get('CHANNEL ID').send(`<@${guildMember.user.id}> joined as <@ROLE ID>!`)
})

有人知道我该怎么做吗?
谢谢!
我期待一个自动的Discord机器人,让某人在加入时扮演一个角色,但我什么也没有得到。似乎没有任何回应。

k2arahey

k2arahey1#

Discord已经将监听成员加入事件变成了一个特权意图,所以你必须添加它:

const client = new Client({ intents: [GatewayIntentBits.Guilds, GatewayIntentBits.GuildMembers], partials: ["MESSAGE", "CHANNEL", "REACTION"] });

请参阅指南中的此页。

o7jaxewo

o7jaxewo2#

原来我需要先缓存消息。我也改变了意图。

相关问题