Python - Slack传出webhook到Telegram

时间:2016-12-09 07:50:05

标签: python flask telegram slack

我正在开发一个webhook,它将Telegrams消息发送给Slack和Slack消息给Telegram;现在我可以向Slack发送电报信息,但我无法从Slack发送电报,因为我不知道如何获取数据。正如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"

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

1 个答案:

答案 0 :(得分:1)

只要您的松弛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"

阅读这篇文章了解更多相关信息 - realpython.com