gpt4 book ai didi

node.js - 无法在 Member.set [作为头像] 处设置未定义的属性 'avatar' - Discord Bot

转载 作者:行者123 更新时间:2023-12-04 07:37:29 24 4
gpt4 key购买 nike

我最近没有使用过我的 Discord,但上次运行它时,它仍然运行良好。但是,这些天我不断收到此错误 Cannot set property 'avatar' of undefined at Member.set [as avatar]

enter image description here

有人可以帮助我吗?

最佳答案

我一直在努力解决这个问题,并最终弄明白了。这是因为“this”关键字在成员构造函数内的 Object.defineProperty 调用中的代码中以某种方式被劫持(我的 index.js 版本中的第 2606 行,但我已经做了一些其他修复,所以你的可能不同).我能够通过将“this”引用缓存到私有(private)成员中并改为引用它来修复它。感觉很老套,但确实有效。像这样:

function Member(client, server, data) {
copyKeys(data, this, ['user', 'joined_at',]);
this.id = data.user.id;
this.joined_at = Date.parse(data.joined_at);
this.color = colorFromRole(server, this);
var tempThis = this;
['username', 'discriminator', 'bot', 'avatar', 'game'].forEach(function(k) {
if (k in Member.prototype) return;
Object.defineProperty(Member.prototype, k, {
get: function() { return client.users[tempThis.id][k]; },
set: function(v) { client.users[tempThis.id][k] = v; },
enumerable: true,
});
});
}

关于node.js - 无法在 Member.set [作为头像] 处设置未定义的属性 'avatar' - Discord Bot,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/67670300/

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