最新消息: 电脑我帮您提供丰富的电脑知识,编程学习,软件下载,win7系统下载。

addRole到提到的用户不起作用

IT培训 admin 7浏览 0评论

addRole到提到的用户不起作用

我正在尝试制作一个可以为用户添加特定角色的discord bot。

const Discord = require('discord.js');
const client = new Discord.Client();
client.on('ready', () => {
  console.log(`Logged in as ${client.user.tag}!`);
});

client.on('message', (message) => {
    let allowedRole = message.guild.channels.find(channel => channel.name === "Streamer");
    let gRole = message.guild.channels.find(channel => channel.name === "Stream 1");
    mention = message.mentions.users.first();
    let member = message.mentions.users.first();
  if (message.content === "addRole") {
      members.get(message.mentions.user.id).addRole(gRole);
  }
});

client.login('mytoken');

我希望机器人可以为特定的人添加角色

回答如下:

首先,您的第一个错误是,您在变量gRoleallowedRole中搜索了频道名称而不是角色名称。我更改了这两个变量,因此他们搜索角色而不是频道。

你定义了两次相同,一次提及一次和member = message.mentions.users.first()。因此,我删除了名为mention的变量并使用了变量member。我发现此变量的代码与变量的名称不匹配,因为您的代码返回了用户Object,我将其更改为成员Object(因为您的变量名为member)。

最后,我使用了您预定义的变量member并为其分配了角色gRole,因此您不必再次获取该成员。


尝试使用以下代码:

const Discord = require('discord.js');
const client = new Discord.Client();
client.on('ready', () => {
    console.log(`Logged in as ${client.user.tag}!`);
});

client.on('message', message => {
    const allowedRole = message.guild.roles.find(role => role.name === 'Streamer'); // isn't used
    const gRole = message.guild.roles.find(role => role.name === 'Stream 1');
    const member = message.mentions.members.first();
    if (message.content === 'addRole') {
        member.addRole(gRole);
    }
});

client.login('mytoken');

addRole到提到的用户不起作用

我正在尝试制作一个可以为用户添加特定角色的discord bot。

const Discord = require('discord.js');
const client = new Discord.Client();
client.on('ready', () => {
  console.log(`Logged in as ${client.user.tag}!`);
});

client.on('message', (message) => {
    let allowedRole = message.guild.channels.find(channel => channel.name === "Streamer");
    let gRole = message.guild.channels.find(channel => channel.name === "Stream 1");
    mention = message.mentions.users.first();
    let member = message.mentions.users.first();
  if (message.content === "addRole") {
      members.get(message.mentions.user.id).addRole(gRole);
  }
});

client.login('mytoken');

我希望机器人可以为特定的人添加角色

回答如下:

首先,您的第一个错误是,您在变量gRoleallowedRole中搜索了频道名称而不是角色名称。我更改了这两个变量,因此他们搜索角色而不是频道。

你定义了两次相同,一次提及一次和member = message.mentions.users.first()。因此,我删除了名为mention的变量并使用了变量member。我发现此变量的代码与变量的名称不匹配,因为您的代码返回了用户Object,我将其更改为成员Object(因为您的变量名为member)。

最后,我使用了您预定义的变量member并为其分配了角色gRole,因此您不必再次获取该成员。


尝试使用以下代码:

const Discord = require('discord.js');
const client = new Discord.Client();
client.on('ready', () => {
    console.log(`Logged in as ${client.user.tag}!`);
});

client.on('message', message => {
    const allowedRole = message.guild.roles.find(role => role.name === 'Streamer'); // isn't used
    const gRole = message.guild.roles.find(role => role.name === 'Stream 1');
    const member = message.mentions.members.first();
    if (message.content === 'addRole') {
        member.addRole(gRole);
    }
});

client.login('mytoken');

与本文相关的文章

发布评论

评论列表 (0)

  1. 暂无评论