Compare commits
3 commits
69c7fd8d53
...
47dba48c76
Author | SHA1 | Date | |
---|---|---|---|
47dba48c76 | |||
e92210e856 | |||
ba99719c20 |
4 changed files with 37 additions and 12 deletions
|
@ -1,5 +1,5 @@
|
||||||
const savePresence = require("../../util/savePresence");
|
const savePresence = require("../../util/savePresence");
|
||||||
const timeUntil = require("../../util/timer/timeUntil");
|
const setPresence = require("../../util/setPresence");
|
||||||
|
|
||||||
module.exports = {
|
module.exports = {
|
||||||
name: 'setpresence',
|
name: 'setpresence',
|
||||||
|
@ -13,7 +13,16 @@ module.exports = {
|
||||||
,"Custom Variables:"
|
,"Custom Variables:"
|
||||||
,"${guilds},${prefix},${uptime},{members}"],
|
,"${guilds},${prefix},${uptime},{members}"],
|
||||||
admin: true,
|
admin: true,
|
||||||
execute({message, client, args}) {
|
execute({message, client, args, prefix}) {
|
||||||
|
let forceUpdate = false;
|
||||||
|
if(args.length > 1 && args[0] === "force") {
|
||||||
|
forceUpdate = true;
|
||||||
|
args.shift();
|
||||||
|
}
|
||||||
|
if(args.length < 1){
|
||||||
|
message.channel.send(`You need at least two arguments for this command, see \`${prefix}help setpresence\``)
|
||||||
|
return;
|
||||||
|
}
|
||||||
let presenceType = args[0].toLocaleUpperCase();
|
let presenceType = args[0].toLocaleUpperCase();
|
||||||
let sendText = "Presence has been set.";
|
let sendText = "Presence has been set.";
|
||||||
|
|
||||||
|
@ -47,6 +56,9 @@ module.exports = {
|
||||||
let temp = args.join(" ");
|
let temp = args.join(" ");
|
||||||
let presenceText = temp.slice(firstArg, temp.length)
|
let presenceText = temp.slice(firstArg, temp.length)
|
||||||
savePresence(presenceType, presenceText, client);
|
savePresence(presenceType, presenceText, client);
|
||||||
|
if(forceUpdate)
|
||||||
|
setPresence({presenceText, presenceType, client})
|
||||||
|
else
|
||||||
sendText = `${sendText} It will update <t:${Math.floor((client.lastPresenceUpdate + 60000) / 1000)}:R>`
|
sendText = `${sendText} It will update <t:${Math.floor((client.lastPresenceUpdate + 60000) / 1000)}:R>`
|
||||||
}
|
}
|
||||||
message.channel.send(sendText);
|
message.channel.send(sendText);
|
||||||
|
|
|
@ -54,6 +54,7 @@ createAndLoadWhitelistTable(client.whitelist);
|
||||||
|
|
||||||
client.settings.set("presenceType", presenceType);
|
client.settings.set("presenceType", presenceType);
|
||||||
client.settings.set("presenceText", presenceText);
|
client.settings.set("presenceText", presenceText);
|
||||||
|
client.settings.set("globalPrefix", globalPrefix);
|
||||||
|
|
||||||
const reloadCommands = require("./util/reloadCommands.js");
|
const reloadCommands = require("./util/reloadCommands.js");
|
||||||
const onMessage = require('./server/message');
|
const onMessage = require('./server/message');
|
||||||
|
@ -74,7 +75,7 @@ client.once('disconnect', () => {
|
||||||
});
|
});
|
||||||
|
|
||||||
client.on('messageCreate', async message => {
|
client.on('messageCreate', async message => {
|
||||||
onMessage(client, owners, message, globalPrefix);
|
onMessage(client, owners, message);
|
||||||
});
|
});
|
||||||
|
|
||||||
|
|
||||||
|
|
|
@ -1,6 +1,6 @@
|
||||||
const isWhitelisted = require('../util/isWhitelisted')
|
const isWhitelisted = require('../util/isWhitelisted')
|
||||||
module.exports = function(client, owners, message, globalPrefix){
|
module.exports = function(client, owners, message){
|
||||||
let prefix = globalPrefix;
|
let prefix = client.settings.get("globalPrefix");
|
||||||
let serverPrefix = client.serverPrefixes.get(message.guild.id);
|
let serverPrefix = client.serverPrefixes.get(message.guild.id);
|
||||||
if (serverPrefix) {
|
if (serverPrefix) {
|
||||||
prefix = serverPrefix;
|
prefix = serverPrefix;
|
||||||
|
@ -28,7 +28,7 @@ module.exports = function(client, owners, message, globalPrefix){
|
||||||
if (command.admin && owners.indexOf(message.author.id.toString()) == -1) return;
|
if (command.admin && owners.indexOf(message.author.id.toString()) == -1) return;
|
||||||
try {
|
try {
|
||||||
console.log(`${message.author.username}(id: ${message.author.id}) executed ${command.name} with '${args}' as arguments`)
|
console.log(`${message.author.username}(id: ${message.author.id}) executed ${command.name} with '${args}' as arguments`)
|
||||||
command.execute({ message: message, args: args, client: client, prefix: prefix, owners: owners, globalPrefix: globalPrefix})
|
command.execute({ message: message, args: args, client: client, prefix: prefix, owners: owners})
|
||||||
} catch (error) {
|
} catch (error) {
|
||||||
let divider = "------------------------"
|
let divider = "------------------------"
|
||||||
console.log(divider)
|
console.log(divider)
|
||||||
|
|
|
@ -2,7 +2,7 @@ const getGuildInfo = require("./getGuildInfo")
|
||||||
const parseMS = require('./parseMS');
|
const parseMS = require('./parseMS');
|
||||||
const convertDateToISOString = require('./convertDateToISOString')
|
const convertDateToISOString = require('./convertDateToISOString')
|
||||||
module.exports = function ({presenceText, presenceType, client}) {
|
module.exports = function ({presenceText, presenceType, client}) {
|
||||||
const {globalPrefix} = require ('../data/config.json')
|
const globalPrefix = client.settings.get("globalPrefix")
|
||||||
const guildInfo = getGuildInfo(client);
|
const guildInfo = getGuildInfo(client);
|
||||||
let uptime = parseMS(client.uptime);
|
let uptime = parseMS(client.uptime);
|
||||||
let uptimeFormat = "";
|
let uptimeFormat = "";
|
||||||
|
@ -18,10 +18,22 @@ module.exports = function ({presenceText, presenceType, client}) {
|
||||||
uptimeFormat = `less than a minute`
|
uptimeFormat = `less than a minute`
|
||||||
}
|
}
|
||||||
|
|
||||||
let regex = [/\${guilds}/g,/\${prefix}/g,/\${uptime}/g, /\${members}/g];
|
let presenceVariables = {
|
||||||
let replaceValue = [guildInfo.guildCount, globalPrefix, uptimeFormat, guildInfo.totalMembers];
|
guilds: guildInfo.guildCount,
|
||||||
for(let i = 0; i < regex.length; i++){
|
prefix: globalPrefix,
|
||||||
presenceText = presenceText.replace(regex[i], replaceValue[i]);
|
uptime: uptimeFormat,
|
||||||
|
members: guildInfo.totalMembers
|
||||||
|
}
|
||||||
|
|
||||||
|
const regex = /(?<=\${)(.*?)(?=})/g;
|
||||||
|
const matches = presenceText.match(regex);
|
||||||
|
|
||||||
|
if(matches){
|
||||||
|
matches.forEach(match => {
|
||||||
|
if(presenceVariables[match]){
|
||||||
|
presenceText = presenceText.replace(`\${${match}}`, presenceVariables[match]);
|
||||||
|
}
|
||||||
|
});
|
||||||
}
|
}
|
||||||
|
|
||||||
try {
|
try {
|
||||||
|
|
Loading…
Add table
Add a link
Reference in a new issue