我是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
这有什么好方法?感谢您的任何信息!