diff --git a/README.md b/README.md index 828f69c..b437e66 100644 --- a/README.md +++ b/README.md @@ -25,6 +25,8 @@ Docker:
> - DB_URL=jdbc:mysql://database/botdiscord > - DB_USER=root > - DB_PWD=ogahxu1eigohN2Eok0xoawae #CHANGE ME! +> - OAUTH_URL= #discord generated, change "response_type=code" to "response_type=token" +> - LOG_LEVEL=info > labels: > - "traefik.frontend.rule=Host:exemple.com" #CHANGE ME! > - "traefik.docker.network=proxy" diff --git a/src/main/java/net/Broken/Commands/Preference.java b/src/main/java/net/Broken/Commands/Preference.java index 18559fd..6a3233d 100644 --- a/src/main/java/net/Broken/Commands/Preference.java +++ b/src/main/java/net/Broken/Commands/Preference.java @@ -57,14 +57,13 @@ public class Preference implements Commande { MessageEmbed msg = EmbedMessageUtils.buildStandar(EmbedMessageUtils.getError("Missing argument.\n:arrow_right: Please use `//help preference`")); Message sended = event.getTextChannel().sendMessage(msg).complete(); - new MessageTimeOut(MainBot.messageTimeOut, sended, event.getMessage()).start(); } break; default: MessageEmbed msg = EmbedMessageUtils.buildStandar(EmbedMessageUtils.getError("\nUnknown argument`\n\nMore info with `//help preference`")); Message sended = event.getTextChannel().sendMessage(msg).complete(); - new MessageTimeOut(MainBot.messageTimeOut, sended, event.getMessage()).start(); + break; } @@ -115,11 +114,9 @@ public class Preference implements Commande { pref = guildPreferenceRepository.save(pref); EmbedBuilder eb = new EmbedBuilder().addField(":ok: Ok :ok:","",false).addField("> Anti Spam", "```java\n" + String.valueOf(pref.isAntiSpam()) + "```", false).setColor(Color.green); Message sended = event.getTextChannel().sendMessage(EmbedMessageUtils.buildStandar(eb)).complete(); - new MessageTimeOut(MainBot.messageTimeOut, sended, event.getMessage()).start(); }else{ MessageEmbed msg = EmbedMessageUtils.buildStandar(EmbedMessageUtils.getError("\nWrong value, expect `true` or `false`\n\nMore info with `//help preference`")); Message sended = event.getTextChannel().sendMessage(msg).complete(); - new MessageTimeOut(MainBot.messageTimeOut, sended, event.getMessage()).start(); } break; @@ -133,11 +130,9 @@ public class Preference implements Commande { pref = guildPreferenceRepository.save(pref); EmbedBuilder eb = new EmbedBuilder().addField(":ok: Ok :ok:","",false).addField("> Default Role", "```java\n" + String.valueOf(pref.isDefaultRole()) + "```", false).setColor(Color.green); Message sended = event.getTextChannel().sendMessage(EmbedMessageUtils.buildStandar(eb)).complete(); - new MessageTimeOut(MainBot.messageTimeOut, sended, event.getMessage()).start(); }else{ MessageEmbed msg = EmbedMessageUtils.buildStandar(EmbedMessageUtils.getError("\nWrong value, expect `true` or `false`\n\nMore info with `//help preference`")); Message sended = event.getTextChannel().sendMessage(msg).complete(); - new MessageTimeOut(MainBot.messageTimeOut, sended, event.getMessage()).start(); } break; case "default_role_id": @@ -150,7 +145,6 @@ public class Preference implements Commande { pref = guildPreferenceRepository.save(pref); EmbedBuilder eb = new EmbedBuilder().addField(":ok: Ok :ok:","",false).addField("> Default Role ID", "```java\n" + pref.getDefaultRoleId()+ "```", false).setColor(Color.green); Message sended = event.getTextChannel().sendMessage(EmbedMessageUtils.buildStandar(eb)).complete(); - new MessageTimeOut(MainBot.messageTimeOut, sended, event.getMessage()).start(); } else @@ -160,7 +154,6 @@ public class Preference implements Commande { }catch (NumberFormatException e){ MessageEmbed msg = EmbedMessageUtils.buildStandar(EmbedMessageUtils.getError("\nRole not found!\n\nUse `//listroles` to get roles id")); Message sended = event.getTextChannel().sendMessage(msg).complete(); - new MessageTimeOut(MainBot.messageTimeOut, sended, event.getMessage()).start(); } break; @@ -172,11 +165,9 @@ public class Preference implements Commande { pref = guildPreferenceRepository.save(pref); EmbedBuilder eb = new EmbedBuilder().addField(":ok: Ok :ok:","",false).addField("> Welcome", "```java\n" + String.valueOf(pref.isWelcome()) + "```", false).setColor(Color.green); Message sended = event.getTextChannel().sendMessage(EmbedMessageUtils.buildStandar(eb)).complete(); - new MessageTimeOut(MainBot.messageTimeOut, sended, event.getMessage()).start(); }else{ MessageEmbed msg = EmbedMessageUtils.buildStandar(EmbedMessageUtils.getError("\nWrong value, expect `true` or `false`\n\nMore info with `//help preference`")); Message sended = event.getTextChannel().sendMessage(msg).complete(); - new MessageTimeOut(MainBot.messageTimeOut, sended, event.getMessage()).start(); } break; case "welcome_chanel_id": @@ -189,7 +180,6 @@ public class Preference implements Commande { pref = guildPreferenceRepository.save(pref); EmbedBuilder eb = new EmbedBuilder().addField(":ok: Ok :ok:","",false).addField("> Welcome chanel ID", "```java\n" + pref.getWelcomeChanelID() + "```", false).setColor(Color.green); Message sended = event.getTextChannel().sendMessage(EmbedMessageUtils.buildStandar(eb)).complete(); - new MessageTimeOut(MainBot.messageTimeOut, sended, event.getMessage()).start(); } else @@ -199,7 +189,6 @@ public class Preference implements Commande { }catch (NumberFormatException e){ MessageEmbed msg = EmbedMessageUtils.buildStandar(EmbedMessageUtils.getError("\nText channel not found!\n\nUse `//listroles` to get roles id")); Message sended = event.getTextChannel().sendMessage(msg).complete(); - new MessageTimeOut(MainBot.messageTimeOut, sended, event.getMessage()).start(); } break; case "welcome_message": @@ -207,7 +196,6 @@ public class Preference implements Commande { pref = guildPreferenceRepository.save(pref); EmbedBuilder eb = new EmbedBuilder().addField(":ok: Ok :ok:","",false).addField("> Welcome message", "```java\n" + pref.getWelcomeMessage() + "```", false).setColor(Color.green); Message sended = event.getTextChannel().sendMessage(EmbedMessageUtils.buildStandar(eb)).complete(); - new MessageTimeOut(MainBot.messageTimeOut, sended, event.getMessage()).start(); break; case "daily_madame": @@ -218,18 +206,15 @@ public class Preference implements Commande { pref = guildPreferenceRepository.save(pref); EmbedBuilder ebd = new EmbedBuilder().addField(":ok: Ok :ok:","",false).addField("> Daily Madame", "Activate daily madame message\n```java\n" + String.valueOf(value) + "```", false).setColor(Color.green); Message sendedm = event.getTextChannel().sendMessage(EmbedMessageUtils.buildStandar(ebd)).complete(); - new MessageTimeOut(MainBot.messageTimeOut, sendedm, event.getMessage()).start(); }else{ MessageEmbed msg = EmbedMessageUtils.buildStandar(EmbedMessageUtils.getError("\nWrong value, expect `true` or `false`\n\nMore info with `//help preference`")); Message sendedm = event.getTextChannel().sendMessage(msg).complete(); - new MessageTimeOut(MainBot.messageTimeOut, sendedm, event.getMessage()).start(); } break; default: MessageEmbed msg2 = EmbedMessageUtils.buildStandar(EmbedMessageUtils.getError("\nUnknown id.\n\nUse `//preference` to see list")); Message sended2 = event.getTextChannel().sendMessage(msg2).complete(); - new MessageTimeOut(MainBot.messageTimeOut, sended2, event.getMessage()).start(); break; } diff --git a/src/main/resources/log4j2.xml b/src/main/resources/log4j2.xml index 16b037f..c463ef0 100644 --- a/src/main/resources/log4j2.xml +++ b/src/main/resources/log4j2.xml @@ -25,7 +25,7 @@ - + diff --git a/src/main/resources/static/img/icon_192.png b/src/main/resources/static/img/icon_192.png new file mode 100644 index 0000000..94d335d Binary files /dev/null and b/src/main/resources/static/img/icon_192.png differ diff --git a/src/main/resources/static/img/icon_512.png b/src/main/resources/static/img/icon_512.png new file mode 100644 index 0000000..62605a8 Binary files /dev/null and b/src/main/resources/static/img/icon_512.png differ diff --git a/src/main/resources/static/js/music.js b/src/main/resources/static/js/music.js index d4c3a4a..b3e2526 100644 --- a/src/main/resources/static/js/music.js +++ b/src/main/resources/static/js/music.js @@ -165,7 +165,7 @@ function getCurentMusic() { }) .fail(function (data) { if(!error){ - alert("Connection lost, I keep trying to refresh!"); + console.error("Connection lost, I keep trying to refresh!"); error = true; } @@ -250,6 +250,7 @@ function getChannels(){ $('#channelForm').append(template); }); + $('#btn_ok_channel').addClass("disabled"); $('#modalChanels').modal('open'); }).fail(function (data) { @@ -312,7 +313,7 @@ function updateControl(data){ function sendCommand(command){ modal_loading.modal('open'); - console.log(command) + console.log(command); $.ajax({ type: "POST", dataType: 'json', @@ -371,6 +372,8 @@ function msToTime(duration) { } function listeners() { + + $('#btn_play').click(function () { switch (state){ case "PLAYING": diff --git a/src/main/resources/static/js/navabar.js b/src/main/resources/static/js/navabar.js index 98d4b10..0358232 100644 --- a/src/main/resources/static/js/navabar.js +++ b/src/main/resources/static/js/navabar.js @@ -13,7 +13,7 @@ var nav_name; $(document).ready(function() { $('#nav-mobile').sidenav({ menuWidth: 400, // Default is 300 - edge: 'right', // Choose the horizontal origin + edge: 'left', // Choose the horizontal origin closeOnClick: false, // Closes side-nav on clicks, useful for Angular/Meteor draggable: true // Choose whether you can drag to open on touch screens, }); @@ -22,6 +22,13 @@ $(document).ready(function() { dismissible: false // Modal can be dismissed by clicking outside of the modal }); + $('#modal_internet').modal({ + dismissible: false // Modal can be dismissed by clicking outside of the modal + }); + + + + nav_bar_account_link = $("#nav-bar-account"); input_name = $("#user_input"); @@ -37,6 +44,8 @@ $(document).ready(function() { connected(); } + checkConnection(); + }); @@ -198,5 +207,21 @@ function getGuild(){ error = true; } + }); +} + + +function checkConnection() { + $.ajax({ + type: "GET", + url: "/api/isReady", + success: function (data) { + console.log("Connection Ok"); + } + + }).fail(function (data) { + console.error("Connection fail!"); + $('#modal_internet').modal('open'); + }); } \ No newline at end of file diff --git a/src/main/resources/static/js/workerRegister.js b/src/main/resources/static/js/workerRegister.js new file mode 100644 index 0000000..9907be1 --- /dev/null +++ b/src/main/resources/static/js/workerRegister.js @@ -0,0 +1,11 @@ +if ('serviceWorker' in navigator) { + window.addEventListener('load', function() { + navigator.serviceWorker.register('/sw.js').then(function(registration) { + // Registration was successful + console.log('ServiceWorker registration successful with scope: ', registration.scope); + }, function(err) { + // registration failed :( + console.log('ServiceWorker registration failed: ', err); + }); + }); +} \ No newline at end of file diff --git a/src/main/resources/static/manifest.json b/src/main/resources/static/manifest.json new file mode 100644 index 0000000..9f5c407 --- /dev/null +++ b/src/main/resources/static/manifest.json @@ -0,0 +1,20 @@ +{ + "short_name": "Claptrap", + "name": "Claptrap Bot", + "icons": [ + { + "src": "/img/icon_192.png", + "type": "image/png", + "sizes": "192x192" + }, + { + "src": "/img/icon_512.png", + "type": "image/png", + "sizes": "512x512" + } + ], + "start_url": "/", + "display": "standalone", + "theme_color": "#263238", + "background_color": "#263238" +} \ No newline at end of file diff --git a/src/main/resources/static/sw.js b/src/main/resources/static/sw.js new file mode 100644 index 0000000..2a09125 --- /dev/null +++ b/src/main/resources/static/sw.js @@ -0,0 +1,80 @@ +var CACHE_NAME = 'Clap-Trap-Bot-V0.1'; +var urlsToCache = [ + '/', + '/music', + '/register', + '/oauthCallback', + '/css/materialize.css', + '/js/navabar.js', + '/manifest.json' + +]; + + +self.addEventListener('install', function (event) { + // Perform install steps + event.waitUntil( + caches.open(CACHE_NAME) + .then(function (cache) { + console.log('Opened cache'); + return cache.addAll(urlsToCache); + }) + ); +}); + +self.addEventListener('fetch', function (event) { + console.log("fetch"); + event.respondWith( + caches.match(event.request) + .then(function (response) { + // Cache hit - return response + if (response) { + return response; + } + return fetch(event.request); + } + ) + ); + + event.waitUntil( + update(event.request) + .then(refresh) + ); + + function update(request) { + console.log(request); + console.log(caches.match(request)); + return caches.match(request).then( + function (response) { + if (response) { + return caches.open(CACHE_NAME).then(function (cache) { + return fetch(request).then(function (response) { + return cache.put(request, response.clone()).then(function () { + return response; + }); + }); + }); + } + } + ); + } + + function refresh(response) { + if(response){ + console.log("refresh"); + return self.clients.matchAll().then(function (clients) { + clients.forEach(function (client) { + var message = { + type: 'refresh', + url: response.url, + eTag: response.headers.get('eTag') + }; + client.postMessage(JSON.stringify(message)); + }); + }); + } + + } + + +}); \ No newline at end of file diff --git a/src/main/resources/templates/header.html b/src/main/resources/templates/header.html index e73f31d..dad8103 100644 --- a/src/main/resources/templates/header.html +++ b/src/main/resources/templates/header.html @@ -109,7 +109,7 @@
-
+
account_box @@ -117,7 +117,7 @@
-
+
security @@ -162,6 +162,24 @@
+ + + + + + +
-
+

-
+
-
0:00
-
0:00
+
0:00
+
0:00
-
+ -
+ -
+
skip_next @@ -53,7 +56,7 @@
-
+
info @@ -62,7 +65,7 @@
-
+
call_end @@ -70,17 +73,17 @@
-
+
-
Playlist
-
+
Playlist
+ -
+
add_circle_outline @@ -88,17 +91,17 @@