Python - 希望在数据运行时将数据从一个脚本传递到另一个脚本

问题描述 投票:4回答:2

所以我正在制作一个Discord Bot,当一个人在Twitch.tv上线时发布。目前我有一个运行bot的Python程序和一个运行迷你服务器的程序,用于从Twitch服务器(webhook)接收数据。我不确定如何将我从服务器收到的数据传递给discord bot。两个程序必须同时运行。

Discord Bot

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()
python parameter-passing discord discord.py twitch
2个回答
0
投票

机器人和迷你服务器是否在同一台机器上运行?在这种情况下,您只需让服务器将文件写入机器人可以访问的位置并定期检查。


0
投票

如何使用Flask服务器来处理2个程序之间的通信。您可以定义能够获取数据并将其发送到discord脚本的自定义端点。

@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.

您可以使用此结构构造侦听更改的内容,然后将其发布到discord bot。在heroku上托管这个服务器也是你可能想要考虑的事情

© www.soinside.com 2019 - 2024. All rights reserved.