如何在发送StartChattingMessage时获得kik api chat_id和from_user值?

时间:2017-01-23 02:19:31

标签: python kik

我正在尝试使用Python在我的kik bot上设置一个开放的聊天消息,似乎无法找到这个问题的答案。 StartChattingMessage()是我应该用来发送第一条消息的。

以下是我的代码,理想情况是,当用户响应您的机器人时,您可以通过从JSON有效负载获取chat_idfrom_user,但在用户输入之前发送任何消息在任何文本中,我想向用户显示欢迎消息,而用户根本不需要说什么。但是,要发送任何消息,您需要chat_idfrom_user值。

# Kik bot messenger using Python 3, Flask, Gunicorn and Jinja 2

from flask import Flask, request, Response
import os
from kik import KikApi, Configuration
from kik.messages import messages_from_json, TextMessage,StartChattingMessage, ScanDataMessage, LinkMessage, \
DeliveryReceiptMessage, ReadReceiptMessage, VideoMessage

app = Flask(__name__)

kik = KikApi("BOT_USERNAME", "BOT_API_KEY")

config = Configuration(webhook='WEBHOOK')
kik.set_configuration(config)


@app.route('/incoming', 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:

    kik.send_messages([
        TextMessage(
            to=message.from_user,
            chat_id=message.chat_id,
            body="Hey Welcome to my chat bot !"
    )]
)

return Response(status=200)

@app.route("/", methods=['GET'])
def hello():
    return "<h1> Hello Welcome To My Kik Bot Messenger, Check out my bot at @afischbacher95 </h1>"

if __name__ == "__main__":
    port = int(os.environ.get("PORT", 5000))
    app.run(host='0.0.0.0', port=port)

0 个答案:

没有答案