Python - Желание передавать данные из одного скрипта в другой, пока они оба работают - PullRequest
0 голосов
/ 07 сентября 2018

Итак, я делаю Discord Bot, который публикует сообщения, когда человек выходит на Twitch.tv. На данный момент у меня есть программа на Python, которая запускает бота, и программа, которая запускает мини-сервер для получения данных с сервера Twitch (webhook). Я не уверен в том, как передать данные, которые я получаю с моего сервера, на диск-бота. Обе программы должны быть запущены одновременно.

DiscordBot

import discord


client = discord.Client()




async def goes_live(data):
    print(data)
    print('Going Live')
    msg = '--- has gone live'
    await client.send_message(discord.Object(id='---'), msg)


@client.event
async def on_message(message):
    if message.author == client.user:
        return

    message.content = message.content.casefold()


@client.event
async def on_ready():
    print('Logged in as')
    print(client.user.name)
    print(client.user.id)
    print('------')


client.run('---')

Веб-сервер

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()

Ответы [ 2 ]

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

Как насчет использования сервера Flask, который управляет связью между двумя программами. Вы можете определить пользовательские конечные точки, которые смогут захватывать данные, а также отправлять их в сценарий разногласий.

@app.route('/ep1', methods = ['GET','POST'])
def ep1():
    if request.method == 'POST':
        #do something for a POST request. 
    else:
        #do something for a GET request.

Вы можете использовать эту структуру для создания чего-то, что прослушивает изменения, а затем публикует их на диск-бота. Также хостинг этого сервера на heroku - это то, что вы можете рассмотреть

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

Бот и мини-сервер работают на одной машине? В этом случае вы просто заставляете сервер записывать файл в место, куда бот может периодически обращаться и проверять.

...