我制作了一个GroupMe机器人,应该回应特定用户所说的内容,但是在所有内容中。我使用this blog设置运行在python服务器上的机器人,使用gunicorn和Flask,然后使用Heroku托管。我已经生成了机器人ID,并且机器人成功地回应了用户,但它已经两次。我使用这个简短的代码来操作机器人:
import os
import json
from urllib.parse import urlencode
from urllib.request import Request, urlopen
from flask import Flask, request
app = Flask(__name__)
bot_id_var = 'TEST_BOT_ID'
# The url that we want to POST to
POST_url = 'https://api.groupme.com/v3/bots/post'
@app.route('/', methods=['POST'])
def webhook():
json_data = request.get_json()
if json_data['name'] == 'Dylan Powers':
# Make the message all upper case
message = json_data['text'].upper()
send_message(message)
# Constructs the message that we would like to send
def send_message(message):
POST_data = {
# Get the bot ID from environment variables
'bot_id': os.getenv(bot_id_var),
'text': message
}
request = Request(POST_url, urlencode(POST_data).encode())
json = urlopen(request).read().decode()
TEST_BOT_ID
是指我创建的包含机器人ID的环境变量。有人知道为什么这会两次发布群聊吗?