【发布时间】:2020-04-21 15:31:08
【问题描述】:
我已经浏览了 Stack Overflow 上的所有相关主题并尝试了所有方法,但代码无法正常工作 :) 因此,我正在关注有关如何在 Discord 上使用机器人使成员静音的 YouTube 教程,这是错误:
TypeError: person.removeRole is not a function
at Client.<anonymous> (C:\Users\hp\Documents\discordBot\Codes\index.js:39:14)
at Client.emit (events.js:311:20)
at MessageCreateAction.handle (C:\Users\hp\Documents\discordBot\Codes\node_modules\discord.js\src\client\actions\MessageCreate.js:31:14)
at Object.module.exports [as MESSAGE_CREATE] (C:\Users\hp\Documents\discordBot\Codes\node_modules\discord.js\src\client\websocket\handlers\MESSAGE_CREATE.js:4:32) at WebSocketManager.handlePacket (C:\Users\hp\Documents\discordBot\Codes\node_modules\discord.js\src\client\websocket\WebSocketManager.js:386:31)
at WebSocketShard.onPacket (C:\Users\hp\Documents\discordBot\Codes\node_modules\discord.js\src\client\websocket\WebSocketShard.js:436:22)
at WebSocketShard.onMessage (C:\Users\hp\Documents\discordBot\Codes\node_modules\discord.js\src\client\websocket\WebSocketShard.js:293:10)
at WebSocket.onMessage (C:\Users\hp\Documents\discordBot\Codes\node_modules\ws\lib\event-target.js:120:16)
at WebSocket.emit (events.js:311:20)
at Receiver.receiverOnMessage (C:\Users\hp\Documents\discordBot\Codes\node_modules\ws\lib\websocket.js:801:20)
这是我的代码,如果有必要,其他部分被删除,我可以把它们放在这里。
case "mute":
let person = m.mentions.members.first() || m.guild.members.fetch(args[1]); //m.guild.member(
//console.log(person);
if (!person) return m.reply("I don't know who this is, bro.");
let mainrole = m.guild.roles.cache.find((role) => role.name === "Main");
let muterole = m.guild.roles.cache.find((role) => role.name === "Mute");
if (!muterole) return m.reply("Sorry they simply don't exsit.");
let time = args[2];
console.log(time);
if (!time) return m.reply("That's not a time. How did you even do it?");
person.removeRole(mainrole.id);
person.addRole(muterole.id);
// person.remove("Main");
// person.add("Mute");
m.channel.send(
`@${person.user.tag} has now been mute for ${ms(ms(time))}`
);
setTimeout(() => {
person.addRole(mainRole.id);
person.removeRole(muterole.id); //switching the order and see how that looks like
m.channel.send(`@${person.user.tag} has been unmuted, good job!`);
}, ms(time));
不知道是不是ms模块或者discord.js的导入有问题? 请发送帮助! 谢谢!
【问题讨论】:
-
温迪,你承认@Syntle 解决了你的问题,习惯上接受他的回答。所以其他人知道这个问题不再开放。(点击他答案上的灰色复选标记)
标签: bots discord discord.js