色色一区二区三区,一本大道道久久九九AV综合,国产香蕉97碰碰视频va碰碰看,综合亚洲国产2020

    <legend id="mljv4"><u id="mljv4"><blockquote id="mljv4"></blockquote></u></legend>

    <sub id="mljv4"><ol id="mljv4"><abbr id="mljv4"></abbr></ol></sub>
      <mark id="mljv4"></mark>

      Discord bot for ordering food

      2021-02-18 21:50

      我對(duì)JavaScript不熟悉,我使用不和.js提供食物、飲料和回復(fù),不需要前綴。我的問題是我想嘗試清理代碼并去掉所有的if語句,但我不知道怎么做機(jī)器人(quot;,mes

      解答動(dòng)態(tài)

      • 首先要看的是:每個(gè)if語句的相同點(diǎn)和不同點(diǎn)。關(guān)鍵區(qū)別是:
        message.content.toLowerCase().包括(quot;) 和
        message.channel.send發(fā)送(“鏈接不同”) 要清理,我們可以一起去掉if語句并創(chuàng)建一個(gè)包含鍵:值對(duì)帶鑰匙消息.內(nèi)容您要與關(guān)聯(lián)的媒體鏈接進(jìn)行核對(duì)并對(duì)其進(jìn)行估價(jià)。那看起來像此:
        const gifs={quot;:quot;,}; 我們可以取出字符串quot;,因?yàn)檫@也是所有鍵所共有的。如果要取回的數(shù)據(jù)要求您檢查quot;,然后將其更改回去。
        現(xiàn)在您可以映射gifs對(duì)象的鍵,查看該鍵是否包含在消息內(nèi)容中。如果是,則返回與該鍵關(guān)聯(lián)的值。
        對(duì)象.鍵(gifs).forEach(鍵=quot;這是您的命令!給你!“您已經(jīng)收到了!薄3.5美元!薄5.5美元!盷;機(jī)器人(quot;,message= 對(duì)象.鍵(gifs).map(鍵=quot;)。然后(msg=gt;{消息回復(fù)(響應(yīng));頻道.發(fā)送(gifs[key]);//獲取gifs對(duì)象中key處的值},5000);}});}); Code walkthrough
        bot獲取消息quot;我們聲明臨時(shí)變量等于消息.內(nèi)容, 消息.channel,和消息.回復(fù)通過解構(gòu)創(chuàng)建另一個(gè)變量,該變量等于回復(fù)列表或數(shù)組中的隨機(jī)響應(yīng)使用foreachforegis遍歷gifs對(duì)象中的鍵我們檢查message.content.toLowerCase=小寫()包括那把鑰匙,如果是這樣的話,我們會(huì)發(fā)出一個(gè)信息“馬上就來?!gt;//do something)一種方法,它遍歷數(shù)組中的每個(gè)元素,并返回一個(gè)新數(shù)組,該數(shù)組由您傳遞的回調(diào)函數(shù)生成。
        示例:
        const列表=[1,2,3,4,5];常量newList=列表.map((item)=gt;//do something)一種方法,它遍歷數(shù)組并使用回調(diào)來改變數(shù)組,返回undefined.
        示例:
        const列表=[1,2,3,4,5];列表.forEach((項(xiàng)目,索引,arr)=gt;//do something)一種方法,用于檢查數(shù)組中是否至少有一個(gè)元素通過您提供的回調(diào),并返回boolean.
        示例:
        const列表=[1,2,3,4,5];列出一些((item)=>;item===2);//true,停止當(dāng)它讀取數(shù)組中的2時(shí),因?yàn)樗ヅ淇刂婆_(tái).log(列出);//[1,2,3,4,5] 對(duì)于所問的問題,forEach是最合適的。然后你必須考慮,我的數(shù)據(jù)是有重復(fù)的還是沒有任何東西,并處理這些條件。如果您將有重復(fù)的,您可能希望您找到方法的方法丹尼爾范登伯格建議。find類似于forEach和some。它尋找第一個(gè)符合條件的項(xiàng)并返回該項(xiàng)。

        • 雖然我基本上同意Ben Stevens的回答,但我確實(shí)認(rèn)為還有更大的改進(jìn)空間。
          ///可以在helper/util文件中或在該文件的頂部定義它,因?yàn)樗且粋(gè)常量listcont repress

          • LIST=[盡情享受吧!如果您還需要什么,請(qǐng)告訴我!quot;messagegt;{const{channel,content,reply:messageReply}=message;//從消息中解構(gòu)變量,回復(fù):messageReply重命名回復(fù)到messageReply const response=回復(fù)\列表[數(shù)學(xué)地板(數(shù)學(xué).隨機(jī)()*答復(fù)_列表長度)];常量鍵=對(duì)象.鍵(gifs).find(鍵=quot;我不明白你的意思。quot;)。然后(msg=gt;{消息回復(fù)(響應(yīng));頻道.發(fā)送(gifs[key]);//獲取gifs對(duì)象中key處的值},5000);}); I從使用對(duì)象.鍵(gifs)。映射到。查找。在這里使用find的原因是它在找到第一個(gè)匹配項(xiàng)后停止。這可以確保如果有人下了quot;,腳本不會(huì)發(fā)送兩個(gè)回復(fù)。
            另一個(gè)優(yōu)點(diǎn)是縮進(jìn)較少,因?yàn)橄⒌陌l(fā)送不在lambda中(這些gt;{})。這增加了一些可讀性。
            如果您想發(fā)送兩條消息,如果有人說點(diǎn)咖啡點(diǎn)拿鐵,您可以使用Ben Stevens提供的代碼,但我會(huì)使用.forEach而不是.map。map用于返回?cái)?shù)組的(修改過的)副本,這不適合您的用例。

            • 由于if語句中的大部分內(nèi)容都是相同的,您需要檢查發(fā)生了什么變化。似乎它只是圖像URL。
              您可以更新if語句,只更改圖像URL并以結(jié)束:
              let img='';文本=message.content.toLowerCase=小寫();如果(文本有限公司

              • End

              免責(zé)聲明:

              本頁內(nèi)容僅代表作者本人意見,若因此產(chǎn)生任何糾紛由作者本人負(fù)責(zé),概與琴島網(wǎng)公司無關(guān)。本頁內(nèi)容僅供參考,請(qǐng)您根據(jù)自身實(shí)際情況謹(jǐn)慎操作。尤其涉及您或第三方利益等事項(xiàng),請(qǐng)咨詢專業(yè)人士處理。