我正在尝试使用Python在我的kik bot上设置一个开放的聊天消息,似乎无法找到这个问题的答案。 StartChattingMessage()
是我应该用来发送第一条消息的。
以下是我的代码,理想情况是,当用户响应您的机器人时,您可以通过从JSON有效负载获取chat_id
和from_user
,但在用户输入之前发送任何消息在任何文本中,我想向用户显示欢迎消息,而用户根本不需要说什么。但是,要发送任何消息,您需要chat_id
和from_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)