2017-05-04 15 views
1

Telegram BotをNode.jsで作成したいのですが、そのために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

[OK]をTY。しかし、チャットIDをパラメータとして追加する必要があります。私はそれをどのように得ることができるか知っていますか? – Nono

+0

見つかりました:https://api.telegram.org/bot[BOT-TOKEN]/getUpdates-> chat-> id – Nono

+1

'app.telegram.sendMessage(chatId、"ファイル内容: "+新しい日付()+ "is:\ n" + file) ' –

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