Discord.py - 在同步函数中发送消息

时间:2021-06-10 01:42:16

标签: python flask asynchronous discord.py

我目前正在使用 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,但都无法奏效。可以做我正在尝试的事情吗?

0 个答案:

没有答案