mirror of
				https://github.com/node-red/node-red-nodes.git
				synced 2025-03-01 10:37:43 +00:00 
			
		
		
		
	twilio node first commit
This commit is contained in:
		
							
								
								
									
										58
									
								
								social/twilio/56-twilio.html
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										58
									
								
								social/twilio/56-twilio.html
									
									
									
									
									
										Normal file
									
								
							| @@ -0,0 +1,58 @@ | ||||
| <!-- | ||||
|   Copyright 2013 Andrew D Lindsay @AndrewDLindsay | ||||
|   http://blog.thiseldo.co.uk | ||||
|  | ||||
|   Licensed under the Apache License, Version 2.0 (the "License"); | ||||
|   you may not use this file except in compliance with the License. | ||||
|   You may obtain a copy of the License at | ||||
|  | ||||
|   http://www.apache.org/licenses/LICENSE-2.0 | ||||
|  | ||||
|   Unless required by applicable law or agreed to in writing, software | ||||
|   distributed under the License is distributed on an "AS IS" BASIS, | ||||
|   WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. | ||||
|   See the License for the specific language governing permissions and | ||||
|   limitations under the License. | ||||
| --> | ||||
|  | ||||
| <script type="text/x-red" data-template-name="twilio"> | ||||
|     <div class="form-row"> | ||||
|         <label for="node-input-title"><i class="icon-flag"></i> Title</label> | ||||
|         <input type="text" id="node-input-title" placeholder="Node-RED"> | ||||
|     </div> | ||||
|     <div class="form-row"> | ||||
|         <label for="node-input-name"><i class="icon-tag"></i> Name</label> | ||||
|         <input type="text" id="node-input-name" placeholder="Name"> | ||||
|     </div> | ||||
| </script> | ||||
|  | ||||
| <script type="text/x-red" data-help-name="twilio out"> | ||||
| 	<p>Uses Twilio to send the <b>msg.payload</b> as a SMS to the configured number.</p> | ||||
| 	<p>Uses <b>msg.topic</b> to set the phone number, if not already set in the properties.</p> | ||||
| 	<p>You MUST configure both your Account SID and the Auth Token. Either into settings.js like this</p> | ||||
| 	<p><pre>twilio: { account:'My-ACCOUNT-SID', authtoken:'TWILIO-TOKEN', from:'FROM-NUMBER' },</pre></p> | ||||
| 	<p>Or as a twiliokey.js file in the directory <b>above</b> node-red.<p> | ||||
| 	<p><pre>module.exports = { account:'My-ACCOUNT-SID', authtoken:'TWILIO-TOKEN',from:'FROM-NUMBER' }</pre></p> | ||||
| </script> | ||||
|  | ||||
| <script type="text/javascript"> | ||||
|     RED.nodes.registerType('twilio out',{ | ||||
|         category: 'output', | ||||
|         defaults: { | ||||
|             title: {value:""}, | ||||
|             name: {value:""} | ||||
|         }, | ||||
|         color:"#ed1c24", | ||||
|         inputs:1, | ||||
|         outputs:0, | ||||
|         icon: "twilio.png", | ||||
|         align: "right", | ||||
|         label: function() { | ||||
|             return this.name||this.title||"twilio out"; | ||||
|         }, | ||||
|         labelStyle: function() { | ||||
|             return this.name?"node_label_italic":""; | ||||
|         } | ||||
|     }); | ||||
|  | ||||
| </script> | ||||
							
								
								
									
										64
									
								
								social/twilio/56-twilio.js
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										64
									
								
								social/twilio/56-twilio.js
									
									
									
									
									
										Normal file
									
								
							| @@ -0,0 +1,64 @@ | ||||
| /** | ||||
|  * Copyright 2013 Andrew D Lindsay @AndrewDLindsay | ||||
|  * http://blog.thiseldo.co.uk | ||||
|  * | ||||
|  * Licensed under the Apache License, Version 2.0 (the "License"); | ||||
|  * you may not use this file except in compliance with the License. | ||||
|  * You may obtain a copy of the License at | ||||
|  * | ||||
|  * http://www.apache.org/licenses/LICENSE-2.0 | ||||
|  * | ||||
|  * Unless required by applicable law or agreed to in writing, software | ||||
|  * distributed under the License is distributed on an "AS IS" BASIS, | ||||
|  * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. | ||||
|  * See the License for the specific language governing permissions and | ||||
|  * limitations under the License. | ||||
|  **/ | ||||
|  | ||||
| var RED = require(process.env.NODE_RED_HOME+"/red/red"); | ||||
| var util = require('util'); | ||||
|  | ||||
| // Either add a line like this to settings.js | ||||
| //   twilio: { account:'My-ACCOUNT-SID', authtoken:'TWILIO-TOKEN',from:'FROM-NUMBER' }, | ||||
| // Or as a twiliokey.js file in the directory ABOVE node-red. | ||||
| //   module.exports = { account:'My-ACCOUNT-SID', authtoken:'TWILIO-TOKEN',from:'FROM-NUMBER' } | ||||
|  | ||||
| try { | ||||
| 	var twiliokey = require(process.env.NODE_RED_HOME+"/settings").twilio || require(process.env.NODE_RED_HOME+"/../twiliokey.js"); | ||||
| } | ||||
| catch(err) { | ||||
| 	util.log("[56-twilio.js] Error: Failed to load Twilio credentials"); | ||||
| } | ||||
|  | ||||
| if (twiliokey) { | ||||
| 	var twilioClient = require('twilio')(twiliokey.account, twiliokey.authtoken); | ||||
| 	var fromNumber = twiliokey.from; | ||||
| } | ||||
|  | ||||
| function TwilioOutNode(n) { | ||||
| 	RED.nodes.createNode(this,n); | ||||
| 	this.title = n.title; | ||||
| 	var node = this; | ||||
| 	this.on("input",function(msg) { | ||||
| 		if (typeof(msg.payload) == 'object') { | ||||
| 			msg.payload = JSON.stringify(msg.payload); | ||||
| 		} | ||||
| 		if (twiliokey) { | ||||
| 			try { | ||||
| 				// Send SMS | ||||
| 				twilioClient.sendMessage( {to: msg.topic, from: fromNumber, body: msg.payload}, function(err, response) { | ||||
| 					if (err) node.error(err); | ||||
| 					//console.log(response); | ||||
| 				}); | ||||
| 			} | ||||
| 			catch (err) { | ||||
| 				node.error(err); | ||||
| 			} | ||||
| 		} | ||||
| 		else { | ||||
| 			node.warn("Twilio credentials not set/found. See node info."); | ||||
| 		} | ||||
| 	}); | ||||
| } | ||||
|  | ||||
| RED.nodes.registerType("twilio out",TwilioOutNode); | ||||
							
								
								
									
										
											BIN
										
									
								
								social/twilio/icons/twilio.png
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										
											BIN
										
									
								
								social/twilio/icons/twilio.png
									
									
									
									
									
										Normal file
									
								
							
										
											Binary file not shown.
										
									
								
							| After Width: | Height: | Size: 717 B | 
		Reference in New Issue
	
	Block a user