diff --git a/client/commands/play.js b/client/commands/play.js index 66faee5..0269dc4 100644 --- a/client/commands/play.js +++ b/client/commands/play.js @@ -43,7 +43,7 @@ module.exports = { if (radio) { - statisticsUpdate(client, msg.guild, radio); + client.funcs.statisticsUpdate(client, msg.guild, radio); radio.connection.dispatcher.destroy(); radio.station = station; @@ -110,19 +110,6 @@ function play(guild, client, url) { radio.textChannel.send(client.messageEmojis["play"] + message.play); }; -function statisticsUpdate(client, guild, radio) { - if(!radio.currentGuild.statistics[radio.station.name]){ - radio.currentGuild.statistics[radio.station.name] = {}; - radio.currentGuild.statistics[radio.station.name].time = 0; - radio.currentGuild.statistics[radio.station.name].used = 0; - client.datastore.updateEntry(guild, radio.currentGuild); - } - - radio.currentGuild.statistics[radio.station.name].time = parseInt(radio.currentGuild.statistics[radio.station.name].time)+parseInt(radio.connection.dispatcher.streamTime.toFixed(0)); - radio.currentGuild.statistics[radio.station.name].used = parseInt(radio.currentGuild.statistics[radio.station.name].used)+1; - client.datastore.updateEntry(guild, radio.currentGuild); -}; - function searchStation(key, client) { if (client.stations === null) return false; let foundStations = []; diff --git a/client/commands/stop.js b/client/commands/stop.js index 73cbb84..f3e4d49 100644 --- a/client/commands/stop.js +++ b/client/commands/stop.js @@ -8,26 +8,11 @@ module.exports = { execute(msg, args, client, Discord, command) { const radio = client.radio.get(msg.guild.id); if (client.funcs.check(client, msg, command)) { - statisticsUpdate(client, msg.guild, radio); + client.funcs.statisticsUpdate(client, msg.guild, radio); radio.connection.dispatcher.destroy(); radio.voiceChannel.leave(); client.radio.delete(msg.guild.id); msg.channel.send(client.messageEmojis["stop"] + client.messages.stop); } } -}; - -function statisticsUpdate(client, guild, radio) { - client.datastore.checkEntry(guild.id); - radio.currentGuild = client.datastore.getEntry(guild.id); - if(!radio.currentGuild.statistics[radio.station.name]){ - radio.currentGuild.statistics[radio.station.name] = {}; - radio.currentGuild.statistics[radio.station.name].time = 0; - radio.currentGuild.statistics[radio.station.name].used = 0; - client.datastore.updateEntry(guild, radio.currentGuild); - } - - radio.currentGuild.statistics[radio.station.name].time = parseInt(radio.currentGuild.statistics[radio.station.name].time)+parseInt(radio.connection.dispatcher.streamTime.toFixed(0)); - radio.currentGuild.statistics[radio.station.name].used = parseInt(radio.currentGuild.statistics[radio.station.name].used)+1; - client.datastore.updateEntry(guild, radio.currentGuild); -} \ No newline at end of file +}; \ No newline at end of file diff --git a/client/events/voiceStateUpdate.js b/client/events/voiceStateUpdate.js index c8490e7..41d454e 100644 --- a/client/events/voiceStateUpdate.js +++ b/client/events/voiceStateUpdate.js @@ -7,7 +7,7 @@ module.exports = { if (!radio) return; if (newState.member.id === client.user.id && oldState.member.id === client.user.id) { if (newState.channel === null) { - statisticsUpdate(client, newState, radio); + client.funcs.statisticsUpdate(client, newState, radio); return client.radio.delete(newState.guild.id); } @@ -17,7 +17,7 @@ module.exports = { const connection = await oldState.channel.join(); return radio.connection = connection; } catch (error) { - statisticsUpdate(client, newState, radio); + client.funcs.statisticsUpdate(client, newState, radio); radio.connection.dispatcher.destroy(); radio.voiceChannel.leave(); client.radio.delete(oldState.guild.id); @@ -34,7 +34,7 @@ module.exports = { setTimeout(() => { if (!radio) return; if (radio.voiceChannel.members.size === 1) { - statisticsUpdate(client, newState, radio); + client.funcs.statisticsUpdate(client, newState, radio); radio.connection.dispatcher.destroy(); radio.voiceChannel.leave(); client.radio.delete(newState.guild.id);