2017-05-04 260 views
1

我想創建一個帶有Node.js的Telegram Bot,我正在使用Telegraf。我知道我可以回答這樣的消息:Telegram Bot with Telegraf.js - 發送消息給聊天

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); 
}) 

如果有人能幫助我,那會很好。

回答

0

對此,您可以使用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("File content at: " + new Date() + " is: \n" + file); 
 
})

+0

好TY。但是我必須添加一個聊天ID作爲參數。你知道我怎麼能得到它嗎? – Nono

+0

找到它:https://api.telegram.org/bot[BOT-TOKEN]/getUpdates-> chat - > id – Nono

+1

'app.telegram.sendMessage(chatId,「File content at:」+ new Date()+ 「是:\ n」+文件)' –

0
app.on('message', function (ctx, next) { 
    ctx.telegram.sendMessage(ctx.message.chat.id, 
     "File content at: " + new Date() + " is: \n" + file 
    ) 
});