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
HTML
<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'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: 'Please tell me where you are',
requestType: 'location',
buttonLabel: 'Your position'
};
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>