init template
This commit is contained in:
parent
b9cf7d3a11
commit
40879cf6c8
128
config.js
Normal file
128
config.js
Normal file
@ -0,0 +1,128 @@
|
|||||||
|
const fs = require('fs');
|
||||||
|
|
||||||
|
const Markup = require('telegraf/markup');
|
||||||
|
const Extra = require('telegraf/extra');
|
||||||
|
|
||||||
|
const example_lang = require('./lang.js');
|
||||||
|
|
||||||
|
//=== TOOL FUNCTIONS
|
||||||
|
|
||||||
|
/* Here you usualy write util functions that are used multiple times in the code (or a second file is recommended)*/
|
||||||
|
|
||||||
|
//=== MAIN MODULE CONFIG
|
||||||
|
|
||||||
|
module.exports = function(){
|
||||||
|
return {
|
||||||
|
name : "Template", //Unique Module name
|
||||||
|
key : "tmpl", //Unique Key for this module, if multiple instances add a number/text to it
|
||||||
|
version : 0.1, //Version Number, Currently unused
|
||||||
|
requirements : {
|
||||||
|
gps: false, //Currently un-used (all module have access to GPS)
|
||||||
|
},
|
||||||
|
text : [
|
||||||
|
{
|
||||||
|
trigger : ["/ping"], //Array of Triggers
|
||||||
|
public : true, //Should it be shown to user (user can still run the command without knowing it exists)
|
||||||
|
desc : {0:"Pings the user",
|
||||||
|
1:"Envois un ping à l'utilisateur",
|
||||||
|
2:"Yu-za- de pingu wo tsukawashite",
|
||||||
|
3:"*insert arabic*",
|
||||||
|
},
|
||||||
|
requirements : (bot,event,message)=>{
|
||||||
|
return new Promise((resolve, reject)=>{
|
||||||
|
if (false)
|
||||||
|
return reject(400);
|
||||||
|
return resolve(200);
|
||||||
|
});
|
||||||
|
},
|
||||||
|
action : (bot,event,message)=>{
|
||||||
|
return event.reply("pong");
|
||||||
|
}
|
||||||
|
},
|
||||||
|
],
|
||||||
|
reply : [
|
||||||
|
{
|
||||||
|
requirements : (bot,event,message)=>{
|
||||||
|
return new Promise((resolve,reject)=>{
|
||||||
|
if(!message.text || message.reply_to_message.text != "Beep")
|
||||||
|
return reject(400);
|
||||||
|
return resolve(200);
|
||||||
|
});
|
||||||
|
},
|
||||||
|
action : (bot,event,message)=>{
|
||||||
|
return event.reply(bot.gls(example_lang,"boop",event.master.lang));
|
||||||
|
//The GLS functions returns automaticly the right message given the "key" and lang...
|
||||||
|
}
|
||||||
|
}
|
||||||
|
],
|
||||||
|
regex : [
|
||||||
|
],
|
||||||
|
media : [
|
||||||
|
],
|
||||||
|
callback : [
|
||||||
|
{
|
||||||
|
trigger : 'key_template',
|
||||||
|
requirements : (bot,event,message)=>{
|
||||||
|
return new Promise((resolve, reject)=>{
|
||||||
|
return resolve(200);
|
||||||
|
});
|
||||||
|
},
|
||||||
|
action : (bot,event,data)=>{
|
||||||
|
return event.reply("Beep");
|
||||||
|
}
|
||||||
|
},
|
||||||
|
],
|
||||||
|
inline : [
|
||||||
|
{
|
||||||
|
public : true,
|
||||||
|
desc : {
|
||||||
|
0:"English",
|
||||||
|
1:"French",
|
||||||
|
2:"Japanese",
|
||||||
|
3:"Arabic",
|
||||||
|
4:"German",
|
||||||
|
},
|
||||||
|
reply : (bot,event,data)=>{
|
||||||
|
return {
|
||||||
|
type: 'article',
|
||||||
|
id: 'aid',
|
||||||
|
title: 'BEEP Template',
|
||||||
|
description: "Template Module",
|
||||||
|
message_text: "BEEP BOP",
|
||||||
|
parse_mode:"Markdown",
|
||||||
|
reply_markup:Markup.inlineKeyboard([]),
|
||||||
|
};
|
||||||
|
}
|
||||||
|
}
|
||||||
|
],
|
||||||
|
new_member : (bot,event)=>{
|
||||||
|
//return event.replyWithMarkdown("Welcome !");
|
||||||
|
},
|
||||||
|
weburl : [
|
||||||
|
{
|
||||||
|
url : '_',
|
||||||
|
post_action : (bot,req,rep)=>{
|
||||||
|
|
||||||
|
},
|
||||||
|
get_action : (bot,req,rep)=>{
|
||||||
|
|
||||||
|
},
|
||||||
|
|
||||||
|
}
|
||||||
|
],
|
||||||
|
cron : [
|
||||||
|
{
|
||||||
|
cstr : '0 0 * * * *',
|
||||||
|
params : [ null, true],
|
||||||
|
timezone : 'Europe/Zurich',
|
||||||
|
action : function(bot){
|
||||||
|
this.bot = bot;
|
||||||
|
return function(){
|
||||||
|
return this.bot.telegram.sendMessage("0","Beep",{"parse_mode":"Markdown"});
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
]
|
||||||
|
}
|
||||||
|
|
||||||
|
}
|
36
db_low.js
Normal file
36
db_low.js
Normal file
@ -0,0 +1,36 @@
|
|||||||
|
const low = require('lowdb');
|
||||||
|
const FileSync = require('lowdb/adapters/FileSync');
|
||||||
|
|
||||||
|
var db = null;
|
||||||
|
|
||||||
|
function db_init(db){
|
||||||
|
db.defaults({ chats:[]}).write();
|
||||||
|
}
|
||||||
|
|
||||||
|
var dbc = function(name){
|
||||||
|
const db_file = "./db/"+name+".json";
|
||||||
|
var db = low(new FileSync(db_file));
|
||||||
|
db_init(db);
|
||||||
|
return db;
|
||||||
|
};
|
||||||
|
|
||||||
|
const schema = {
|
||||||
|
chats:{
|
||||||
|
id: "chat_id",
|
||||||
|
lang:"chat_lang",
|
||||||
|
tz:"chat_tz",
|
||||||
|
geo:"chat_geo",
|
||||||
|
},
|
||||||
|
};
|
||||||
|
|
||||||
|
|
||||||
|
module.exports = function(name){
|
||||||
|
this.name = name;
|
||||||
|
this.db = dbc(name);
|
||||||
|
|
||||||
|
this.dump_db = function(obj){
|
||||||
|
return new Promise((resolve, reject)=>{
|
||||||
|
resolve(this.db.get("chats").value());
|
||||||
|
});
|
||||||
|
};
|
||||||
|
};
|
46
db_sqlite.js
Normal file
46
db_sqlite.js
Normal file
@ -0,0 +1,46 @@
|
|||||||
|
const sqlite3 = require('sqlite3');//.verbose();
|
||||||
|
|
||||||
|
function db_init(db){
|
||||||
|
db.run("CREATE TABLE IF NOT EXISTS chats (id integer PRIMARY KEY AUTOINCREMENT, chat_id integer NOT NULL);");
|
||||||
|
}
|
||||||
|
|
||||||
|
var dbc = function(name){
|
||||||
|
const db_file = "./db/"+name+".sqlite3";
|
||||||
|
var db = new sqlite3.Database(db_file);
|
||||||
|
db_init(db);
|
||||||
|
return db;
|
||||||
|
};
|
||||||
|
|
||||||
|
const schema = {
|
||||||
|
chats:{
|
||||||
|
id: "chat_id",
|
||||||
|
lang:"chat_lang",
|
||||||
|
tz:"chat_tz",
|
||||||
|
geo:"chat_geo",
|
||||||
|
},
|
||||||
|
};
|
||||||
|
|
||||||
|
function db_request(db,req,requirements,cb){
|
||||||
|
for(var i in requirements){
|
||||||
|
if(!requirements[i]) return cb("Error in Arguments: "+requirements,null);
|
||||||
|
}
|
||||||
|
db.all(req, requirements, (err,res)=>{
|
||||||
|
cb(err,res)
|
||||||
|
});
|
||||||
|
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
module.exports = function(name){
|
||||||
|
this.name = name;
|
||||||
|
this.db = dbc(name);
|
||||||
|
|
||||||
|
this.dump_db = function(obj){
|
||||||
|
return new Promise((resolve, reject)=>{
|
||||||
|
this.db.all("SELECT * FROM chats",[],(err,res)=>{
|
||||||
|
console.log(res);
|
||||||
|
resolve(res);
|
||||||
|
});
|
||||||
|
});
|
||||||
|
};
|
Loading…
x
Reference in New Issue
Block a user