prisme-flow
Version:
prisme platform flow engine
172 lines (155 loc) • 5 kB
HTML
<!--
Created by prisme.io on 09/06/2017.
@author <a href="mailto:hello@prisme.io">savane vamara</a> (prisme.io)
-->
<script type="text/javascript">
RED.nodes.registerType('bot-telegram-node', {
category: 'config',
defaults: {
botname: {
value: '',
required: true
},
usernames: {
value: '',
required: false
},
polling: {
value: 1000,
required: true,
validate: RED.validators.number()
},
log: {
value: null
}
},
oneditprepare: function() {
$("#node-config-input-polling").spinner({min: 0, step: 100});
},
paletteName: 'Telegram Bot',
credentials: {
token: {
type: 'text'
}
},
label: function () {
return this.botname;
}
});
</script>
<script type="text/x-red" data-template-name="bot-telegram-node">
<div class="form-row">
<label for="node-config-input-botname"><i class="icon-bookmark"></i> Bot-Name</label>
<input type="text" id="node-config-input-botname">
</div>
<div class="form-row">
<label for="node-config-input-token"><i class="icon-tag"></i> Token</label>
<input type="text" id="node-config-input-token">
</div>
<div class="form-row">
<label for="node-config-input-polling"><i class="icon-time"></i> Polling</label>
<input type="text" id="node-config-input-polling" style="text-align:end; width:60px !important"> ms
</div>
<div class="form-row">
<label for="node-config-input-usernames"><i class="icon-user"></i> Users</label>
<input type="text" id="node-config-input-usernames">
<div style="max-width: 460px;font-size: 12px;color: #999999;line-height: 14px;margin-top:5px;">
Comma separated list of userId authorized to use the chatBot
</div>
</div>
<div class="form-row">
<label for="node-config-input-log"><i class="icon-file"></i> Log file</label>
<input type="text" id="node-config-input-log">
<div style="max-width: 460px;font-size: 12px;color: #999999;line-height: 14px;margin-top:5px;">
Store inbound and outbound messages to file
</div>
</div>
</script>
<script type="text/x-red" data-help-name="bot-telegram-node">
<p>
Configure the Telegram chat bot, create a new chat bot in Telegram using the <b>BotFather</b> then generate a new
token with <code>/token</code>.
</p>
</script>
<script type="text/javascript">
RED.nodes.registerType('bot-telegram-receive', {
category: 'bot',
color: '#FFCC66',
defaults: {
bot: {
value: '',
type: 'bot-telegram-node',
required: true
}
},
inputs: 0,
outputs: 1,
icon: 'telegram.png',
paletteLabel: 'telegram in',
label: function () {
return "Telegram Receiver";
}
});
</script>
<script type="text/x-red" data-template-name="bot-telegram-receive">
<div class="form-row">
<label for="node-input-bot"><i class="icon-bookmark"></i> Bot</label>
<input type="text" id="node-input-bot" placeholder="Bot">
</div>
</script>
<script type="text/x-red" data-help-name="bot-telegram-receive">
<p>Receive a message (text, audio, video, image, etc) from a Telegram bot.</p>
<p>The message is stored in <code>msg.payload</code>, this node also stores in the context flow:
<code>username</code>, <code>firstName</code>, <code>lastName</code>, <code>chatId</code>, <code>authorized</code>,
<code>transport</code> and <code>messageId</code>.
</p>
</script>
<script type="text/javascript">
RED.nodes.registerType('bot-telegram-send', {
category: 'bot',
color: '#FFCC66',
defaults: {
bot: {
value: "",
type: 'bot-telegram-node',
required: true
},
track: {
value: false
},
outputs: {
value: 0
}
},
inputs: 1,
outputs: 0,
icon: 'telegram.png',
paletteLabel: 'telegram out',
label: function () {
return 'Telegram Sender';
},
oneditsave: function() {
var track = $('#node-input-track').is(':checked');
this.outputs = track ? 1 : 0;
}
});
</script>
<script type="text/x-red" data-template-name="bot-telegram-send">
<div class="form-row">
<label for="node-input-bot"><i class="icon-bookmark"></i> Bot</label>
<input type="text" id="node-input-bot" placeholder="Bot">
</div>
<div class="form-row">
<label for="node-input-track"><i class="icon-envelope"></i> Track</label>
<input type="checkbox" value="true" id="node-input-track">
<div style="max-width: 460px;font-size: 12px;color: #999999;line-height: 14px;margin-top:5px;">
Track response of the user for this message, any further answer will be redirect to the output pin.
</div>
</div>
</script>
<script type="text/x-red" data-help-name="bot-telegram-send">
<p>
Send a message (text, audio, video, image, etc) from a Telegram bot. In order to create complex conversations, it
can track answers from the user using output pin.
</p>
</script>