我目前正在使用 Flask 和 Discord.py 开发 Python 程序。该程序将从 HTTP GET 请求中获取参数,然后机器人将通过消息将它们发送到我的 Discord 服务器中的特定通道。但是,我无法弄清楚每次发送新的 GET 请求时如何发送消息,因为它使用异步函数。我当前的代码是
import os
import discord
from discord.ext.commands import Bot
from flask import Flask, request
from threading import Thread
bot = Bot("!")
messageToSend = ""
recievedMessage = ""
app = Flask('')
@app.route('/')
def home():
return messageToSend
@app.route('/login',methods = ['POST', 'GET'])
def login():
global recievedMessage
if request.method == 'GET':
user = request.args.get('nm')
message = request.args.get('msg')
recievedMessage = f"[{user}]: {message}"
print(recievedMessage)
return user
def run ():
app.run(host='0.0.0.0',port=8080)
def keep_alive():
t = Thread(target=run)
t.start()
@bot.command()
async def send():
message = send_message()
channel = bot.get_channel(852280470384410654)
await channel.send(message)
keep_alive()
bot.run(os.getenv('TOKEN'))
我尝试了其他方法,例如使用 Asyncio,但都无法奏效。可以做我正在尝试的事情吗?