标签: telegraf

如何通过Telegraf监控目录的大小

我们需要监视目录的大小(例如InfluxDB的数据目录)以在Grafana中设置警报.如上所述:如何配置telegraf将文件夹大小发送到InfluxDB,没有内置的插件.

我们不介意使用inputs.execTelegraf 的部分.目录不是很大(低文件数+ dircount),所以深度扫描(如使用du)对我们来说很好.

我们需要监控的目录之一是/var/lib/influxdb/data.

什么是一个简单的脚本来执行,有什么警告?

du telegraf

3
推荐指数
3
解决办法
2598
查看次数

如何在nodejs电报机器人(telegraf)中回复带有标题的照片

我正在用telegraf编写一个电报机器人。我想在回复消息中发送一张带有文字的照片。我写过这个:

    serviceDetailsScene.on('callback_query', async ({replyWithPhoto}) => {
        await replyWithPhoto({url: <url>})
}
Run Code Online (Sandbox Code Playgroud)

它可以正常工作并正确发送图像,但我不知道如何将消息附加到它。

谢谢你的帮助。

node.js telegram-bot telegraf

3
推荐指数
1
解决办法
9321
查看次数

唯一用户的电报会话?

我正在构建一个钱包机器人,我想知道如何为唯一用户启动会话。例如,在此会话中,我需要一个包含唯一用户标识符、公钥和密钥的对象,以便他们可以在启动机器人后访问该对象。

我在想这样的事情:

var myWallet = (ctx) =>{
return{
  user: ctx.from.id,
  publicKey: wallet.public,
  secretKey: wallet.secret

}
}

bot.command('/myWallet', (ctx)=>{
   ctx.reply(myWallet.user);
   ctx.reply(myWallet.publicKey);
   ctx.reply(myWallet.secretKey);
})
Run Code Online (Sandbox Code Playgroud)

但是当我在我的机器人上输入 /myWallet 时没有任何反应,知道我做错了什么吗?

javascript telegram-bot telegraf

3
推荐指数
1
解决办法
9435
查看次数

如何下载使用 telegraf 模块发送到我的 telegram 机器人的文件或照片?

我正在使用node.js telegraf模块创建一个电报机器人。

我正在使用下面的代码。

var picture = (context)ctx.message.photo[0].file_id; 
var photo = `https://api.telegram.org/bot1234-ABCD/getFile?file_id=${picture}`;
console.log(photo.file_path);
Run Code Online (Sandbox Code Playgroud)

node.js telegraf

3
推荐指数
1
解决办法
1万
查看次数

如何使用 Telegraf API 发送本地存储的照片?

我是这个的初学者。

我正在尝试使用Telegraf API开发 Telegram 机器人。当用户发送某个命令(在我的情况下'/details <number>':)并且机器人必须使用本地存储在机器人文件夹中的特定照片(基于用户键入的数字)时,我被卡住了。

我设法使用 Telegram-bot-api 实现了它,但由于 API 还没有完成,我切换到 Telegraf。我试图理解 Telegraf 的官方文档,但我无法完全理解它。

查看官方示例并将其复制到一个新项目显然有效。

我在本地存储照片时遇到了问题,甚至无法理解“bot.command”此时的工作原理。

这个有效: bot.command('text', ({replyWithPhoto}) => replyWithPhoto(url: <url>)); 当用户输入:'/text' 时,他会根据 URL 取回照片。我以为本地存储的照片是一样的,但事实并非如此..

var filePath = "./assets/monsters/"+monsterList[2].name+"/sample.png";
bot.command('text', ({replyWithPhoto}) => replyWithPhoto(filePath));
Run Code Online (Sandbox Code Playgroud)

文件路径我确定它是正确的。

现在的代码:

bot.on('text', function(ctx){
   var chat_id = ctx.from.id;
   var text = ctx.message.text;

   var index = 0;
   var commandDetails="";
   if (text/includes("/details ")){
      try{
       var split = text.split(' ');
       index = Number(split[1]);
       commandDetails = '/details'+index.toString();
      }catch(e){}
   }

   switch(text){

      case: 'bla bla bla';break; …
Run Code Online (Sandbox Code Playgroud)

javascript node.js telegram-bot telegraf

3
推荐指数
1
解决办法
4232
查看次数

如何使用 telegraf 监控 systemd 服务?

我创建了一个在我们的系统中运行的 systemd 服务,我想使用已安装在实例上的 telegraf 代理来监视它。代理当前正在监视基本的基础设施,我需要向新服务添加监视。

我找不到任何关于如何做到这一点的示例,这很奇怪,我希望 telegraf 有某种用于基本功能的插件。

我的服务正在运行一个不公开任何端口的 python 脚本,因此我可以进行正常的 HTTP 运行状况检查。

任何帮助将不胜感激。

monitoring grafana telegraf

3
推荐指数
1
解决办法
3711
查看次数

如何使用Telegraf尾随远程日志文件

嗨,我是Telegraf和Influxdb的新手。我知道我们可以使用Telegraf尾随(监视)本地文件(在安装Telegraf的同一台机器上),并使用Telegraf的[[inputs.tail]]和[[outputs.influxdb]]插件将输出发送到Influxdb。

但是我想拖尾一个日志文件,该文件位于安装Telegraf之外的其他服务器上。

一种方法是将Telegraf安装在日志文件所在的服务器上:但是我不能这样做,因为该服务器无法将数据发送到Influxdb。它无权访问存在Influxdb的服务器。

因此,我必须使用中间服务器才能将数据发送到InfluxDb。

因此,有一种方法可以拖尾远程文件或其他任何方法。欢迎任何类型的建议。

tail influxdb telegraf telegraf-inputs-plugin telegraf-output-plugins

2
推荐指数
1
解决办法
2492
查看次数

如何在 Firebase 中使用 Telegraf(电报)?

我正在尝试将 Telegraf 库与 Firebase 函数一起使用,但它没有按我预期的那样工作。

我遵循这些本文webhooks 中出现的说明(如快速示例所示)webhookcallback中出现的 Telegraf 文档。

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', …
Run Code Online (Sandbox Code Playgroud)

firebase google-cloud-functions telegraf telegram-webhook

2
推荐指数
1
解决办法
1943
查看次数

Telegraf.js 在 sendPhoto 上添加带有标记的按钮

我有bot.telegram.sendPhoto()这个代码:

bot.telegram.sendPhoto(
  channel_id,
  {source: filepath},
  { 
    caption: description.join("\n"), 
    parse_mode: 'MarkdownV2'
  }
)
Run Code Online (Sandbox Code Playgroud)

(描述是一个带有一些文本的数组。

所以我想添加一些按钮,然后执行一个操作,但我该怎么办?我已经尝试过这样的方式:

const buttons = Markup.keyboard([
            ["Test", "Test2"]
        ]).oneTime().resize().extra()
Run Code Online (Sandbox Code Playgroud)

然后将其添加到 parse_mode 之后的 {...} 中:

{ 
  caption: description.join("\n"), 
  parse_mode: 'MarkdownV2',
  buttons
}
Run Code Online (Sandbox Code Playgroud)

但它不起作用。我也在 {...} 之后尝试过

{ 
  caption: description.join("\n"), 
  parse_mode: 'MarkdownV2'
},
buttons
Run Code Online (Sandbox Code Playgroud)

但它仍然不起作用。那我该怎么办呢?谢谢

node.js telegraf telegraf.js telegram-api

2
推荐指数
1
解决办法
1万
查看次数

Telegraf:在插入 influxdb 之前如何收集十六进制数据并应用函数?

我需要帮助读取十六进制数据并应用公式来转换数据。我的文件用 tail 解析:

2022-09-15 00:04:39 AAA99 BBB99 24 43 B2 50
2022-09-15 00:04:40 BBB99 BBB99 2C 42 F1 4B
Run Code Online (Sandbox Code Playgroud)

我的配置:

[global_tags]
[agent]
  interval = "10s"
  round_interval = true
  metric_batch_size = 1000
  metric_buffer_limit = 10000
  collection_jitter = "0s"
  flush_interval = "10s"
  flush_jitter = "0s"
  precision = ""
  debug = true
  quiet = false
  logtarget = "file"
  logfile = "/var/log/telegraf.log"
  hostname = ""
  omit_hostname = true
[[outputs.influxdb]]
  urls = ["http://127.0.0.1:8086"]
  database = "data_hexa"
  skip_database_creation = false
  timeout = "5s"
  username = "telegraf" …
Run Code Online (Sandbox Code Playgroud)

influxdb telegraf

2
推荐指数
1
解决办法
438
查看次数