const fs = require('fs');

const Markup = require('telegraf/markup');
const Extra = require('telegraf/extra');

//=== TOOL FUNCTIONS

const sound_list = {
	'meep_merp':{
		name: 'Meep Merp',
		file: 'meep_merp.mp3',
	},
	'silence':{
		name: 'Silence',
		file: 'silence.mp3',
	},
	'frog':{
		name: 'Frog',
		file: 'frog.mp3',
	},
	'oof':{
		name: 'Oof',
		file: 'oof.mp3',
	},
	'exalted':{
		name: 'Exalted',
		file: 'exalted.mp3',
	},
	'turtle':{
		name: 'Turtle',
		file: 'turtle.mp3',
	},
	'reee':{
		name: 'Reeee',
		file: 'reee.mp3',
	},
	'mc_nom':{
		name: 'Minecraft Nom',
		file: 'mc_nom.mp3',
	},
	'mc_oof':{
		name: 'Minecraft Oof',
		file: 'mc_oof.mp3',
	},
	'mc_hmm':{
		name: 'Minecraft hmm',
		file: 'mc_hmm.mp3',
	},
	'steam':{
		name: 'Steam Message',
		file: 'steam.mp3',
	},
	'wololo':{
		name: 'Wololo',
		file: 'wololo.mp3',
	},
	'tuturu':{
		name: 'Tururuuuu !',
		file: 'tuturu.mp3',
	},
	'tobecontinued':{
		name: 'To Be Continued =>',
		file: 'tobecontinued.mp3',
	},
	'kabuki':{
		name: 'Kabuki',
		file: 'kabuki.mp3',
	}

};
//=== MAIN MODULE CONFIG

module.exports = function(cmds){

	return {
	name : "SoundBoard",
	key : 'sndbrd',
	version : 0.1,
	requirements : {
		gps: false,
	},
	text : [
		{
			trigger : cmds,
			public : true,
			desc : {0:"Plays Sound",
					1:"Joue un son",
			},
			requirements : (bot,event,message)=>{ 
				return new Promise((resolve, reject)=>{
					return resolve(200);
				});
			},
			action : (bot,event,message)=>{
				const ss = message.text.replace('/','');
				if(sound_list[ss] != undefined){
					return event.replyWithVoice({source:__dirname+'/sounds/'+ sound_list[ss].file});
				}else{
					return event.reply("Unknown Sound !");
				}
			}
		},
	],
	reply : [],
	regex : [],
	media : [],
	callback : [
		{
			trigger : 'template',
			requirements : (bot,event,data)=>{ 
				return new Promise((resolve, reject)=>{
					return resolve(200);
				});
			},
			action : (bot,event,data)=>{
				return event.reply("Beep");
			}
		},
	],
	inline : [],
	new_member : (bot,event)=>{},
	weburl : [],
	cron : []
}
	
}