gpt4 book ai didi

javascript - 不和谐 JS : TypeError: Cannot read property 'id' of undefined

转载 作者:行者123 更新时间:2023-12-03 12:12:58 25 4
gpt4 key购买 nike

我正在为我的送餐机器人发出订单命令。当命令在主服务器外部使用时会出现控制台错误,否则命令在主 channel 内有效。
错误是 TypeError: Cannot read property 'id' of undefined代码是

api.commands.add("claim", (msg) => {
let employeeRole = msg.guild.roles.get("745410836901789749");
if(msg.member.roles.has(employeeRole.id)) {
if(msg.channel.id == 746423099871985755) {
api.client.channels.get("746423099871985755").fetchMessages({
around: order.ticketChannelMessageID,
limit: 1
}).then(messages => {
const fetchedMsg = messages.first();

fetchedMsg.edit({embed: {
color: 0xFFFFFF,
title: api.client.users.get(order.userID).username,
fields: [{
name: "Order Description",
value: order,
}, {
name: "Order ID",
value: ticketID,
}, {
name: "Order Status",
value: "claimed",
}],
timestamp: new Date(),
footer: {
text: "Taco Bot"
}
}}).then((m) => {
m = m.id;

// Update Status
delete orderDB[ticketID];

orderDB[ticketID] = {
"orderID": order.orderID,
"userID": order.userID,
"guildID": order.guildID,
"channelID": order.channelID,
"order": order.order,
"status": "Claimed",
"ticketChannelMessageID": m,
"chef": msg.author.id
};

最佳答案

该错误可能是因为您试图获取 emploeeRole . Angular 色是独一无二的。在其他服务器上,不会有具有此 ID 的 Angular 色,因此它将返回 undefined .
为避免此问题,您应检查此服务器上的命令执行程序是否具有具有此 ID 的 Angular 色。 (可能没有,因为已经提到: Angular 色是独一无二的)。

if (msg.member.roles.cache.find(r => r.id === '745410836901789749')) {
// The user has the requierd role! Execute command
} else {
// Role wasn't found! Do something else
}
此代码的问题在于该命令仅适用于您的服务器。要解决这个问题,您可以检查 Angular 色的名称而不是 id。
 if (msg.member.roles.cache.find(r => r.id === 'MY ROLE NAME')) {
// The user has the requierd role! Execute command
} else {
// Role wasn't found! Do something else
}
现在只有 Angular 色名为 MY ROLE NAME 的用户可以执行命令。当然,您可以输入自己的 Angular 色名称,而不是使用 MY ROLE NAME . ~ヾ(·ω·)

关于javascript - 不和谐 JS : TypeError: Cannot read property 'id' of undefined,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/65361658/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com