簡體   English   中英

Discord.js - 從交互中獲取消息

[英]Discord.js - Get Message from Interaction

client.ws.on('INTERACTION_CREATE', async (interaction) => {}

交互類有很多屬性,如channelmemberid但它沒有message屬性。

有沒有辦法從交互中獲取消息,還是必須對消息使用事件偵聽器? 如果是這樣,我將如何將它與斜杠命令一起使用?

斜線命令有自己的消息類型。 我不相信他們有 id、刪除按鈕、編輯按鈕或大多數消息所做的很多事情。 這意味着您將無法從斜杠命令獲取“消息”。 然而,從按鈕中,它們確實發出INTERACTION_CREATE但有更多信息。 我不太記得了,但我認為您可以使用諸如interaction.components東西。 我不完全確定,但如果您願意,請單擊一個按鈕並將交互記錄到您的控制台中,以查看像這樣的唯一按鈕信息

client.ws.on('INTERACTION_CREATE', async (interaction) => {
{
console.log(interaction) //will be long!
//…
})

您可以僅使用基類interaction來獲取用戶輸入。 但是內容不可見。 您可以通過 api 端點或類似的東西傳遞它來訪問它。

例如

client.on('interactionCreate', async interaction => {
  if (interaction.commandName == 'greet') {
      fetch(base_url + `api/greet?msg=${interaction}`) // the server can read the user input here
          .then(res => res.json())
          .then(async data => {await interaction.reply(data.content)}) // send back the data
  }
})

暫無
暫無

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

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