在Discord.py中一起使用协同程序和事件时遇到问题

时间:2016-09-12 05:14:17

标签: python events flask coroutine

我是Python新手程序员。我写了一个机器人,在Discord中做了一些很酷的事情。其中一件事是使用Twilio发送和接收短信。接收部分给了我一些麻烦。

以下是我的接收功能的基础。 Twilio对我的服务器发出的HTTP请求调用一个事件,该服务器应该调用一个函数来向Discord中的用户发送消息。

app = Flask(__name__)
@app.route("/", methods=['POST'])
def smsResponse():
    text = request.form['Body']
    smsFrom = request.form['From']
    print ("Message received: \"" + text + "\" from " + smsFrom)
    await incomingSms(text, smsFrom)

async def incomingSms(text, number):
    await discordMessage(TEXT_CHANNEL, "Incoming SMS from " + number + ": \"" + text + "\"")

问题是在Discord中发送消息我必须使用用async定义的函数。这意味着对事件内部函数的调用需要" await",但这意味着事件也必须用异步定义,所以相反......

async def smsResponse():

但是我无法做到这一点,因为每次调用事件时它都会给我一个类型错误:

TypeError: 'coroutine' object is not callable

这有什么好方法?感谢您的任何信息!

0 个答案:

没有答案