Python - 到 Telegram 的 Slack 传出 webhook

Python - Slack outgoing webhook to Telegram

我正在开发一个 webhook,它可以将 Telegrams 消息发送到 Slack 并将 Slack 消息发送到 Telegram;现在我可以将 Telegram 消息发送到 Slack,但我无法从 Slack 发送到 Telegram,因为我不知道如何获取数据。正如 Slack 文档所述,在 POST 请求上发送的数据是这样的:

token=XXXXXXXXXXXXXXXXXX
team_id=T0001
team_domain=example
channel_id=C2147483705
channel_name=test
timestamp=1355517523.000005
user_id=U2147483697
user_name=Steve
text=googlebot: What is the air-speed velocity of an unladen swallow?
trigger_word=googlebot:

内容类型为application/x-www-form-urlencoded

从该数据中我想得到 user_nametext

在我的 Flask 代码上,我什么都没有,因为我不知道如何接收该数据,也不知道如何在控制台上看到它,所以我可以尝试提取它并将其发送到 Telegram,这是我唯一拥有 Slack webhook 的东西只是因为我想看看它是否在工作,我认为这些代码行现在不相关:

@app.route("/" + SLACK, methods=['POST'])
def slack_handler():
    if request.method == "POST":
        return "POST"

这就是我的问题;我如何接收、存储该数据?如果我应该解释更多我的问题,请让我知道并感谢您的帮助。

只要您的 slack webhook 配置得当,您就应该能够像对待表单一样对待它。以下应该有效-

from flask import Flask, request

slack_webhook = your_webhook_here
@app.route('/slack', methods=['POST'])
def slack():
    if request.form.get('token') == slack_webhook:
         channel = request.form.get('channel')
         username = request.form.get('username')
         return "Channel: " + channel + "Username: " + username
    else:
       return "None found"

阅读此 post 了解更多信息- realpython.com