PowerAutomate 的基本结构
简单而言, PowerAutomate 可以算这样组成:
Connection(Trigger) –> PowerAutomate –> Connection(Worker)
也就是说 Connection 这玩意有两个用途, 可以接收信息, 也用来进行操作.
众所周知, 一个完整的 Workflow 应当由很多个 Connection 构建而成, 那让我们开始尝试吧.
从 Telegram BOT API 入手
不熟悉 Telegram BOT API 怎么办, 真的要看那又臭又长的文档吗?
其实不然, 如果你的需求只是向某个用户/频道发送文本信息, 只需要简单的 GET/POST 请求就可以实现.
我们首先来尝试获取 BOT 本身的状态(即接收信息等)
在进行下面的请求前, 我向 BOT 发送了一条消息, 文本是 1
GET /getUpdates
Host api.telegram.org/[Your-BOT's-Key]
Content-Type: application/x-www-form-urlencoded
亦或者, 你可以将上文中的 getUpdate 修改为 getMe 获取你的 BOT 的详细信息
接下来就是发送消息了, 也很简单
POST /sendmessage
Host api.telegram.org/(Your-BOT's-Key)
Content-Type: application/x-www-form-urlencoded
chat_id=(THE-ID-TO-RECEIVE-MESSAGE)&text=(YOUR-MESSAGE)
或者使用 GET
GET /sendmessage?chat_id=(THE-ID-TO-RECEIVE-MESSAGE)&text=(YOUR-MESSAGE)
Host api.telegram.org/(Your-BOT's-Key)
Content-Type: application/x-www-form-urlencoded
*请勿将括号带入!
chat_id 可以是频道/群组/用户的id
SendMessage
接入自定义 PowerAutomate Connection
在 PowerAutomate > 数据 > 自定义连接器 中, 选择 新的自定义连接器 > 从空白创建 , 随意起个名字, 让我们开始吧.
如果你图方便的话
打开 Swagger编辑器 ,在左侧栏中填入如下内容
swagger: '2.0'
info: {title: Telegram, description: '', version: '1.0'}
host: api.telegram.org
basePath: /
schemes: [https]
consumes: []
produces: []
paths:
/(Your-BOT's-Key)/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: []
这是我之前写的配置, 只需要修改里面的 (Your-BOT's-Key) 就可以使用了.
如果你想折腾的话
常规
在 常规 选项卡中像这样填写:
安全性
只需要在 安全性 选项卡中选择 无身份验证 .
定义
定义 选项卡是最为重要的.
首先要创建一个 操作 , 并随便定义一个 操作ID.
然后选择 请求 中的 从示例导入 , 定义为POST请求, 并输入 https://api.telegram.org/(Your-BOT's-Key)/sendmessage?chat_id=(THE-ID-TO-RECEIVE-MESSAGE)&text=(YOUR-MESSAGE)
建议输入前先把括号里的内容补充完整, 也许有助于 PowerAutomate 进行自动的正则匹配.
然后, PowerAutomate 将会自动识别请求, 就像这样:
保存你的自定义连接器, 你也可以在 测试 选项卡中测试你的配置.
开始配置 Workflow
我将以创建一个追踪 甘城なつき 推文的 BOT 为目的介绍配置方法.
创建 Workflow
在 创建 选项卡中的 从空白开始 下选择 生成自动化云端流
在 选择流的触发器 搜索 twitter, 并进行创建
编辑 Workflow
Edit-Flow
Trigger 一般都提供很多动态内容, 可以根据此来丰富发送至 Telegram 的文本内容
完成后大概是这样:
在 Telegram 查看是这样:
声明:来源:https://blog.shisheng.icu/2021/11/13/PowerAutomate-based-Telegram-Bot