14

我想用 Node.js 创建一个 Telegram Bot,我正在使用Telegraf。我知道我可以回复这样的消息:

app.hears('hi', (ctx) => ctx.reply('Hey there!'))

但是我怎样才能在没有收到消息的情况下发送消息呢?我想读取一个文件,并且总是在文件更改时我想发送一条消息。

const Telegraf = require('telegraf');
var fs = require('fs');

const app = new Telegraf(process.env.BOT_TOKEN);

var filePath = "C:\\path\\to\\my\\file.txt";

fs.watchFile(filePath, function() {
    file = fs.readFileSync(filePath);

    // Send message to chat or group with the file content here

    console.log("File content at: " + new Date() + " is: \n" + file);
})

如果有人可以帮助我,那就太好了。

4

2 回答 2

9

您可以使用app.telegram.sendMessage它,请参阅以下代码段。

const Telegraf = require('telegraf');
var fs = require('fs');

const app = new Telegraf(process.env.BOT_TOKEN);

var filePath = "C:\\path\\to\\my\\file.txt";

fs.watchFile(filePath, function() {
  file = fs.readFileSync(filePath);
  app.telegram.sendMessage(chatId, "File content at: " + new Date() + " is: \n" + file);
})

于 2017-05-05T19:05:59.163 回答
3
app.on('message', function (ctx, next) {
    ctx.telegram.sendMessage(ctx.message.chat.id,
      "File content at: " + new Date() + " is: \n" + file
    )
});
于 2017-08-23T07:39:10.453 回答