2017-08-06 19 views
0

我目前正在使用discord.js模塊製作一個bot。我在JavaScript和編程方面一般都不太好,而且我試着在各處都問這個問題,但我無法修復它。當我要求一個隨機圖像時,Bot有時張貼NaN

我的機器人應該從我的電腦上保存的12張圖像中抽出一張圖像。有時候這種方式可以成功,但有時它只是用「NaN」回覆IN DISCORD(而不是控制檯)。

else if (msg.content.startsWith(prefix + "duckquery")) { 
    var ducks = [ {file: "./img/ducks1.jpg"}, {file: "./img/ducks2.jpg"}, {file: "./img/ducks3.jpg"}, + 
    {file: "./img/ducks4.jpg"}, {file: "./img/ducks5.jpg"}, {file: "./img/ducks6.jpg"}, {file: "./img/ducks7.jpg"}, + 
    {file: "./img/ducks8.jpg"}, {file: "./img/ducks9.jpg"}, {file: "./img/ducks10.jpg"}, {file: "./img/ducks11.jpg"}, + 
    {file: "./img/ducks12.jpg"}]; 

    var duck = ducks[Math.floor(Math.random()*(ducks.length))] 
    msg.channel.send(duck); 
+0

刪除'ducks'定義中的'+'符號。 – some

+0

它似乎已經工作了,非常感謝你! 我在某處閱讀了你需要的+符號,以便在新行上繼續執行代碼? – kvassy

+0

如果串聯一個字符串,可以使用''''如''string 1「+」string 2「',但不能在另一行上繼續。 – some

回答

0

你不應該使用+,因爲這是試圖添加兩個對象,給你一個NaN(非數字)

var ducks = [ {file: "./img/ducks1.jpg"}, {file: "./img/ducks2.jpg"}, {file: "./img/ducks3.jpg"}, + 
{file: "./img/ducks4.jpg"}, {file: "./img/ducks5.jpg"}, {file: "./img/ducks6.jpg"}, {file: "./img/ducks7.jpg"}, + 
{file: "./img/ducks8.jpg"}, {file: "./img/ducks9.jpg"}, {file: "./img/ducks10.jpg"}, {file: "./img/ducks11.jpg"}, + 
{file: "./img/ducks12.jpg"}]; 

打印出來的鴨子:

[Object, Object, Object, NaN, Object, Object, Object, NaN, Object, Object, Object, NaN] 

相反用途:

var ducks = [ 
    {file: "./img/ducks1.jpg"}, {file: "./img/ducks2.jpg"}, {file: "./img/ducks3.jpg"}, 
    {file: "./img/ducks4.jpg"}, {file: "./img/ducks5.jpg"}, {file: "./img/ducks6.jpg"}, 
    {file: "./img/ducks7.jpg"}, {file: "./img/ducks8.jpg"}, {file: "./img/ducks9.jpg"}, 
    {file: "./img/ducks10.jpg"}, {file: "./img/ducks11.jpg"}, {file: "./img/ducks12.jpg"} 
]; 

這讓你的對象:

[Object, Object, Object, Object, Object, Object, Object, Object, Object, Object, Object, Object] 

你確定你需要對象的數組,而不是字符串數組?

var ducks = [ 
"./img/ducks1.jpg", "./img/ducks2.jpg", "./img/ducks3.jpg", 
"./img/ducks4.jpg", "./img/ducks5.jpg", "./img/ducks6.jpg", 
"./img/ducks7.jpg", "./img/ducks8.jpg", "./img/ducks9.jpg", 
"./img/ducks10.jpg", "./img/ducks11.jpg", "./img/ducks12.jpg" 
]; 
+0

這很有道理,謝謝!看起來也好多了:) – kvassy

相關問題