javascript - discord.js 机器人代码中出现意外的令牌错误
问题描述
所以我正在制作一个记录器,它基本上使用 discord.js 文档记录所有昵称角色或用户名更改等。有人帮我获取了这段代码,但是当我尝试运行它时,它给了我一个错误。编码:
const Discord = require("discord.js");
const bot = Discord.Client();
bot.on('guildMemberUpdate', function(oldMember, newMember) {
//declare changes
var Changes = {
unknown: 0,
addedRole: 1,
removedRole: 2,
username: 3,
nickname: 4,
avatar: 5
};
var change = Changes.unknown;
//check if username changed
if (newMember.user.username !== oldMember.user.username)
change = Changes.username;
//check if nickname changed
if (newMember.nickname !== oldMember.nickname)
change = Changes.nickname;
//check if avatar changed
if (newMember.user.displayAvatarURL() !== oldMember.user.displayAvatarURL())
change = Changes.avatar;
//log to console
switch (change) {
case Changes.unknown:
console.log('[' + newMember.guild.name + '][UPDUSR] ' + newMember.user.username + '#' + newMember.user.discriminator);
break;
case Changes.username:
console.log('[' + newMember.guild.name + '][UPDUSRNM] ' + oldMember.user.username + '#' + oldMember.user.discriminator +
' is now ' + newMember.user.username + '#' + newMember.user.discriminator);
break;
case Changes.nickname:
console.log('[' + newMember.guild.name + '][UPDUSRNK] ' + newMember.user.username + '#' + newMember.user.discriminator +
(oldMember.nickname != null ? ' (' + oldMember.nickname + ')' : '') +
(newMember.nickname != null ? ' is now ' + newMember.nickname : ' no longer has a nickname.'));
break;
case Changes.avatar:
console.log('[' + newMember.guild.name + '][UPDAVT] ' + newMember.user.username + '#' + newMember.user.discriminator);
break;
}
//post in the guild's log channel
var log = newMember.guild.channels.cache.find(channel => channel.name === CHANNEL);
if (log) {
switch (change) {
case Changes.unknown:
log.send('**[User Update]** ' + newMember);
break;
case Changes.username:
log.send('**[User Username Changed]** ' + newMember + ': Username changed from ' +
oldMember.user.username + '#' + oldMember.user.discriminator + ' to ' +
newMember.user.username + '#' + newMember.user.discriminator);
break;
case Changes.nickname:
log.send('**[User Nickname Changed]** ' + newMember + ': ' +
(oldMember.nickname != null ? 'Changed nickname from ' + oldMember.nickname +
+newMember.nickname : 'Set nickname') + ' to ' +
(newMember.nickname != null ? newMember.nickname + '.' : 'original username.'));
break;
case Changes.avatar:
log.send('**[User Avatar Changed]** ' + newMember);
break;
}
}
});
bot.login("token :) ");
我对 js 很陌生,所以这可能是一个非常愚蠢的错误
错误:
const token = this.client.token ?? this.client.accessToken;
SyntaxError: Unexpected token '?' ^
有人可以帮我解决吗?
解决方案
您需要将节点更新到 v16.6 或更高版本。请参阅此处的 discord.js v13 要求:https ://discord.js.org/#/docs/main/stable/general/welcome
需要 Node.js 16.6.0 或更高版本。
推荐阅读
- python - 使用 for 循环和预定义的第一个元素创建一个 python 列表
- spring - Spring SFTP Outbound Adapter - 确定文件何时发送
- java - webflux 中的异步请求不是异步的
- java - Qt 5.14.2 在 Android 上共享文件
- python-3.x - 如何从单引号转换带有双引号的python字典
- c# - 如何返回与登录系统的用户具有相同城市代码的用户列表?
- java - 如何在 logback.groovy 中为日志启用 traceId 以跟踪请求。应用光学
- sql - 将单个表中的行与不需要的结果连接起来
- javascript - 在Javascript中以非可变方式将字符串附加到数组
- magento - Magento 2 Cadence Dedup 文件名、目录名或卷标语法不正确