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

不和谐jsmessage.guild总是nullmessage.member

司空学智
2023-03-14

我是个不和谐的新手。js和我有一个问题,我想移动到另一个语音频道的用户消息我的机器人。我已经尝试了很多东西,每次当我想从msg获取成员时,它都是空的,msg。公会也是空的,不知道为什么

client.on('message', msg => {
    var params = msg.content.split(" ");
    if (params[0] === "!join" && params[1] != null) {
      channel = client.channels.cache.find(c => c.name == params[1] && c.type == "voice");
      member = msg.guild.members.get(msg.authorID);  
      member.voice.setChannel(channel)
    }
});

我也尝试过,但仍然:TypeError:无法读取null的属性'成员'

client.on("message", async message => {
  var params = message.content.split(" ");
  if (params[0] === "!join" && params[1] != null) {
    channel = client.channels.cache.find(c => c.name == params[1] && c.type == "voice");
    message.guild.members.fetch(message.authorID)
  }
})

共有3个答案

徐淳
2023-03-14

首先,也许尝试msg.guild.channels.cache.find而不是客户端,因为您正在公会中搜索通道,而不是客户端。=

强志学
2023-03-14

在私人信息中发送给双方的消息将不具有公会属性,也有可能是部分消息,但它仅在选择加入时有效。

钮鸿煊
2023-03-14

在最新版本(v12)中,您应该

message.guild.members.fetch(id)

请参阅本指南和类似的堆栈溢出柱

另外,使消息事件异步,并使用“message”作为参数

客户端。打开(“消息”,异步消息=

请参阅此处的文档

 类似资料:
  • 我已经创建了一个bot,它现在在我的discord服务器中,使用下面的代码。 我的问题是,一旦我在与bot不和谐的聊天中,我如何调用命令让bot运行代码,为用户列表收集csv?我不确定如何调用机器人,一旦它在聊天/服务器中获得列表。

  • 如何检查消息中添加了哪些反应?我想创建一个带有一些反应的命令(!roles),如果您单击其中一个,您将获得一个角色。我试着这样做: 但它不起作用。

  • 我做了很多关于如何阻止一个频道使用命令的研究,比如Rythm的黑名单,但是我没有找到,有人能帮我吗?

  • 您好,我尝试使用HttpsConnection从不和谐服务器获取响应,但服务器响应错误403,我不知道为什么,我在上面的JDK 13中尝试了这段代码并且有效,但我需要JDK 8,但在这个版本上由于某种原因它不起作用。 错误: 线程“main”java.io.IOException中的异常:服务器返回HTTP响应代码:403用于URL:https://discord.com/api/v9/users

  • 我目前正在编写一个discord bot反应角色命令。 一切都很顺利,但我有一个问题。 当我启动机器人并运行创建嵌入的命令时,一切都很好。问题是当我对信息做出反应时,它并没有给我这个角色。这是我的代码:

  • 我正在尝试使用discord删除已创建的角色,该角色使用的是。js。 终端中的错误显示: DiscordAPIError:缺少权限 虽然我已经给了我的机器人所有权限。 代码: