@@ -1,6 +1,6 @@ |
||
1 | 1 |
{ |
2 | 2 |
"name": "hubot-multi-adapter", |
3 |
- "version": "0.3.1", |
|
3 |
+ "version": "0.3.2", |
|
4 | 4 |
"description": "A Hubot adapter that can receive messages thru socket.io or telegram", |
5 | 5 |
"main": "src/multi-adapter", |
6 | 6 |
"scripts": { |
@@ -36,8 +36,10 @@ You can send **webhooks** thru this adapter using the endpoint ```/webhook```. M |
||
36 | 36 |
"first_name" : "John", |
37 | 37 |
"last_name" : "Doe", |
38 | 38 |
"room" : 455098, |
39 |
- "service" : "webhook", |
|
39 |
+ "username" : "jamesperet" |
|
40 |
+ "service" : "telegram", |
|
40 | 41 |
"command" : "example-command" |
42 |
+ "msg_type" : "command" |
|
41 | 43 |
} |
42 | 44 |
``` |
43 | 45 |
|
@@ -80,26 +80,38 @@ class MultiAdapter extends Adapter |
||
80 | 80 |
user.last_name = req.body['message[from][last_name]'] |
81 | 81 |
user.username = req.body['message[from][username]'] |
82 | 82 |
user.room = chat_id |
83 |
+ user.msg_type = "message" |
|
83 | 84 |
@receive new TextMessage user, text |
84 | 85 |
res.end() |
85 | 86 |
|
86 | 87 |
# General Webhook |
87 | 88 |
app.post '/webhook', (req, res) => |
88 | 89 |
console.log(req.body) |
89 |
- chat_id = req.body.user.room |
|
90 |
- # Get username |
|
91 |
- user_name = req.body.user.first_name + " " + req.body.user.last_name |
|
92 |
- command = req.body.command |
|
93 |
- @robot.brain.set 'log_id_' + chat_id, new Date().getUTCMilliseconds(); |
|
94 |
- user = @userForId chat_id, name: user_name, room: chat_id |
|
95 |
- console.log("Webhook received from " + user_name + " with command:" ) |
|
96 |
- console.log(command) |
|
97 |
- user.service = "webhook" |
|
98 |
- user.first_name = req.body.user.first_name |
|
99 |
- user.last_name = req.body.user.last_name |
|
100 |
- user.username = req.body.user.username |
|
101 |
- user.room = chat_id |
|
102 |
- @receive new TextMessage user, text |
|
90 |
+ if(req.body.user != undefined){ |
|
91 |
+ if(req.body.user.room && req.body.user.service && req.body.user.first_name && req.body.user.last_name && req.body.user.username && req.body.user.msg_type){ |
|
92 |
+ chat_id = req.body.user.room |
|
93 |
+ # Get username |
|
94 |
+ user_name = req.body.user.first_name + " " + req.body.user.last_name |
|
95 |
+ command = req.body.command |
|
96 |
+ @robot.brain.set 'log_id_' + chat_id, new Date().getUTCMilliseconds(); |
|
97 |
+ user = @userForId chat_id, name: user_name, room: chat_id |
|
98 |
+ console.log("Webhook received from " + user_name + " with command:" ) |
|
99 |
+ console.log(command) |
|
100 |
+ user.service = req.body.user.service |
|
101 |
+ user.first_name = req.body.user.first_name |
|
102 |
+ user.last_name = req.body.user.last_name |
|
103 |
+ user.username = req.body.user.username |
|
104 |
+ user.room = chat_id |
|
105 |
+ user.msg_type = req.body.user.msg_type |
|
106 |
+ @receive new TextMessage user, text |
|
107 |
+ res.send({"message" : "received"}) |
|
108 |
+ } else { |
|
109 |
+ res.send({"message" : "The user object has mising properties. Follow instruction on https://github.com/jamesperet/hubot-multi-adaptor"}) |
|
110 |
+ } |
|
111 |
+ } else { |
|
112 |
+ res.send({"message" : "Please check the body of your request. Follow instruction on https://github.com/jamesperet/hubot-multi-adaptor"}) |
|
113 |
+ } |
|
114 |
+ |
|
103 | 115 |
res.end() |
104 | 116 |
|
105 | 117 |
@emit 'connected' |