如何在 Python 中接收 Twitch.tv Webhook?
How do I receive Twitch.tv Webhooks in Python?
我正在尝试制作一个简单的 Discord Bot,它会在流媒体直播时发布,但我不确定如何在没有网站的情况下使用 Twitch webhooks?是否可以在 Python 脚本中全部处理?
webhookurl = "https://api.twitch.tv/helix/webhooks/hub/"
payload = {"hub.mode":"subscribe",
"hub.topic":"https://api.twitch.tv/helix/users/streams?user_id=27942990",
"hub.callback":url,
"hub.lease_seconds":"0"
}
header = {"Content-Type":"application/json", "Client-ID": clientid}
req = requests.post(url, headers=header, data = payload)
resp = req.json()
print(resp)
不确定要将什么作为回调 URL,因为我没有要响应的网站。
我正在使用 Python 3.6
旁注:我可以查明频道是否直播,但 Twitch 推荐使用 webhooks 来检查流何时直播,我只是想尝试学习这个。
找到了如何排序(有点),我想我会在这里回复。
我必须 运行 一个网络服务器来接受数据,所以这就是我所拥有的。在 POST 函数中,web.data 是表示流是否为 live/not 等
的响应
import web
urls = ('/.*', 'hooks')
app = web.application(urls, globals())
class hooks:
def POST(self):
data = web.data()
print("")
print('DATA RECEIVED:')
print(data)
print("")
return 'OK'
def GET(self):
try:
data = web.input()
data = data['hub.challenge']
print("Hub challenge: ", data)
return data
except KeyError:
return web.BadRequest
if __name__ == '__main__':
app.run()
我正在尝试制作一个简单的 Discord Bot,它会在流媒体直播时发布,但我不确定如何在没有网站的情况下使用 Twitch webhooks?是否可以在 Python 脚本中全部处理?
webhookurl = "https://api.twitch.tv/helix/webhooks/hub/"
payload = {"hub.mode":"subscribe",
"hub.topic":"https://api.twitch.tv/helix/users/streams?user_id=27942990",
"hub.callback":url,
"hub.lease_seconds":"0"
}
header = {"Content-Type":"application/json", "Client-ID": clientid}
req = requests.post(url, headers=header, data = payload)
resp = req.json()
print(resp)
不确定要将什么作为回调 URL,因为我没有要响应的网站。
我正在使用 Python 3.6
旁注:我可以查明频道是否直播,但 Twitch 推荐使用 webhooks 来检查流何时直播,我只是想尝试学习这个。
找到了如何排序(有点),我想我会在这里回复。
我必须 运行 一个网络服务器来接受数据,所以这就是我所拥有的。在 POST 函数中,web.data 是表示流是否为 live/not 等
的响应import web
urls = ('/.*', 'hooks')
app = web.application(urls, globals())
class hooks:
def POST(self):
data = web.data()
print("")
print('DATA RECEIVED:')
print(data)
print("")
return 'OK'
def GET(self):
try:
data = web.input()
data = data['hub.challenge']
print("Hub challenge: ", data)
return data
except KeyError:
return web.BadRequest
if __name__ == '__main__':
app.run()