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

不一致js,无法读取null的属性“user”

巢嘉志
2023-03-14

我有个麻烦,我一点也不懂。该函数在我的服务器上工作,而在另一个服务器上不工作。这是我的密码:

const user = message.author;
let servericon = message.guild.iconURL;
let serverembed = new Discord.MessageEmbed()
.setAuthor(message.author.username, auser.displayAvatarURL({ format: 'png' }))
.setTitle("Информация о сервере")
.setColor("RANDOM")
.setThumbnail(servericon)
.addField("Название сервера :", message.guild.name)
.addField("Владелец :", `${message.guild.owner.user.tag}`, true)
.addField("Каналы :", message.guild.channels.cache.size, true)
.addField("Роли :", message.guild.roles.cache.size, true)
.addField("Сервер создан :", `${moment(message.guild.createdAt).format('MMMM Do YYYY')}`)
.addField("Пользователей :", message.guild.memberCount)
.setThumbnail(message.guild.iconURL())
.setTimestamp()
message.channel.send(serverembed);

错误是:
(节点: 11288)UnhandledPromiseRejtionWarning: TypeError:无法读取属性'user'的null在Object.run(C:\用户\Alumetryu\桌面\bot\命令\info\serverinfo.js:20: 48)在客户端。(C:\用户\Alumetryu\桌面\bot\ame\index.js:38: 17)在Client.emit(events.js:315: 20)在MessageCreateAction.handle(C:\用户\Alumetryu\node_modules\discord.js\src\客户端\动作\MessageCreate.js:31: 14)在Object.module.exports[作为MESSAGE_CREATE](C:\用户\Alumetryu\node_modules\discord.js\src\客户端\webSocket\处理程序\MESSAGE_CREATE. js: 4:32)在WebSocketManager.handle包(C:\用户\Alumetryu\node_modules\discord.js\src\客户端\webSocket\WebSocketManager.js:384: 31)在WebSocketShard.on数据包(C:\用户\Alumetryu\node_modules\discord.js\src\Client\WebSocketShard.js:444: 22)在WebSocketShard.on消息(C:\用户\Alumetryu\node_modules\discord.js\src\Client\webSocketShard.js:301: 10)在WebSocket.onMessage(C:\用户\Alumetryu\node_modules\ws\lib\event-Target. js: 125:16)在Receiver. emit的WebSocket. emit(events. js: 315:20)(events. js: 315:20)在接收者. starLoop(C:\用户\Alumetryu\node_modules\ws\lib\接收器. js: 437:14)在接收者. getData(C:\用户\Alumetryu\node_modules\ws\lib\接收器. js: 367:17)在接收者. starLoop(C:\用户\Alumetryu\node_modules\ws\lib\接收器. js: 143:22)。_write(C:\用户\Alumetryu\node_modules\ws\lib\Recector. js: 78:10)在doWriteOrBuffer(_stream_writable. js: 387:5)在写(_stream_writable. js: 403:12)在接收器。写(_stream_writable. js: 318:11)在TLSSocket. solketOnData(C:\用户\Alumetryu\node_modules\ws\lib\webSocket. js: 872:35)在TLSSocket. emit(events. js: 315:20)在addChunk(_stream_readable. js: 295:12)(节点: 11288)UnhandledPromiseRejse警告:未处理的promise拒绝。这个错误要么是由于抛出一个没有捕获块的异步函数,要么是由于拒绝了一个没有用. cat()处理的promise。若要在未处理的promise拒绝上终止节点进程,请使用CLI标志--unhanded-rej的拒绝=严格的(请参阅https://nodejs. org/api/cil. html#cli_unhandled_rejections_mode)。将来,未处理的promise拒绝将使用非零退出代码终止Node. js进程。

共有2个答案

牧业
2023-03-14

我不确定问题到底是哪一行,因为这些行没有在stackoverflow中编号,但我假设问题是在写着的行中。addField("Владелец:", ${ message.guild.owner.user.tag},true)-我猜你是试图获得所有者,如果是这样,下面是如何message.guild.owner-顺便说一句,对于任何不知道的人来说,公会基本上是一个服务器。所以每个公会,就是机器人所在的每个服务器。message.guild,意味着发送消息的公会/服务器。message.guild.owner,更深层次的是公会/服务器所有者。如果你有任何问题随时回复这篇文章

凌俊语
2023-03-14

这是因为公会的所有者没有缓存。取而代之的是,手动获取()的工会成员Guild.prototype.ownerID

// make sure the function is async!
const owner = await message.guild.members.fetch(message.guild.ownerID);
const serverembed = new Discord.MessageEmbed().addField(
 'Владелец :',
 `${message.guild.owner.user.tag}`,
 true
);
 类似资料:
  • 我刚开始使用Javascript和Discord进行开发。js,并收到以下错误: TypeError:无法读取未定义的属性“fetch” 我正在尝试执行轮询命令。这是代码(我删除了所有其他内容,只是想让它退出频道): 我已经试着把它放在Main.js工作: 但是我想要正确的文件。这就是我在客户上面所做的。在(‘消息’等)上。 当然,我谷歌了一下,看了看留档,但没有帮助。 正如我所说,我是编程新手,

  • 我正在使用GoogleMapsJSAPI在网站上显示地图。该网站向我展示了一张空卡片,在检查元素时,我发现了错误:无法读取null的“offsetwidth”属性。 如果有人能帮助我,我将不胜感激!我在下面添加了所有相关的编码。 CSS HTML JS

  • 问题内容: 您好,我正在尝试将React-Router与Firebase配合使用。但这给了我这个错误。 无法读取null的属性“ props” 这正是代码,我正在使用我的react-router 向下代码在组件上作为loginpanel组件。 我的react路由器在main.jsx上声明,我的react-router看起来像这样。 问题答案: 在回调中,指针不再指向您的React组件。有很多方法可

  • 我收到以下JavaScript错误: TypeError:无法读取null的属性“title” 代码如下: mds-iMac: cmscart imac$nodemo app[nodemo] 1.11.0[nodemo]随时重启,输入[nodemo]观看:.[nodemo]启动(node: 2274)DeprecationWarning:在猫鼬中被弃用 [nodemon]应用程序崩溃-正在等待文件

  • 我在我的Gatsby应用程序中得到了这个错误,该应用程序为作者提取places数据。当author.social的map()点为null时,该错误将显示 谢谢

  • 有人能告诉我我做错了什么吗? 慰问: (节点:11924)未处理的PromisejectionWarning:未处理的promise拒绝。此错误源于在没有catch块的情况下抛出异步函数的内部,或者拒绝使用未处理的promise。catch()。要在未处理的promise拒绝时终止节点进程,请使用CLI标志(请参阅https://nodejs.org/api/cli.html#cli_unhand