什么是Power Automate
Power Automate 是一种可用于在用户最喜欢的应用和服务之间创建自动化工作流的服务,其功能包括同步文件、获取通知、收集数据等。
提前准备工作
- Microsoft 账户,注册Power Automate
- Telegram 账户,取得你的 user_id, chat_id和bot token
开始搭建
测试Telegram bot API
BOT_TOKEN: 你的机器人token,初始可在 Telegram: Contact @botfather 找到
CHAT_ID: 你的频道,群组或用户的id
TEXT: 填写任意测试文本
若需测试,则在如下URL中大括号(包括大括号)里的内容替换为你的值
https://api.telegram.org/bot{BOT_TOKEN}/getUpdates
https://api.telegram.org/bot{BOT_TOKEN}/sendMessage?chat_id=-{CHAT_ID}&text={TEXT}
接入自定义PowerAutomate Connection
PowerAutomate > 数据 > 自定义连接器
中, 选择 新的自定义连接器 > 从空白创建
如需快速配置,则切换到 Swagger 编辑器并粘贴如下模板,只需替换掉{Bot_Token}即可
swagger: '2.0'
info: {title: Telegram, description: '', version: '1.0'}
host: api.telegram.org
basePath: /
schemes: [https]
consumes: []
produces: []
paths:
/bot{Bot_Token}/sendmessage:
post:
responses:
default:
description: default
schema: {}
summary: Send Message to Telegram
operationId: send-message
parameters:
- {name: chat_id, in: query, required: true, type: integer}
- {name: text, in: query, required: true, type: string}
definitions: {}
parameters: {}
responses: {}
securityDefinitions: {}
security: []
tags: []
如需常规操作,请参考如下配置(常规——安全性——定义)
常规
方案选择 HTTPS,主机选择 api.telegram.org
,基 URL 选择 /
安全性
此处的身份验证类型选择无身份验证
定义
新建操作,操作 ID 自己任意定义,如上述代码中的 send-message
,然后选择请求中的从示例导入,定义为POST请求,并输入 https://api.telegram.org/(Your-BOT's-Key)/sendmessage?chat_id=(THE-ID-TO-RECEIVE-MESSAGE)&text=(YOUR-MESSAGE)
建议输入前先把括号里的内容补充完整,也许有助于 PowerAutomate 进行自动的正则匹配
测试
在 chat_id 中填入你的频道,群组或用户的id,在 text 中填入任意文本,然后测试,测试成功则会返回200状态码,同时你的频道,群组或用户也会收到消息
配置Workflow工作流
下面以上传文件到 OneDrive for Business 后触发推送做一个示例
创建 > 从空白开始 > 自动化云端流
或者是 我的流 > 新流 > 自动化云端流
选择流的触发器 > OneDrive for Bussiness > 当创建文件时
,进行初始创建
基本配置如下,记得在高级选项中选择增加子文件夹这个选项,然后 新建步骤 > 自定义 > 你刚刚创建的触发器
保存并手动测试,自己上传任意文件至 OneDrive for Bussiness 任意目录。若成功执行,则在你的群组(针对本例)中会收到机器人发出的信息,并在 Dashboard 上也能看到成功后的记录,至此配置结束。
杂谈
除了上述的例子外,我们还可以调用 GitHub 触发器配合我们的连接器推送给 Telegram Bot,此处就不便多说了,有兴趣的小伙伴们可以尝试一下
参考资料
OneDrive for Business - Connectors | Microsoft Docs
基于 Microsoft PowerAutomate 构建 Telegram BOT - ShiSheng's Blog