-
Notifications
You must be signed in to change notification settings - Fork 0
/
Copy pathapp.py
56 lines (40 loc) · 1.2 KB
/
app.py
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
import flask
import json
from flask import Flask, request, Response
from interface import Interface
from processors import Processors
app = Flask(__name__)
interface = Interface()
processor = Processors()
with open("config.json") as config_file:
config = json.load(config_file)
@app.route('/', methods=['GET', 'POST'])
def index():
if "hub.challenge" in request.args:
response = str(request.args["hub.challenge"])
return response
data = None
if request.data:
data = json.loads(request.data)
for entry in data["entry"]:
for message in entry["messaging"]:
msgtext = sender = None
if "sender" in message and "id" in message["sender"]:
sender = message["sender"]["id"]
if "message" in message and "text" in message["message"]:
msgtext = message["message"]["text"]
if msgtext and sender:
print "Received " + msgtext + " from " + sender
returntext = processor.echo(msgtext)
print returntext
interface.messageFB(returntext,sender)
elif sender:
interface.messageFB("(y)",sender)
return ""
def main():
app.debug = True
app.run(host='0.0.0.0', port=config["server_port"])
def printer(instr):
print instr
if __name__ == '__main__':
main()