【问题标题】:How do I make my discord js bot type in someones dms?如何在某人的 dms 中输入我的不和谐 js 机器人?
【发布时间】:2021-10-14 05:47:12
【问题描述】:

我希望我的机器人输入特定用户的 DM,但我收到一条错误消息 “UnhandledPromiseRejectionWarning:TypeError:无法读取未定义的属性'startTyping'”

Client.on("typingStart", async function(channel, user) {

    if(openTicketsByChannelID[channel.id]){
        if(openTicketsByChannelID[channel.id].userID){
            let dmToTypeIn = Client.channels.cache.get(idOfTheUserIwantTheBotToStartTypingTo)
            console.log(dmToTypeIn)
            dmToTypeIn.startTyping();
        }

    }

});

【问题讨论】:

    标签: javascript discord discord.js bots


    【解决方案1】:

    使用User.createDM(),如果用户之前关闭了DM频道,User.dmChannel就是null

    const user = await client.users.fetch("user id");
    const dmChannel = await user.createDM();
    dmChannel.startTyping();
    

    .createDM() 方法默认在客户端和用户之间创建一个新的 DM 通道,如果客户端的缓存中没有任何通道。

    【讨论】:

      【解决方案2】:

      Users 有一个dmChannel 属性。你可以在上面运行startTyping()

      //user is an instance of User
      let dm = user.dmChannel
      dm.startTyping()
      

      【讨论】:

        猜你喜欢
        • 2021-10-12
        • 2021-06-15
        • 1970-01-01
        • 2021-03-31
        • 2020-12-30
        • 1970-01-01
        • 2020-11-18
        • 2020-11-20
        • 2019-02-14
        相关资源
        最近更新 更多