javascript - 有人玩 Discord.js v12 时的自动角色
问题描述
presenceUpdate
我想在有人玩时添加一个使用事件的角色
但是每当我尝试时,我都会在 discord.js v12 中遇到此错误
TypeError: Cannot read property 'activities' of undefined
我究竟做错了什么?
这是我的代码:
const yetkiler = require('../yetkiler.json');
module.exports = (oldPresence, newPresence) => {
const guild = newPresence.guild;
const oyunda = guild.roles.cache.find(role => role.name === yetkiler.oyunda);
const yayında = guild.roles.cache.find(role => role.name === yetkiler.yayında);
const dinliyor = guild.roles.cache.find(role => role.name === yetkiler.dinliyor);
const eskiOyun = oldPresence.presence.activities && [0, 1, 2, 3].includes(oldPresence.presence.activities.type) ? true : false;
const yeniOyun = newPresence.presence.activities && [0, 1, 2, 3].includes(newPresence.presence.activities.type) ? true : false;
if (!eskiOyun && yeniOyun) { //
if(newPresence.presence.activities.type === 0){
newPresence.roles.add(oyunda)
.then(() => console.log(`${oyunda.name} added to ${newPresence.user.tag}.`))
.catch(console.error);
}
else if(newPresence.presence.activities.type === 1){
newPresence.roles.add(yayında)
.then(() => console.log(`${yayında.name} added to ${newPresence.user.tag}.`))
.catch(console.error);
}
else if(newPresence.presence.activities.type === 2){
newPresence.roles.add(dinliyor)
.then(() => console.log(`${dinliyor.name} added to ${newPresence.user.tag}.`))
.catch(console.error);
}
} else if (eskiOyun && !yeniOyun) { //
newPresence.roles.remove(oyunda) && newPresence.roles.remove(yayında) && newPresence.roles.remove(dinliyor)
.then(() => console.log(`${playingRole.name} removed from ${newPresence.user.tag}.`))
.catch(console.error);
}
};
解决方案
推荐阅读
- powershell - Powershell .addDays()
- javascript - 如何使用Javascript更新深度嵌套的未知大小对象数组中的属性?
- python - 在 Django 中,| 当我将两个查询集合并在一起时,运算符正在创建重复项
- node.js - 如何使用 Node.js 在 Firebase 中执行加入?
- wordpress - 响应 wordpress 插件中的自定义 URL
- sql - 查询不使用多对多关系上的索引
- python - 我正在尝试解决其他首字母缩略词
- git - 如何将存储库根目录下的文件放入新目录?
- c# - 如何在 Xamarin Forms 的 Master-Detail 详细信息页面下添加网格视图?
- amazon-web-services - 无法使用公共 IP ping AWS EC2 实例