簡體   English   中英

我需要幫助在輸入命令時讓不和諧機器人直接向某人發送消息

[英]I need help making a discord bot direct message someone on typing a command

我目前正在嘗試創建一個不和諧的機器人,但被我正在嘗試執行的命令難住了。 該命令應該是機器人發送的秘密 DM 消息。 我想知道是否有辦法做到這一點? 該命令應該如下所示:

/dm @PLAYER#000 [message_goes_here]

請幫忙!!

讓我們一步一步來:

如果提及@Player#0000,您可以使用msg.mentions[0].獲取Player#0000 的User對象msg.mentions[0]. 現在向該用戶發送消息:

首先,您需要將消息與命令分開:使用msg.toString()您將能夠獲取消息,其中提及被轉換為 <@ID>,這也將考慮用戶名中的空格。 現在使用msg.toString().split(' ')拆分消息, shift()兩次, join(' ')它,你就會得到消息。

使用User.send()您將能夠向該用戶發送消息。

下面是最終結果的樣子:

bot.on('message', message => {
    if (message.content.startsWith('/dm ') && message.mentions.users.size) {
        var v=message.toString().split(' ').shift().shift().join(' ') // Takes the DM content from the message
        var member=message.mentions.users[0] // The mentioned user
        member.send(v) // send that user a DM
    }
})

請注意,此示例並未真正涵蓋錯誤(以防消息未發送等)

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM