使用telegram-电报telegram技巧分享

telegram服务通知

使用Telegram Bot的智能手机上的通知和警报

概述

Telegram提供了创建被视为第三方应用程序的Telegram Bot的大概性。

因此在本教程中我们将演示怎样创建Telegram Bot 并将你的ThingsBoard规矩!引擎设置为可以或许使用Rest API调用扩展将通知发送到Telegram App。

用例

本教程基于 创建和扫除警报 教程。

我们将重用上述教程中的规矩链,并将添加更多规矩节点以与Telegram集成

假设你的装备正在使用DHT22传感器来收集温度读数并将其推送到ThingsBoard。

DHT22传感器实用于-40至80°C的温度读数。假如温度超出范畴,我们盼望天生警报,并在警报创建时向Telegram App发送通知。

在本教程中我们将ThingsBoard规矩引擎设置为:

先决条件

我们假设你已完成以下指南并察看了以下文章:

消息流

在本节中我们将讲明本教程中每个节点的用途:

创建Telegram Bot

The BotFather 是重要的机器人可帮助你 create 新的bot并变动其设置。

Telegram Bot创建完成后为新Telegram Bot天生授权令牌

‘110201543:AAHdqTcvCH1vGWJxfSeofSAs0K5PALDsaw’

先决条件:

  • ThingsBoard 启动并运行
  • Telegram Bot 创建

获取Chat ID

在下一步中,我们需要获取一个Chat ID通过HTTP API发送 Chat ID。

有以下几种获取Chat ID的方法:


https://api.telegram.org/bot

"YOUR_BOT_TOKEN"

/getUpdates

"YOUR_BOT_TOKEN"

必须更换为你的机器人的身份验证令牌, 比方: https://api.telegram.org/bot110201543:AAHdqTcvCH1vGWJxfSeofSAs0K5PALDsaw/getUpdates

从即将到来的数据中,你可以找到字段

‘id’

。这就是chat_id。

image
image

之后,你可以开始设置规矩引擎以使用Rest API调用扩展。

设置Rule Chains

在本教程中,我们使用了 创建和扫除警报 教程中的规矩链。

我们通过添加上述 消息流 部分中所述的节点,修改了规矩链

Create & Clear Alarms

并将此规矩链重定名为:

Create/Clear Alarms & send notifications to Telgram


以下屏幕截图表现了以上规矩链的表面:


Create/Clear Alarms & send notifications to Telgram:

image
image

下载json

文件



Create/Clear Alarms & send notifications to Telgram

规矩链。

下一节将向你展示怎样重新开始修改此规矩链。

修改

Create/Clear Alarm & Send Email

添加所需的节点

在此规矩链中你将创建2个节点如以下各节所述:

节点A:

Transform Script



{


"chat_id"


:


"PUT YOUR CHOSEN CHAT_ID"


,


"text"


:


"SOME MESSAGE YOU WANT TO RECEIVE"


}




var


newMsg


=


{};


newMsg


.


text


=


'"'


+


msg


.


name


+


'"'


+


" alarm was created for device: "


+


'"'


+


metadata


.


deviceName


+


'"'


;


newMsg


.


chat_id


=


337878729


;


//has to be replaced by the actual chat id


return


{


msg


:


newMsg


,


metadata


:


metadata


,


msgType


:


msgType


};

  • 输入名称

    New telegram message

    .
  • image

    节点B:

    REST API Call

      添加

      REST API Call

      节点并将其连接到关联种类为

      Success



      Transform Script

      节点。

      此节点将向设置的REST端点发送完备的消息payload。在我们的例子中它是Telegram REST API。

      在本教程的范畴内,我们将使用

      ‘/sendMessage’

      行动路径来引用Telegram Bot API发送消息。

    • 填写下表中输入的数据字段:


      Field


      Input Data

      Name REST API telegram Call
      Endpoint URL pattern https://api.telegram.org/bot”YOUR_BOT_TOKEN”/sendMessage
      Request method POST
      Header Content-Type
      Value application/json

    image

    进行遥测并验证

    对于公布装备遥测我们将使用Rest API 遥测上传API 。为此我们将需要复制装备

    Thermostat Home

    的访问令牌。

    image

    公布temperature = 99.创建警报:


    curl -v -X POST -d

    '{"temperature":99}'

    http://localhost:8080/api/v1/

    $ACCESS_TOKEN

    /telemetry --header

    "Content-Type:application/json"


    **

    你需要将

    $ACCESS_TOKEN

    更换为实际的装备令牌

    **

    你应该理解仅在创建警报的环境下,更新警报时不会将消息发送到Telegram App。

    最后我们可以看到收到的消息具有准确的值:

    image
    image

    别的你可以:

    请参阅

    另请参阅

    部分下的的链接,以理解怎样实行此操作。

    另请参阅

    下一步

      入门指南 – 这些指南提供了ThingsBoard重要功能的快速概述。

      安装指南 – 理解怎样在种种操作系统上安装ThingsBoard。

      装备连接 – 理解怎样根据您的连接方法或解决方案连接装备。

      数据看板 – 这些指南包含有关怎样设置庞杂的ThingsBoard仪表板的说明。

      数据处置 – 理解怎样使用ThingsBoard规矩引擎。

      数据分析 – 理解怎样使用规矩引擎实行基本的分析使命。

      高级功能 – 理解高级ThingsBoard功能。

      开发指南 – 理解ThingsBoard中的贡献和开发。


    更新于 2021-01-25

    思量到平常有使用一些主动化程序来实行使命,不停缺乏一种时候给自己通知主动化程序运行环境的方法,近来理解到Telegram Bot 的 API 非常强盛,基本可以满意推送通知的大部分要求。

    留意

    这篇文章是tg bot的入门,但是并没有使用库函数,而是说明了shell脚本或在下令行中发送通知的方法。

    BOT前期设置

    1. 前期预备

    2. Bot token的获取

    在 tg 中打开与 TelegramBotFather 的对话,输入

    /start

    , 随后会收到一系列指令及其说明,你可以细致看一下。

    我们输入

    /newbot

    的指令,输入bot的名字,如

    xjt_private

    , 随后输入用户名(需要以bot末端),如

    xjt_private_bot

    随后我们将收到一段信息,此中包括了如下部分:


    Use this token to access the HTTP API: 1111111111:AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA

    留意

    这段token是你的bot的绝对的访问权限,假如泄漏大概有被盗用的风险,而且,假如被滥用该bot将被封禁。

    3. 获取相对于bot(或其他人)来说,你的chat_id

      用客户端向你的 bot 任意说一句话【在搜索栏搜索你适才设置的用户名即可找到你的BOT,或这你可以在 bot father 给你发送token的那段话中找到你的bot的链接】

    1. 用你的 token 更换掉下面的toen,得到一个链接


      https://api.telegram.org/bot1111111111:AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA/getUpdates

    2. 在browser中访问它,要么使用


      wget https://api.telegram.org/bot1111111111:AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA/getUpdates

    3. 尔后,我们将得到一段json字符,找到id字段后边的那一串数字,如

      727830470

      ,留意不是

      update_id

    4. 第一条消息


    curl --data

    chat_id


    =


    "727830470"

    --data

    "text=Hello, World."


    "https://api.telegram.org/bot1111111111:AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA/sendMessage"

    此时,我们就应该收到 bot 发送来的消息了。

    5. 封装脚本

    创建如下的

    bot.sh

    ,只需

    bash bot.sh

    即可主动发送消息。



    #!/bin/bash


    TOKEN


    =

    <TOKEN>

    CHAT_ID


    =

    <CHAT_ID>

    MESSAGE


    =


    "Hello World"


    URL


    =


    "https://api.telegram.org/bot


    $TOKEN


    /sendMessage"

    curl -s -X POST

    $URL

    -d

    chat_id


    =


    $CHAT_ID

    -d

    text


    =


    "


    $MESSAGE


    "

    也可以发送文件


    #!/bin/bash TOKEN=<TOKEN> CHAT_ID=<CHAT_ID> CAP="Run Script" FILE="log.txt" URL_FILE="https://api.telegram.org/bot${TOKEN}/sendDocument" curl -s -X POST $URL_FILE -F chat_id=$CHAT_ID -F caption="$CAP" \ -F document=@"$FILE" > /dev/null

    Telegram 主动通知脚本运行结果 – Fing’s Blog (imfing.com)

    微软 Microsoft Bot FrameWork Microsoft Bot Framework

    Server/RunScript Telegram Alert Bot | by SemiQuant | Medium 免费版景象气候服务(cityid)-墨迹气候【最新版】_空气质量_气候预告_API-云市场-阿里云 (aliyun.com)

    运营UGC时通常都需要某种消息推送服务,当服务器发生重要性事件时,可以或许即时通知。已往我常使用的email推送,近来发现似乎telegram推送也很强盛好玩,如今分享一下怎样实现。

    1, Telegram方面的设置, 首先你得有个telegram账号并安装好桌面端.

    1.1 整一个telegram bot, 可以通过点击这里来创建: TelegramBotFather , 在与它的对话框中输入

    /start


    /newbot

    等指令,根据提示一步步,到最后得到一个新bot,以及一串形如以下的token:


    987654321:FEDCBA_dfoiuweSWEczgxT7-l4r9Y

    这串工具不应泄漏给他人,不然被人滥用的话会导致该bot被禁止.

    1.2 找到你的telegram chat_id:

    1.2.1 用客户端往bot发言, 内容是什么不重要

    1.2.2 将前面得到的token更换掉这个url中的XYZ部分,

    https://api.telegram.org/botXYZ/getUpdates

    它实际上应该看上去应该是这样的:

    https://api.telegram.org/bot987654321:FEDCBA_dfoiuweSWEczgxT7-l4r9Y/getUpdates

    然后访问这个url, 在返回的json中你很轻易可以找到

    id

    这个键(与username,first_name)相近. 那串数字(139000174)就是要找的id

    1.2.3 好了, 有了token和 chat_id 就可以从

    bot



    自己

    发消息了, 试一试:


    curl -k --data chat_id="139000174" --data "text=Have a good journey, Mr. Weyland." "https://api.telegram.org/bot987654321:FEDCBA_dfoiuweSWEczgxT7-l4r9Y/sendMessage"

    此时客户端应立刻收到来自David的消息: “Have a good journey, Mr. Weyland.” 哈哈哈.

    2, 实现推送的脚本代码 好了, 基本所需变量已经预备停当, 测试也通了, 接下来需要好用的脚本使得跑起来更随手. github上有许多差别语言实现的telegram bot, 这里我选用了 pyTelegramBotAPI

    2.1 安装

    pip install pyTelegramBotAPI

    2.2 使用.这里我们由于是给自己推消息,以是可以略去他家 readme 中的大部分内容,直奔api而去:


    import telebot bot = telebot.TeleBot("YOUR TOKEN") bot.send_message("YOUR CHAT_ID", text)

    就是这么简单了! 最后,应参考 telegram bot 的官方 api , 看看是否用得上多媒体/图片/声音/HT!ML/markdown 等参数, 根据自己实际需求定义个函数包裹一下. 需要提示的是, 假如发送html格式的话, 能用的tag有限, 并且不能嵌套tag, 还是参考api 文档吧! 事情就是这么简单,且又好使. 微信那里要实现类似功能,得用公司资质申请个啥服务号, 每年300元, 不便宜又有风险. Telegram 联合channels,group,bot,组成了一个极其多样化而且提供强盛本领的平台,除开被墙这个因素,很值得自媒体从业职员和开发者投入精神。

    本文网址:

    http://www.1cm8858.com/d/202141293839_3279_613476248/home

    Ten articles before and after

    中文电码查询电报码-电报telegram技巧分享

    文化之谜:标点符号的起源这些你会用吗?快来跟老师一起学学用法口诀吧-电报telegram技巧分享

    你好3.预防电瓶亏电很多车子自带报警器-电报telegram技巧分享

    胡适的白话电报普通话考试朗读材料:-电报telegram技巧分享

    电力设备断电报警系统厂家TankAlert®AB液位报警器-电报telegram技巧分享

    次元链接@cylink-电报telegram技巧分享

    telegram是什么意思-电报telegram技巧分享

    只会用微信传文件?好用的大文件传输工具有哪些-电报telegram技巧分享

    干物妹小埋bgm鬼子电报员是什么梗啊?-电报telegram技巧分享

    What is 25/30 as a percentage? – Convert 25/30 to percent