【发布时间】:2021-03-08 10:35:56
【问题描述】:
我有一个问题,我完全无法理解。 该功能在我的服务器上工作,而不是在另一个服务器上工作。 这是我的代码:
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)UnhandledPromiseRejectionWarning:TypeError:无法读取 null 的属性“用户”
在 Object.run (C:\Users\alumetryu\Desktop\bot\commands\info\serverinfo.js:20:48)
在客户端。 (C:\Users\alumetryu\Desktop\bot\ame\index.js:38:17)
在 Client.emit (events.js:315:20)
在 MessageCreateAction.handle (C:\Users\alumetryu\node_modules\discord.js\src\client\actions\MessageCreate.js:31:14)
在 Object.module.exports [as MESSAGE_CREATE] (C:\Users\alumetryu\node_modules\discord.js\src\client\websocket\handlers\MESSAGE_CREATE.js:4:32)
在 WebSocketManager.handlePacket (C:\Users\alumetryu\node_modules\discord.js\src\client\websocket\WebSocketManager.js:384:31)
在 WebSocketShard.onPacket (C:\Users\alumetryu\node_modules\discord.js\src\client\websocket\WebSocketShard.js:444:22)
在 WebSocketShard.onMessage (C:\Users\alumetryu\node_modules\discord.js\src\client\websocket\WebSocketShard.js:301:10)
在 WebSocket.onMessage (C:\Users\alumetryu\node_modules\ws\lib\event-target.js:125:16)
在 WebSocket.emit (events.js:315:20)
在 Receiver.receiverOnMessage (C:\Users\alumetryu\node_modules\ws\lib\websocket.js:797:20)
在 Receiver.emit (events.js:315:20)
在 Receiver.dataMessage (C:\Users\alumetryu\node_modules\ws\lib\receiver.js:437:14)
在 Receiver.getData (C:\Users\alumetryu\node_modules\ws\lib\receiver.js:367:17)
在 Receiver.startLoop (C:\Users\alumetryu\node_modules\ws\lib\receiver.js:143:22)
在 Receiver._write (C:\Users\alumetryu\node_modules\ws\lib\receiver.js:78:10)
在 doWrite (_stream_writable.js:403:12)
在 writeOrBuffer (_stream_writable.js:387:5)
在 Receiver.Writable.write (_stream_writable.js:318:11)
在 TLSSocket.socketOnData (C:\Users\alumetryu\node_modules\ws\lib\websocket.js:872:35)
在 TLSSocket.emit (events.js:315:20)
在 addChunk (_stream_readable.js:295:12)
(节点:11288)UnhandledPromiseRejectionWarning:未处理的承诺拒绝。此错误源于在没有 catch 块的情况下抛出异步函数内部,或拒绝未使用 .catch() 处理的承诺。要在未处理的 Promise 拒绝时终止节点进程,请使用 CLI 标志 --unhandled-rejections=strict(请参阅 https://nodejs.org/api/cli.html#cli_unhandled_rejections_mode)。 (拒绝编号:1)
(节点:11288)[DEP0018] DeprecationWarning:不推荐使用未处理的承诺拒绝。将来,未处理的 Promise 拒绝将使用非零退出代码终止 Node.js 进程。
【问题讨论】:
-
假设错误出现在您显示的代码中,则表明
message.guild.owner为空,您可以检查它是否为空,addField("Владелец :", `${(message.guild.owner ? message.guild.owner.user.tag : "-")}`, true) -
谢谢你,shoejep,帮助我。我已经解决了!!!
标签: javascript node.js discord.js