当前位置: 首页 > 知识库问答 >
问题:

不一致js客户端。addMemberToRole不工作

茹正祥
2023-03-14

所以,我正在编写一个不和谐机器人,我希望它做的一件事是在特定条件下为成员分配角色。在查看了留档之后,特别是在这里,我想bot.addMemberToRole将是一个很好的命令。然而,当我运行它时,我得到了这个错误消息:

TypeError:bot.addMemberToRole不是函数

我很困惑,因为留档清楚地说这是一个函数。我尝试过bot.addMemberToRole(成员,角色);、addMemberToRole(成员,角色);和其他几个迭代。这是我最近的一次尝试:

const Discord = require('discord.js'); 
const bot = new Discord.Client();

bot.addMemberToRole(member, role, function(err){
    if(err){
        console.log(err);
    }
});

我也这样做过:

bot.addMemberToRole(member, role);

两者都给出了与上述相同的类型错误。

我不知道为什么它不起作用。我严格遵循了文档,传入的成员和角色变量是正确的类型,还有其他不一致的地方。js命令在我的bot中工作得很好。任何帮助都将不胜感激。

共有1个答案

严正诚
2023-03-14

您使用的是旧版本的文档,因此该功能不再存在。他们真的应该摆脱这些。您正在寻找GuildMember。添加角色(角色或字符串)

要向角色添加成员,需要GuildMember和角色对象(或角色名称)。假设你有用户对象和帮会对象(你的机器人有一个它加入的帮会/服务器列表,大多数活动都有他们关联的帮会),你可以使用Guild获得帮会成员。fetchMember(用户)。从那里,您可以使用addRole的字符串或基于对象的版本在GuildMember上添加角色。

下面是一个示例,说明如何在收到来自用户的消息时执行此操作,这非常简单,因为消息有一个关联的GuildMember。

const Discord = require('discord.js'); 
const bot = new Discord.Client();

bot.on('message', (message) => {
  const guildMember = message.member;
  guildMember.addRole('bot-added-role');
});
 类似资料:
  • 我有一个wsdl: 我想提交信息以获得回应。我创建了client.php如下: 但它在浏览器中显示错误: SoapFault对象([消息:受保护]= 我错在哪里?对此,可能的解决方案是什么? 编辑: 我已经创建了一个php文件:client。php 但它产生了这个错误: 调用错误:响应不是文本/xml类型:应用程序/wsdl xmlHTTP/1.1 200确定日期:星期二,9月17日2013 15

  • 我正试图通过hbc-twitter4j-v3获得推文。示例代码为:https://github.com/twitter/hbc/blob/master/hbc-example/src/main/java/com/twitter/hbc/example/Twitter4jSampleStreamExample.java为了在代理上启用身份验证,我还设置了主机、端口和身份验证的系统属性。但它显示出以下

  • 我使用Wildfly Swarm generator创建了一个演示应用程序,我想在其中添加MicroProfile Rest客户端。 我只是添加了依赖项: 并调用RestClient实例化代码: 即使我不添加上面的行,只添加依赖项,我的应用程序也会出现依赖项错误。如果执行 我想知道我是不是忘记了一些依赖?或者我的代码有错误。 我的代码可以在这个存储库中找到。 我知道它不会成功,因为用户模型之间存在

  • bot发送嵌入消息,但仅发送文本而不发送gif。我有一个单独的gif文件。json文件,因此当有人使用该命令时,会有不同的GIF。但由于某种原因,它不起作用。也许是因为天气原因。json文件?我真的不知道,请帮帮我。我的代码: 该代码为。json文件: (我知道,它只有一个gif。) 当两个文件都在一个文件夹中时,我在控制台中出现的错误:图片:https://i.stack.imgur.com/8

  • 我有一个非常简单的(现有的)web服务,我希望使用JDK8生成一个web服务客户机。 我使用的是纯JDK8工具链,这意味着我使用的是JDK8目录中的wsimport工具。 现在问题来了:JDK8中的wsimport工具生成的Java源代码不符合JDK8 Javadoc。正如您可能知道的那样,Javadoc工具在JDK8中变得更加严格。 请考虑以下简单模式: 为此,wsimport工具将生成Java

  • Erlang RabbitMQ客户端无法工作...(http://www.RabbitMQ.com/erlang-client-user-guide.html) 以下是我采取的步骤。 已创建模块amqp_example.erl 已创建deps文件夹 将rabbit-common和amqp_client放在deps文件夹中 使用erl_libs=deps erlc-o ebin amqp_examp