Commit 2045ab2d authored by Daniel Pérez Fernández's avatar Daniel Pérez Fernández 🕶
Browse files

New Plugin for create Poll and translated comments in qr plugin

- Add Plugin poll (create and stop custom polls) 1 question and 10 answers
- TODO: Translate comments
- Translated comments in qr plugin
parent 96591d60
'use strict';
const app = require('../../settings/app');
app.bot.onText(/^\!poll|^\/poll/, function(msg) {
var texto = msg.text.substring(5);
var array = texto.split(";"); // Conver text to Array
if (array.length >= 3) { // Check if array have 3 elements
// Bucle para quitar los espacios del array al final y al principio
for (var i = 0; i <= (array.length - 1); i++) {
var mod_array = array[i].trim(); // Guardamos en una variable temporalmente el texto sin los espacios
array.splice(i, 1,mod_array); // Guardamos en el array el texto sin espacios
}
// Bucle para recortar el texto dentro de los valores permitidos por la API
for (var i = 0; i <= (array.length - 1); i++){
if (i == 0) {
var aux = array[i].substr(0,254); // Cortamos la cadena de la pregunta debido max 255 caracteres
array.splice(i, 1,aux);
}
else{
var aux = array[i].substr(0,99); // cortamos cadena opciones 100 caracteres permitidos
array.splice(i, 1,aux);
}
}
var options_poll = []; // Creamos un array vacio para poder guardar las respuestas
// Creamos un bucle para guardar las opciones en un nuevo array llamado "options poll"
for (var i = 1; i <= (array.length - 1); i++){ // "var i" strart with element 1 of the array, because element 0 is the question
if (i <= 10) { // Only save array positions 1 to 10
var aux = array[i];
options_poll.splice(i - 1, 1,aux);
}
}
console.log(options_poll);
// Checking Chat Type -- Comprobación del tipo de Chat
if(msg.chat.type == 'private'){
app.bot.sendMessage(msg.chat.id, app.i18n.__('Command only available for supergroups'));
}
else{
app.bot.deleteMessage(msg.chat.id, msg.message_id);
app.bot.sendPoll(msg.chat.id, array[0], options_poll,{parse_mode : "Markdown"});
}
// Error cuando el array tiene menos de 3 elementos
}else{
app.bot.sendMessage(msg.chat.id, "Error");
}
});
app.bot.onText(/^\!endpoll|^\/endpoll/, function(msg) {
var replyId_messageId = msg.reply_to_message.message_id;
app.bot.stopPoll(msg.chat.id,replyId_messageId);
});
\ No newline at end of file
......@@ -6,8 +6,7 @@ app.bot.onText(/^\!qr|^\/qr/, function(msg) {
console.log(msg);
var userId = msg.from.id;
var data = msg.text.substring(3).trim();
// Con este if/else controlamos los posibles errores que puede comenter un usuario
// al introducir la información que se requiere para usar este comando
// Use if/else for control when user only send a command without text
if(data != ""){
var imageqr = "https://api.qrserver.com/v1/create-qr-code/?size=250x250&data=" + data;
if(msg.chat.type == 'private'){
......@@ -19,8 +18,7 @@ app.bot.onText(/^\!qr|^\/qr/, function(msg) {
}
}
else {
// En los chats privados (User + Bot) no podemos borrar el mensaje que nos manda el usuario
// Debido a esto creamos un if haciendo que si el tipo de chat es privado solo mande la respuesta
// Update: Bot API 4.2 in private chat (User + Bot) now we can delete user messenges (Max time 24h)
if(msg.chat.type == 'private'){
app.bot.sendMessage(msg.chat.id, app.i18n.__('⛔️ Error, for use this command you have to write !qr + Text or /qr \n\nExample: !qr google.es'),{parse_mode : "Markdown"});
}
......@@ -29,4 +27,4 @@ app.bot.onText(/^\!qr|^\/qr/, function(msg) {
app.bot.sendMessage(msg.chat.id, app.i18n.__('⛔️ Error, for use this command you have to write !qr + Text or /qr \n\nExample: !qr google.es'),{parse_mode : "Markdown"});
}
}
});
});
\ No newline at end of file
Markdown is supported
0% or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment