我正在开发一个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_name
和text
在我的Flask代码上,我什么都没有,因为我不知道如何接收这些数据,或者如何在控制台上看到它,以便我可以尝试将其提取并发送给Telegram,这是我对Slack webhook唯一的看法,因为我想知道它是否有效,我认为这些代码行现在不相关:
@app.route("/" + SLACK, methods=['POST'])
def slack_handler():
if request.method == "POST":
return "POST"
这就是我的问题;我如何收到,存储该数据?如果我应该解释更多我的问题,请告诉我并感谢您的帮助。
答案 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