ReferenceError:尝试放置让公会时未定义消息

Posted

技术标签:

【中文标题】ReferenceError:尝试放置让公会时未定义消息【英文标题】:ReferenceError: message is not defined when trying to put let guild 【发布时间】:2020-08-03 14:00:03 【问题描述】:

我正在开发我的不和谐机器人,我试图让它成为公会成为 message.guild 的地方,在这样做的过程中我得到了错误 let guild = message.guild; ^

ReferenceError: 消息未定义

我的代码是:

client.on('messageReactionAdd', (reaction, user) => 
    if(reaction.emoji.name === 'ticket2') 
        
            let guild = message.guild;

            guild.channels.create(`$message.author.usernames-ticket`, 
                type: 'text',
                permissionOverwrites: [
                    
                        allow: 'VIEW_CHANNEL',
                        id: message.author.id
                    ,
                    
                        deny: 'VIEW_CHANNEL',
                        id: guild.id
                    ,
                    
                        allow: 'VIEW_CHANNEL',
                        id: '691669966998601788'
                    
                ]
            ).then(ch => 
                userTickets.set(message.author.id, ch.id); 
                message.channel.send('Ok! Your ticket will be created shortly');
            ).catch(err => console.log(err));
        
    
);

【问题讨论】:

【参考方案1】:

这很简单,没有定义消息对象或变量,因为回调只接受用户的反应(您之前根本没有声明任何消息)。

我建议你阅读关于 Discord.js rawEvents 的 this 指南

【讨论】:

【参考方案2】:

您从未定义过上述变量message。由于您不在消息事件中,因此为了获得公会,您可以通过不同的属性获得它。在您的情况下,要获取响应消息的公会,您可以执行reaction.message.guild

参考链接: 1.https://discord.js.org/#/docs/main/stable/class/MessageReaction?scrollTo=message 2.https://discord.js.org/#/docs/main/stable/class/Message?scrollTo=guild

【讨论】:

以上是关于ReferenceError:尝试放置让公会时未定义消息的主要内容,如果未能解决你的问题,请参考以下文章

放置奇兵新版 公会(工会)商店

ReferenceError:找不到变量:React -- bundle android

在浏览器中测试地理位置时出错

让机器人为它所在的每个公会创建邀请

测试指令元素时未定义父级

尝试使用 MongoDB 检索公会前缀