2

我制作了一个 GroupMe 机器人,它应该回应特定用户所说的内容,但全部大写。我使用这个博客设置了一个在 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 的环境变量。有谁知道为什么这会在群聊中发两次?

4

0 回答 0