【发布时间】:2020-01-06 02:41:51
【问题描述】:
所以我正在尝试更改加入服务器的用户的角色,但它一直说 addRole 不是函数。我目前使用的是 Discord.js 版本 11.5.1,所以我不应该使用 guildMember.roles.add 对吗?我不知道为什么这不起作用,我在网上找不到任何东西可以帮助解决这个问题。如果您需要更多信息,请告诉我。
代码如下:
var Discord = require('discord.io');
var logger = require('winston');
var auth = require('./auth.json');
var mongo = require('mongodb');
var db = require('./db.js');
var serverIds = require('./serverIds.js');
// Configure logger settings
logger.remove(logger.transports.Console);
logger.add(new logger.transports.Console, {
colorize: true
});
logger.level = 'debug';
// Initialize Discord Bot
var bot = new Discord.Client({
token: auth.token,
autorun: true
});
bot.on('guildMemberAdd', (guildMember) => {
try {
guildMember.addRole('663290242073100309');
} catch (e) {
console.log(guildMember);
}
});
这是终端中的错误:
Nicks-MacBook-Pro-2:pokemon victory road bot nick$ node bot.js
Connected
{"message":"Connected","level":"info"}
{"message":"Logged in as: ","level":"info"}
{"message":"Professor Magnolia - (663188794740178957)","level":"info"}
TypeError: guildMember.addRole is not a function
at DiscordClient.<anonymous> (/Users/nick/Desktop/Pokemon Victory Road Bot/bot.js:65:21)
at DiscordClient.emit (events.js:210:5)
at emit (/Users/nick/Desktop/Pokemon Victory Road Bot/node_modules/discord.io/lib/index.js:1580:14)
at DiscordClient.handleWSMessage (/Users/nick/Desktop/Pokemon Victory Road Bot/node_modules/discord.io/lib/index.js:1904:11)
at WebSocket.emit (events.js:210:5)
at Receiver.ontext (/Users/nick/Desktop/Pokemon Victory Road Bot/node_modules/ws/lib/WebSocket.js:841:10)
at /Users/nick/Desktop/Pokemon Victory Road Bot/node_modules/ws/lib/Receiver.js:536:18
at Receiver.applyExtensions (/Users/nick/Desktop/Pokemon Victory Road Bot/node_modules/ws/lib/Receiver.js:371:5)
at /Users/nick/Desktop/Pokemon Victory Road Bot/node_modules/ws/lib/Receiver.js:508:14
at Receiver.flush (/Users/nick/Desktop/Pokemon Victory Road Bot/node_modules/ws/lib/Receiver.js:347:3)
【问题讨论】:
标签: javascript discord discord.js