0
我一直在试图将我的kik api部署到heroku,但它只是不工作。我设置了我的procfile,我的requirements.txt文件,我的runtime.txt文件,并且它在我的机器上显示为正常运行。但是,当我在手机上打开kik应用程序并尝试向机器人发送消息时,不会发送消息,也不会回应我的消息。通过使用ngrok作为webhook,我能够让机器人工作,并且很好地回应消息。但是,当我尝试部署到heroku时,它根本不起作用。作为参考,KIK机器人使用烧瓶和KIK API编写的,这里是我的代码将kik bot部署到heroku不工作
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。当我在本地运行应用程序时,它似乎运行得很好。
任何帮助是极大的赞赏。
日志说什么? – lonewaft
@lonewaft我可以截图日志,[heroku日志](http://i67.tinypic.com/be81z9.png)。看起来一切都很好。我只是希望有一种方法来调试它,或者看看为什么机器人本地不响应。 – Bob
这些只是部署的日志,当它在服务器上运行时呢? – lonewaft