Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/472.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript 当有人在玩游戏时,如何自动赋予角色?V12不和谐js_Javascript_Node.js_Discord_Discord.js - Fatal编程技术网

Javascript 当有人在玩游戏时,如何自动赋予角色?V12不和谐js

Javascript 当有人在玩游戏时,如何自动赋予角色?V12不和谐js,javascript,node.js,discord,discord.js,Javascript,Node.js,Discord,Discord.js,我最近决定将我的discord js库升级到v12。 我想当有人开始打高尔夫(和你的朋友一起打高尔夫)时,他会得到一个角色。但我不能在discord js v12中编程。你能帮助我吗? 以下是我在v11中的代码: bot.on("presenceUpdate", (oldMember, newMember) => { let guild = newMember.guild; let playRole = guild.roles.get("633

我最近决定将我的discord js库升级到v12。 我想当有人开始打高尔夫(和你的朋友一起打高尔夫)时,他会得到一个角色。但我不能在discord js v12中编程。你能帮助我吗? 以下是我在v11中的代码:

bot.on("presenceUpdate", (oldMember, newMember) => {
    let guild = newMember.guild;
    let playRole = guild.roles.get("633589794357641235");
    if (!playRole) return;

    if (newMember.user.presence.game && newMember.user.presence.game.name === "Golf With Your Friends") {
        newMember.addRole(playRole);
    }
});

以下是discordjs.guide中关于从v11更新到v12的指南:

您也可以在此处查看官方文件:

首先,他们将参数更新为
oldPresence
newPresence

因此:

client.on(“presenceUpdate”(旧状态、新状态)=>{
//....
}
其次,他们将集合从
guild.roles
更改为
guild.roles.cache

constplayrole=guild.roles.cache.get(“633589794357641235”);
第三,if语句使用了
newMember.user.presence
,现在它只是
newPresence
,游戏已经被修改为
活动
类,并且不再有
.game
,因此您必须循环
。活动
数组:

if(newPresence.find(e=>e.name==“与朋友一起打高尔夫”)){
//...
}
最后,他们将
.addRole
移动到
.roles.add

newPresence.member.roles.add(扮演角色);
完整代码:

bot.on(“presenceUpdate”(旧状态、新状态)=>{
让guild=oldPresence.guild;
//guild.roles=>guild.roles.cache
让playRole=guild.roles.cache.get(“633589794357641235”);
如果(!playRole)返回;
if(newPresence.find(e=>e.name==“与朋友一起打高尔夫”)){
newPresence.member.roles.add(playRole);
}
});
错误是if(newPresence.find(e=>e.name==“Testing”)){ ^

TypeError:newPresence.find不是函数


const Discord = require('discord.js')

const client = new Discord.Client()

client.on('ready', () => {
    console.log('bot sucessfully logged')
})

client.on("presenceUpdate", (oldPresence, newPresence) => {
    let guild = oldPresence.guild;
    //guild.roles => guild.roles.cache
    let playRole = guild.roles.cache.get("837208147302154252");
    if (!playRole) return;

    if (newPresence.find(e => e.name === "Testing")) {
        newPresence.member.roles.add(playRole);
    }
});

client.login("token")