- html - 出于某种原因,IE8 对我的 Sass 文件中继承的 html5 CSS 不友好?
- JMeter 在响应断言中使用 span 标签的问题
- html - 在 :hover and :active? 上具有不同效果的 CSS 动画
- html - 相对于居中的 html 内容固定的 CSS 重复背景?
我正在尝试将 Telegraf 库与 Firebase Functions 结合使用,但它没有像我预期的那样工作。
我关注这些 this article和说明,如 webhooks (as appears for express example) 中所示和 webhookcallback如电报文档中所示。
const Telegraf = require('telegraf')
// The Cloud Functions for Firebase SDK to create Cloud Functions and setup triggers.
const functions = require('firebase-functions')
// The Firebase Admin SDK to access the Firebase Realtime or Firestore Database.
const admin = require('firebase-admin')
// set telegraf and responses.
const BOT_TOKEN = 'my-telegram-bot-token'
const bot = new Telegraf(BOT_TOKEN)
bot.start((ctx) => ctx.reply("Start instructions"))
bot.help((ctx) => ctx.reply("This is help"))
bot.hears('hi', (ctx) => ctx.reply('Hola'))
bot.on('text', (ctx) => ctx.reply('Response to any text'))
bot.catch((err, ctx) => {
console.log(`Ooops, ecountered an error for ${ctx.updateType}`, err)
})
// initialize bot
bot.launch() // <-- (2)
//appends middleware
exports.ideas2coolBot = functions.https.onRequest(bot.webhookCallback(`/my-path`));
在 firebase 服务器中,我需要添加 bot.launch() (2) 才能开始工作,但它仅适用于 Firebase 函数中设置的最大超时。我需要调用 Telegram“setWebhook”API 才能再次开始工作并且它同时工作。就像它生成一个函数实例,并在时间结束时关闭。
我注意到 telegraf.launch() 可以选择以 poll 或 webhook 模式启动,但我不太清楚如何使用这些选项。
我应该如何使用 telegram.launch() 在 Firebase 的 webhook 模式下工作?
编辑:当我使用 getWebhookInfo我得到这个结果:
{
"ok": true,
"result": {
"url": "https://0dbee201.ngrok.io/test-app-project/us-central1/testAppFunction/bot",
"has_custom_certificate": false,
"pending_update_count": 7,
"last_error_date": 1573053003,
"last_error_message": "Read timeout expired",
"max_connections": 40
}
}
控制台显示传入连接但什么都不做...
i functions: Beginning execution of "ideas2coolBot"
i functions: Finished "ideas2coolBot" in ~1s
编辑2:
我也一直在尝试添加 Express...
app.use(bot.webhookCallback('/bot'))
app.get('/', (req, res) => {
res.send('Hello World from Firebase!')
})
exports.ideas2coolBot = functions.https.onRequest(app);
它在 '/' 路径下有效,但在 '/bot' 中什么也没有。 POST 到 '/bot' 没有响应。
顺便说一下,我尝试了一个快速独立版本并且工作完美,但是将它与 firebase 一起使用没有响应(“读取超时已过期”)。
最佳答案
删除
bot.launch()
尝试添加这个
exports.YOURFUNCTIONNAME = functions.https.onRequest(
(req, res) => bot.handleUpdate(req.body, res)
)
然后手动设置你的 webhook
https://api.telegram.org/bot{BOTTOKEN}/setWebhook?url={FIREBASE FUNCTION URL}'
关于firebase - 如何在 Firebase 中使用 Telegraf(电报)?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/58731075/
我们的物联网设备大多与互联网连接良好,但网络有可能出现故障。对于这种情况,设备本身会做正确的事情(虽然它不能再被主动控制)。我们仍然希望获取网络关闭时间的指标数据。 这意味着设备本地电报需要收集指标数
我正在经历https://github.com/influxdata/telegraf/tree/master/plugins/outputs/file 但是没有选项可以轮换日志文件。 这会导致创建巨
这是自己添加的问答,我使用的是telegraf的Telegraf 1.14.0版本,我在中配置了几个input.exec插件telegraf.conf 文件,现在想检查我的配置是否适用于所有配置的插件
我们正在使用 telegraf从 AWS 收集 CloudWatch 数据并将其输出到 InfluxDB。 我们需要给输入添加动态标签,s.t if "instancId == 12345" , 添加
做这篇文章是因为一个朋友想要做Telegraf监控,存入到InfluxDB里,虽然我不理解为什么要这么做,但还是一本正经地研究了起来,愈发觉得这组合确实不错,随着不断地深入发现,这东西居然和Za
我正在尝试让电报与 influxdb 一起工作,但我刚刚碰壁了。我在我的 Telegraf 配置文件中添加了以下块: [[inputs.win_perf_counters.object]] # Pro
我在 Synlogy NAS 的容器中运行 telegraf。当我在 telegraf.conf 中进行一些更改时,只是询问重新加载配置的最佳方法是什么。 我在这里看到了重启整个容器的建议: http
我的 telegraf.conf 中有以下输入到 Grafana。我可以让更简单的前 3 个示例工作,但无法让第 4 个示例工作。 [[inputs.exec]] commands = ["sh -c
我有一个自定义的 python 插件,用于将数据拉入 Telegraf。它按预期打印出线路协议(protocol)输出。 在我的 Ubuntu 18.04 环境中,当这个插件运行时,我在我的日志中看到
我设法从单个 Tomcat 实例收集数据到 Telegraf,如下所示。 [[inputs.tomcat]] ## URL of the Tomcat server status url =
我是Telegraf的初学者,我想安装一个“输入插件”。我有配置文件和.go文件,但是即使在Google上搜索后,我也不知道该怎么做。 先感谢您 ! 最佳答案 Telegraf东西安装在/ etc /
对于我们需要在简单键盘(非内联)中将数据传递给回调按钮的内容,如果这不重要的话? 示例: const mainMenuKeyboard = Markup.InlineKeyboard([ Mark
我创建了一个在我们的系统中运行的 systemd 服务,我想使用我已经安装在实例上的 telegraf 代理来监控它。代理目前正在监控基本的基础设施,我需要为新服务添加监控。 我找不到任何关于如何做到
对于如何构建一堆 telegraf + InfluxDB + Grafana 以监控一组机器,我将不胜感激。 我的场景 我已经在我称之为“监控实例”的机器上成功安装了堆栈 telegraf + Inf
我们需要监控一个目录的大小(例如InfluxDB的数据目录),以便在Grafana中设置警报。正如这里提到的:How to configure telegraf to send a folder-si
我创建了一个在我们的系统中运行的 systemd 服务,我想使用我已经安装在实例上的 telegraf 代理来监控它。代理目前正在监控基本的基础设施,我需要为新服务添加监控。 我找不到任何关于如何做到
大家好,我是 Telegraf 和 Influxdb 的新手。我知道我们可以使用 Telegraf 跟踪(监视)本地文件(在安装 Telegraf 的同一台机器上),并使用 Telegraf 的 [[
对于如何构建一堆 telegraf + InfluxDB + Grafana 以监控一组机器,我将不胜感激。 我的场景 我已经在我称之为“监控实例”的机器上成功安装了堆栈 telegraf + Inf
我正在构建一个钱包机器人,我想知道如何为唯一用户启动 session 。例如,在此 session 中,我需要一个包含唯一用户标识符、公钥和 key 的对象,以便他们可以在启动机器人后访问它。 我是这
你好,我想知道是否有人已经准备好为 Influxdb 添加一个插件到 telegraf。我有我的 go 代码,它正在工作。接下来我需要做什么以及将这些文件放在哪里? 我发现我需要做这样的事情: typ
我是一名优秀的程序员,十分优秀!