首页 > 解决方案 > 如何使用电报(电报框架)将聊天ID保存到文件中

问题描述

这是我在 Heroku 上托管的电报机器人代码。我正在使用 Telegraf 框架。

我正在尝试收集From Chat ID使用ctx.from.id并将其保存到文件中。我不知道为什么它不保存。

const Telegraf = require('telegraf')
const express = require('express')
const fs = require('fs')

var BOT_TOKEN = "TOKEN-HIDDEN"

const expressApp = express()

const port = process.env.PORT || 3000
expressApp.get('/./', (req, res) => {
  res.send('Running')
})
expressApp.listen(port, () => {
  console.log(`Listening on port ${port}`)
})


const bot = new Telegraf(BOT_TOKEN)
bot.start((ctx) => ctx.reply("Welcome to my chatbot"))
bot.startPolling()

fs.appendFile('file.txt', "ctx.from.id", function (err) {
    if (err) return console.log(err);
    console.log('done');
});

标签: node.jstelegramtelegram-bot

解决方案


这里的错误很少

1:您编写了在电报功能之外保存聊天ID的功能。

2:您使用ctx.from.idas/in string

如果您尝试在机器人启动时保存聊天 ID,那么代码应该是

bot.start((ctx) => {
    ctx.reply("Welcome to my chatbot");
    fs.appendFile('file.txt', ctx.from.id + ",", function (err) {
        if (err) return console.log(err);
        console.log('done');
    });
});

推荐阅读