Как я могу получить Twitch.tv Webhooks на Python? - PullRequest
0 голосов
/ 05 сентября 2018

Я пытаюсь создать простой Discord Bot, который будет публиковать сообщения, когда стример будет запущен, но я не уверен, как использовать веб-зацепы Twitch без веб-сайта? Можно ли обработать все это в скрипте 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 рекомендует веб-крючкам проверить, когда поток начинает работать, и я просто хочу попытаться узнать это.

1 Ответ

0 голосов
/ 07 сентября 2018

Узнал, как это отсортировать (вроде) и подумал, что я отвечу здесь.

Я должен запустить веб-сервер, чтобы принять данные, так что это то, что у меня есть. В функции POST web.data является ответом, который говорит, является ли поток живым / нет и т. Д.

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()
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...