UNPKG

node-red-contrib-chatbot

Version:

REDBot a Chat bot for a full featured chat bot for Telegram, Facebook Messenger and Slack. Almost no coding skills required

81 lines (73 loc) 3.15 kB
<script type="text/javascript"> RED.nodes.registerType('chatbot-request', { category: 'RedBot', color: '#FFCC66', defaults: { name: { value: '' }, message: { value: '', required: true }, requestType: { value: 'location' }, buttonLabel: { value: '' } }, inputs: 1, outputs: 1, paletteLabel: 'Request', icon: 'chatbot-request.png', label: function() { return this.name || 'Request'; } }); </script> <script type="text/x-red" data-template-name="chatbot-request"> <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> <div class="form-row"> <label for="node-input-type">Type</label> <select id="node-input-requestType"> <option value="location">Request user location</option> <option value="phone-number">Request user's phone number</option> </select> </div> <div class="form-row"> <label for="node-input-message">Message</label> <textarea id="node-input-message" placeholder="Message" style="width:93%;height:200px;"></textarea> <div style="max-width: 460px;font-size: 12px;color: #999999;line-height: 14px;clear:both;margin-top:5px;"> Supports handlebars-like variables for chat context like {{firstName}}, {{lastName}}, etc. and emoticons (:smile:, etc.) </div> </div> <div class="form-row"> <label for="node-input-buttonLabel">Label</label> <input type="text" id="node-input-buttonLabel" placeholder="Button label" class="platform-telegram"> <div style="max-width: 460px;font-size: 12px;color: #999999;line-height: 14px;"> Optional label for the request button </div> </div> </script> <script type="text/x-red" data-help-name="chatbot-request"><p>Trigger a special request button in <em>Facebook Messenger</em> or <em>Telegram</em> client, like current position or phone number (only for <em>Telegram</em>).</p> <p>With <em>Facebook Messenger</em> it&#39;s also possible to use <code>Quick Replies node</code> to ask the current position of the user.</p> <p>The parameters for the <code>Request node</code> can be defined in a upstream <code>Function node</code>, for example</p> <pre><code>msg.payload = { message: &#39;Please tell me where you are&#39;, requestType: &#39;location&#39;, buttonLabel: &#39;Your position&#39; }; return msg; </code></pre><p>Available parameters for the <code>msg.payload</code></p> <dl class="message-properties"> <dt>message<span class="property-type">string</span><dd>The message text above the request button</dd> <dt>requestType<span class="property-type">string</span><dd>Type of request. Can be <em>location</em> or <em>phone-number</em></dd> <dt>buttonLabel<span class="property-type">string</span><dd>Button label (only for <em>Telegram</em>)</dd> </dl> <p><img src="https://img.shields.io/badge/platform-Telegram-blue.svg?colorB=7cbaea" alt="Telegram"> <img src="https://img.shields.io/badge/platform-Facebook-blue.svg" alt="Facebook"></p> </script>