将 kik bot 部署到 heroku 不工作

deploying kik bot to heroku not working

我一直在尝试将我的 kik api 部署到 heroku,但它无法正常工作。我已经设置了我的 procfile、我的 requirements.txt 文件、我的 runtime.txt 文件,它在我的机器上显示为 运行ning 正常。但是,当我在 phone 上打开 kik 应用程序并尝试向机器人发送消息时,消息没有发送,它也没有回显我的消息。通过使用 ngrok 作为 webhook,我能够让机器人工作并很好地回显消息。但是,当我尝试部署到 heroku 时,它根本不起作用。作为参考,kik bot 是使用 flask 和 kik api 编写的,这是我的代码

from flask import Flask, request, Response
import os 
from kik import KikApi, Configuration
from kik.messages import messages_from_json, TextMessage

app = Flask(__name__)
BOT_USERNAME = os.environ['BOT_USERNAME'] 
BOT_API_KEY= os.environ['BOT_API_KEY']
kik = KikApi(BOT_USERNAME, BOT_API_KEY)
config = Configuration(webhook=os.environ['WEBHOOK'])
kik.set_configuration(config)
@app.route('/', methods=['POST'])
    def incoming():
        if not kik.verify_signature(request.headers.get('X-Kik-Signature'), request.get_data()):
            return Response(status=403) 

    messages = messages_from_json(request.json['messages'])

    for message in messages:
        if isinstance(message, TextMessage):
            kik.send_messages([
                    TextMessage(
                    to=message.from_user,
                    chat_id=message.chat_id,
                    body=message.body
                    )
            ])

    return Response(status=200)

if __name__ == '__main__':
    # Bind to PORT if defined, otherwise default to 5000.
    print('HI') 
    port = int(os.environ.get('PORT', 5000))
    app.run(host='0.0.0.0', port=port)

这是我的 requirements.txt

Flask==0.11.1
kik==1.1.0
gunicorn==19.6.0

这是我的 runtime.txt

python-2.7.12

这是我的 procfile

web: python bot.py

我将 webhook 变量设置为 heroku URL。当我在本地 运行 应用程序时,它似乎 运行ning 就好了。

Heroku local app

非常感谢任何帮助。

我想通了这个问题。我为我的 heroku 部署设置了错误的环境变量,所以它抛出了一个 keyerror,因为它找不到密钥并停止了进程。