【问题标题】:Discord Bot | New to coding => Auto-Role不和谐机器人 |编码新手 => 自动角色
【发布时间】:2021-09-03 22:36:31
【问题描述】:

我对编码很陌生。我正在尝试制作一个不和谐的机器人,当有人加入不和谐时它会给出一个角色,但它不起作用,我现在很迷茫该怎么做。

这是加入服务器时自动角色的代码。

client.on('guildMemberAdd', member => {    
    console.log('User ' + member.user.username + 'has joined the server!') 
    var role = member.guild.roles.find('name', 'Members'); 
    member.addRole(role)
});

这是我为机器人获得的全部代码(不多,现在我只是让机器人打开)。

const Discord = require("discord.js"); //Library
const config = require("./config.json"); // config file
const client = new Discord.Client(); //Client creation

client.on('ready', () => { //Bot launched
    console.log(`Launched as a bot: ${client.user.tag}!`);
});

client.on('guildMemberAdd', member => {
    console.log('User ' + member.user.username + 'has joined the server!') 
    var role = member.guild.roles.find('name', 'Members'); 
    member.addRole(role)
});

client.login(config.BOT_TOKEN); //Connect to bot

【问题讨论】:

  • 你能显示你得到的错误,或者你做了什么调试吗?尝试记录您的值并查看哪些未按预期返回
  • 您没有提供太多可使用的信息,您能否提供您正在使用的当前 discord.js 版本以及您遇到的错误
  • 也许您忘记勾选 discord 开发者门户中的复选框?转到您的应用程序 > 机器人 > 向下滚动 > 检查服务器成员意图

标签: node.js discord.js


【解决方案1】:

第一

.addRole() 在最新的 discord.js 版本中已被弃用。使用它为成员添加角色。

client.on('guildMemberAdd', member => {
    
console.log('User ' + member.user.username + 'has joined the server!') 

let role = member.guild.roles.cache.find(x => x.name == 'yourrolenamehere'); 

member.roles.add(role)

});

第二

转到discord developer portal 并从Privileged Gateway Intents 启用Server Members Intent,以便跟踪成员的更改(加入、离开、更新等)。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2020-12-15
    • 2019-02-02
    • 2021-01-15
    • 1970-01-01
    • 2021-01-06
    • 2021-01-22
    • 1970-01-01
    • 2021-05-22
    相关资源
    最近更新 更多