【问题标题】:How can I add user to role in this script? Discord.js如何在此脚本中将用户添加到角色?不和谐.js
【发布时间】:2020-07-27 17:16:34
【问题描述】:

我在 JS 中有脚本首先检查:

  1. 如果用户已获得/担任角色
  2. 下一个如果给定角色的 id = 728446135441817702
  3. 然后必须将用户添加到 id = 728422773558607926 的下一个角色

我的脚本:

client.on("guildMemberUpdate", function (oldMember, newMember) {          //1 part
 if (newMember.roles.cache.has('728446135441817702')) {                   //2nd part
  //3rd part; here add user to next role (i try but i dont know how to do this in this case) 
}})

感谢您的帮助!

【问题讨论】:

    标签: discord discord.js


    【解决方案1】:
    client.on("guildMemberUpdate", (oldMember, newMember) => {
        if (newMember.roles.cache.has("728446135441817702")) {
            newMember.roles.add("728422773558607926");
        };
    });
    

    【讨论】:

    • 但是我还有一个问题......它可以检查用户是否在服务器 #1 上具有排名,如果是,则在服务器 #2 上添加排名?
    • 是的,有可能。
    • 我尝试用你的代码来做这件事。第二部分是来自 #1 服务器的角色,第三部分是来自 #2 服务器的角色,我收到错误
    • "(node:29487) UnhandledPromiseRejectionWarning: TypeError [INVALID_TYPE]: 提供的角色不是角色、雪花或数组或角色或雪花的集合。"有什么想法吗?
    • 您传入的参数无效。它应该是一个角色对象、雪花(这是角色的 ID,作为字符串)或角色对象/雪花的数组/集合。
    【解决方案2】:

    我建议您阅读Discord.JS Documentation - 大多数内容都包含在其中。

    我认为您需要的代码是:

    newMember.roles.add('ID');
    

    如果这不起作用,请发表评论,我将更改此答案中的代码 - 尽管它应该有效。如果这对您有帮助,请考虑接受此作为答案和/或投票。

    来自评论:

    client.on("guildMemberUpdate", function (oldMember, newMember) {
      if(newMember.guild.id === "GUILD_ID_1"){
        var guildMember = client.guilds.cache.get("GUILD_ID_2").members.cache.get(newMember.id)
        guildMember.roles.add("ROLE_ID")
      }
    )}
    

    与往常一样,该代码可能存在小错误,如果有,请在下方留言,我会更正。

    【讨论】:

    • 但是我还有一个问题......它可以检查用户是否在服务器 #1 上具有排名,如果是,则在服务器 #2 上添加排名?
    • 是的。请查看上面的 BOTTOM 代码块,我已在其中包含该代码。
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2021-11-25
    • 2020-12-25
    • 2020-04-04
    • 2021-05-31
    相关资源
    最近更新 更多