首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
社区首页 >问答首页 >Ticket命令提供错误不一致js

Ticket命令提供错误不一致js
EN

Stack Overflow用户
提问于 2021-06-19 00:52:32
回答 1查看 35关注 0票数 0

当我打字的时候,我需要有人的帮助!ticket它给了我一个错误,代码和错误,我试过了,我不能让它工作,所以我来这里询问,请让我知道你是否可以帮助我。这可能是一个非常简单的问题,我真的很难理解它。我也不能让表情符号工作,如果你能帮助它,那就太好了

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
const Discord = require("discord.js")
const ms = require('ms');

module.exports = {
    name: 'ticket',
    usage: '%ticket <reason>',
    description: 'makes a ticket',

    async execute(client, message, args, cmd, discord) {
        const channel = await message.guild.channels.create(`ticket: ${message.user.tag}`);
        channel.setParent('855596395783127081');

        channel.updateOverwrite(message.guild.id, {
            SEND_MESSAGE: false,
            VEIW_CHANNEL: false
        })
        channel.updateOverwrite(message.auther, {
            SEND_MESSAGE: true,
            VEIW_CHANNEL: true
        })

        const reactionMessage = await channel.send(`Thank you for contacting support! A staff member will be with you as soon as possible`);

        try {

            await reactionMessage.react(":lock:");
            await reactionMessage.react(":no_entry:");
        } catch (err) {
            channel.send(`Error Sending Emojis`);
            throw err;
        }

        const collector = reactionMessage.createReactionCollector((reaction, user) =>
            message.guild.member.cache.find((member) => member.id === userid).hasPermission('ADMINISTRATOR'), { dispose: true }
        );

        collector.on('collect', (reaction, user) => {
            switch (reaction.emoji.name) {
                case ":lock:":
                    channel.updateOverwrite(message.auther, { SEND_MESSAGE: false });
                    break;
                case ":no_entry:":
                    channel.send('Deleteing ticket in 5 seconds');
                    setTimeout(() => channel.delete(), 5000);
                    break;
            }
        });

        message.channel.send(`We will be right withyou! ${channel}`).then((msg) => {
            setTimeout(() => msg.delete(), 7000)
            setTimeout(() => message.delete(), 7000)
        })
    }
}

错误如下所示

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
PS C:\Users\lolzy\OneDrive\Desktop\discordbot> node .
Cbs slave is online!
(node:19284) UnhandledPromiseRejectionWarning: TypeError: Cannot read property 'tag' of undefined
    at Object.execute (C:\Users\lolzy\OneDrive\Desktop\discordbot\commands\ticket.js:10:85)
    at module.exports (C:\Users\lolzy\OneDrive\Desktop\discordbot\events\guild\message.js:10:26)
    at Client.emit (events.js:376:20)
    at MessageCreateAction.handle (C:\Users\lolzy\OneDrive\Desktop\discordbot\node_modules\discord.js\src\client\actions\MessageCreate.js:31:14)
    at Object.module.exports [as MESSAGE_CREATE] (C:\Users\lolzy\OneDrive\Desktop\discordbot\node_modules\discord.js\src\client\websocket\handlers\MESSAGE_CREATE.js:4:32)
    at WebSocketManager.handlePacket (C:\Users\lolzy\OneDrive\Desktop\discordbot\node_modules\discord.js\src\client\websocket\WebSocketManager.js:384:31)
    at WebSocketShard.onPacket (C:\Users\lolzy\OneDrive\Desktop\discordbot\node_modules\discord.js\src\client\websocket\WebSocketShard.js:444:22)
    at WebSocketShard.onMessage (C:\Users\lolzy\OneDrive\Desktop\discordbot\node_modules\discord.js\src\client\websocket\WebSocketShard.js:301:10)
    at WebSocket.onMessage (C:\Users\lolzy\OneDrive\Desktop\discordbot\node_modules\ws\lib\event-target.js:132:16)
    at WebSocket.emit (events.js:376:20)
(Use `node --trace-warnings ...` to show where the warning was created)
(node:19284) UnhandledPromiseRejectionWarning: Unhandled promise rejection. This error originated either by throwing inside of 
an async function without a catch block, or by rejecting a promise which was not handled with .catch(). To terminate the node process on unhandled promise rejection, use the CLI flag `--unhandled-rejections=strict` (see https://nodejs.org/api/cli.html#cli_unhandled_rejections_mode). (rejection id: 1)
(node:19284) [DEP0018] DeprecationWarning: Unhandled promise rejections are deprecated. In the future, promise rejections that 
are not handled will terminate the Node.js process with a non-zero exit code.
EN

回答 1

Stack Overflow用户

发布于 2021-06-19 01:46:10

Message对象中没有调用.user的属性,它应该是.author,即返回User对象,文档here

所以正确的代码应该是

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
        const channel = await message.guild.channels.create(`ticket: ${message.author.tag}`);
票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/68042735

复制
相关文章

相似问题

领券
社区富文本编辑器全新改版!诚邀体验~
全新交互,全新视觉,新增快捷键、悬浮工具栏、高亮块等功能并同时优化现有功能,全面提升创作效率和体验
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档
查看详情【社区公告】 技术创作特训营有奖征文