簡體   English   中英

這段代碼有問題。 js中的Discord清除命令

[英]Having trouble with this code. Discord purge command in js

我一直在研究一個 Discord 機器人作為一個小實驗(因為我是編碼新手)。 事實證明我遇到了這段代碼的問題:

  // delete from 2-100.

  const deleteCount = parseInt(args[0], 10);

  if(!deleteCount){ 
    return message.reply("Un numero del 2-100"); //"a number from 2-100"
  }

  const fetched = await message.channel.fetchMessages({limit: deleteCount});
  message.channel.bulkDelete(fetched)
    .catch(error => message.reply(`Error: ${error}`)) }

這段代碼確實有效:它會清除上述數量的消息,並在僅給出 !purge 或 !clear 時發送“輸入 2-100 中的數字”消息。 但是,消息......它也會在我輸入命令時發送!say,或者在機器人踢某人並發送成功踢出的用戶消息之后。 它甚至在給出 !shop 或 !f 時發送(它們不是任何代碼的一部分)。

當給出的命令沒有值時,如何讓機器人發送“Un numero del 2-100”?

您應該使用 if 語句來檢查消息是否是命令,這樣您才能讓此代碼僅在它是命令時執行。 例如: if (msg.startsWith(prefix + 'purge') || msg.startsWith(prefix + 'clear') {}

從我看來,無論指定的命令如何,所有這些代碼都會被執行,這就是為什么無論調用什么命令都會輸出該字符串的原因。

暫無
暫無

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

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