2

Discord.js API を使用して Discord ボットを開発しています。ここまでは順調ですが、関連する subreddit の最新の投稿が数分ごとにボットによってチャットで発表されるといいなと思いました。これで、スクリプトで Reddit JSON API から関連データを引き出すことができましたが、次のエラーがスローされます。

TypeError: Cannot read property 'sendMessage' of undefined
    at /data/app/app.js:810:7
    at Array.forEach (native)
    at IncomingMessage.<anonymous> (/data/app/app.js:808:36)
    at emitNone (events.js:72:20)
    at IncomingMessage.emit (events.js:166:7)
    at endReadableNT (_stream_readable.js:913:12)
    at nextTickCallbackWith2Args (node.js:442:9)
    at process._tickCallback (node.js:356:17)
/data/app/app.js:810
        bot.sendMessage(channel,"https://www.reddit.com" + child.data.permalink);

これは私のコードです:

var Discord = require("discord.js");
var bot = new Discord.Client();


var redditSubModule = "pics";

function getRedditPosts(bot, msg) {
  var url = "http://www.reddit.com/r/" + redditSubModule + "/new/.json?limit=2";
  var request = http.get(url, function(response) {
    var json = "";
    response.on("data", function(chunk) {
      json += chunk;
    });

    response.on("end", function() {
      var redditResponse = JSON.parse(json);
      redditResponse.data.children.forEach(function(child) {
        console.log("https://www.reddit.com" + child.data.permalink);
        bot.sendMessage(msg.channel,"https://www.reddit.com" + child.data.permalink);
      });
    });
  });

  request.on("error", function(err) {
    console.log(err);
  });

  setTimeout(getRedditPosts, 60000);
}

getRedditPosts();

なぜbot未定義なのですか?

4

2 に答える 2