首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >TypeError "member_mentions.addroles“不是一种功能

TypeError "member_mentions.addroles“不是一种功能
EN

Stack Overflow用户
提问于 2020-11-16 13:15:49
回答 1查看 29关注 0票数 0

我对此有问题,下面是脚本:

代码语言:javascript
运行
复制
const BaseCommand = require('../../utils/structures/BaseCommand');
const Discord = require(`discord.js`);

module.exports = class RoleCommand extends BaseCommand {
  constructor() {
    super('role', 'moderation', []);
  }
  async run(client, message, args) {
    const boss = `771038742105554954`;
    const test = `777879102296293416`;
    let member_mentions = message.mentions.members.first();
    if (args[1] === `test`){
      member_mentions.addroles(test).catch(console.error);
    }
    
  }
}

控制台错误:

boss\data\your_boss\src\commands\moderation\RoleCommand.js:13:23) (节点:9316) UnhandledPromiseRejectionWarning: TypeError: member_mentions.addroles不是RoleCommand.run上的函数(C:\Users\maksy\Desktop\超级bot测试\超级bot测试\ MessageEvent.run上的

)(C:\Users\maksy\Desktop\超级bot测试\超级bot测试\超级bot测试\ at Client.emit (events.js:315:20) (C:\Users\maksy\Desktop\超级bot测试\超级bot测试\ boss\data\your_boss\node_modules\discord.js\src\client\actions\MessageCreate.js:31:14) at Object.module.exports as MESSAGE_CREATE at WebSocketManager.handlePacket )(C:\User\maksy\Desktop\超级bot测试\超级bot测试\超级bot测试\您的boss\data\your_boss\node_modules\discord.js\src\client\websocket\WebSocketManager.js:384:31)boss\data\your_boss\node_modules\discord.js\src\client\websocket\WebSocketShard.js:444:22) (C:\User\maksy\Desktop\超级bot测试\超级bot测试\ WebSocketShard.onPacket at WebSocketShard.onMessage )(C:\Users\maksy\Desktop\超级bot测试\超级bot测试\超级bot测试\ WebSocket.onMessage上的boss\data\your_boss\node_modules\discord.js\src\client\websocket\WebSocketShard.js:301:10) (C:\Users\maksy\Desktop\超级WebSocketShard.onPacket)bot测试\超级bot测试\您的boss\data\your_boss\node_modules\ws\lib\event-target.js:125:16) at WebSocket.emit (events.js:315:20) (使用node --trace-warnings ...显示创建警告的位置)(节点:9316) UnhandledPromiseRejectionWarning:未处理的承诺拒绝。此错误起源于在异步函数中抛出而不带catch块,或者拒绝使用.catch()处理的承诺。若要在未处理的允诺拒绝时终止节点进程,请使用CLI标志--unhandled-rejections=strict (请参阅https://nodejs.org/api/cli.html#cli_unhandled_rejections_mode)。(拒绝id: 1) (节点:9316) DEP0018 DeprecationWarning:未处理的承诺拒绝被取消。在未来,承诺不处理的拒绝将使用非零退出代码终止Node.js进程。

它的javascript与Slappey

EN

回答 1

Stack Overflow用户

发布于 2020-11-16 16:58:44

Addroles是不正确的,有效的用法是roles.add(),我也给您留下了一个正确的脚本。

代码语言:javascript
运行
复制
let member = message.mentions.members.first();
let namerol = args.slice(1).join(' ');

let role = message.guild.roles.cache.find(r => r.name === namerol);
let perms = message.member.hasPermission("MANAGE_ROLES");

if(!perms) return message.channel.send("You don't have perms to use this command.");
if(!member) return message.reply('Please mention a user, to add role!');
if(!namerol) return message.channel.send('Please, mention the role to give the user.');
if(!role) return message.channel.send('Role not found!.');

miembro.roles.add(role)
票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/64858716

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档