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。
之后,你可以开始设置规矩引擎以使用Rest API调用扩展。
设置Rule Chains
在本教程中,我们使用了 创建和扫除警报 教程中的规矩链。
我们通过添加上述 消息流 部分中所述的节点,修改了规矩链
Create & Clear Alarms
并将此规矩链重定名为:
Create/Clear Alarms & send notifications to Telgram
。
以下屏幕截图表现了以上规矩链的表面:
Create/Clear Alarms & send notifications to Telgram:
下载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
.
节点B:
REST API Call
-
填写下表中输入的数据字段:
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
添加
REST API Call
节点并将其连接到关联种类为
Success
的
Transform Script
节点。
此节点将向设置的REST端点发送完备的消息payload。在我们的例子中它是Telegram REST API。
在本教程的范畴内,我们将使用
‘/sendMessage’
行动路径来引用Telegram Bot API发送消息。
进行遥测并验证
对于公布装备遥测我们将使用Rest API 遥测上传API 。为此我们将需要复制装备
Thermostat Home
的访问令牌。
公布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。
最后我们可以看到收到的消息具有准确的值:
别的你可以:
请参阅
另请参阅
部分下的的链接,以理解怎样实行此操作。
另请参阅
下一步
入门指南 – 这些指南提供了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
-
用你的 token 更换掉下面的toen,得到一个链接
https://api.telegram.org/bot1111111111:AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA/getUpdates
-
在browser中访问它,要么使用
wget https://api.telegram.org/bot1111111111:AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA/getUpdates
用客户端向你的 bot 任意说一句话【在搜索栏搜索你适才设置的用户名即可找到你的BOT,或这你可以在 bot father 给你发送token的那段话中找到你的bot的链接】
尔后,我们将得到一段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技巧分享
你好3.预防电瓶亏电很多车子自带报警器-电报telegram技巧分享
胡适的白话电报普通话考试朗读材料:-电报telegram技巧分享
电力设备断电报警系统厂家TankAlert®AB液位报警器-电报telegram技巧分享
只会用微信传文件?好用的大文件传输工具有哪些-电报telegram技巧分享