fuck node

This commit is contained in:
ry 2019-10-14 13:19:41 +02:00
parent 9ad8081971
commit 304d0ccb96
49 changed files with 1305 additions and 403 deletions

View file

@ -0,0 +1,21 @@
const { log, db } = require("../utils/index");
const { ShortLinks } = require("../utils");
const { table } = require("quick.db");
const Servers = new table("servers");
const Users = new table("users");
const Backend = new table("backend");
module.exports = {
name: "message",
run: async (client, Message) => {
if (Message.author.bot) return;
let Server = Servers.get(Message.guild.id);
let Enabled;
if (Server === null) {
Enabled = db.defaults.server.Shortlinks;
} else {
Enabled = Server.Shortlinks;
}
ShortLinks(Enabled, Message);
}
};

View file

@ -0,0 +1,21 @@
const { log, db } = require("../utils/index");
const { SourceFynnder } = require("../utils");
const { table } = require("quick.db");
const Servers = new table("servers");
const Users = new table("users");
const Backend = new table("backend");
module.exports = {
name: "message",
run: async (client, Message) => {
if (Message.author.bot) return;
let Server = Servers.get(Message.guild.id);
let Enabled;
if (Server === null) {
Enabled = db.defaults.server.SourceFynnder;
} else {
Enabled = Server.SourceFynnder;
}
SourceFynnder(Enabled, Message);
}
};

33
DiscordEvents/guildCreate.js Executable file
View file

@ -0,0 +1,33 @@
const { logChannel } = require("../config");
const util = require("../utils");
module.exports = {
name: "guildCreate",
run: async (client, guild) => {
const logs = client.channels.get(logChannel);
const members = await guild.members.fetch();
guild.utils = util;
guild.guild = guild;
const total = guild.members.size;
const users = guild.members.filter(m => !m.user.bot).size;
const bots = guild.members.filter(m => m.user.bot).size;
if (logs)
logs.send(
`Added to ${guild.name} (owned by: ${guild.owner.user.tag ||
"uncached"} ${guild.ownerID}) on shard ${client.options.shards[
client.options.shards.length - 1
] + 1}/${client.options.shards.length}\nServer has ${parseInt(
total
).toLocaleString()} member${total > 1 ? "s" : ""}: ${parseInt(
users
).toLocaleString()} user${users > 1 ? "s" : ""}, ${parseInt(
bots
).toLocaleString()} bot${bots > 1 ? "s" : ""}, in region ${
guild.region
}`
);
await util.db.setupServer(guild);
}
};

92
DiscordEvents/message.js Executable file
View file

@ -0,0 +1,92 @@
const { Collection } = require("discord.js");
const { ShortLinks, SourceFynnder } = require("../utils");
let ShortLinksEnabled = true;
let SourceFynnderEnabled = true;
const { table } = require("quick.db");
const Servers = new table("servers");
const Users = new table("users");
const Backend = new table("backend");
module.exports = {
name: "message",
run: async (client, msg) => {
const prefix = client.config.prefixes.find(p =>
msg.content.toLowerCase().startsWith(p)
);
if (msg.author.bot) return;
if (msg.author.id !== "318044130796109825") return;
let Server = Servers.get(msg.guild.id);
let enabled;
if (Server === null) {
enabled = require("../utils").db.defaults.server;
} else {
enabled = Server;
}
ShortLinks(enabled.Shortlinks, msg);
if (!prefix) return;
const args = msg.content.slice(prefix.length).split(/ +/g);
const command = args.shift().toLowerCase();
const cmd = client.commands.find(
c => c.name == command || (c.aliases && c.aliases.includes(command))
);
const ctx = {
send: msg.channel.send.bind(msg.channel),
client,
msg,
args,
command: cmd,
me: msg.guild.me,
guild: msg.guild,
channel: msg.channel,
author: msg.author,
member: msg.member,
db: { users: Users, servers: Servers, backend: Backend },
utils: require("../utils"),
isDeveloper: client.config.developers.find(id => msg.author.id == id)
};
if (!cmd) return;
if (!client.cooldowns.has(cmd.name)) {
client.cooldowns.set(cmd.name, new Collection());
}
if (cmd.guildOnly && !msg.guild) return;
if (
cmd.developerOnly &&
!client.config.developers.find(devs => msg.author.id == devs.id)
)
return;
const now = Date.now();
const timestamps = client.cooldowns.get(cmd.name);
const cooldownAmount = (cmd.cooldown || 1) * 1000;
if (timestamps.has(msg.author.id)) {
const expirationTime = timestamps.get(msg.author.id) + cooldownAmount;
if (now < expirationTime) {
const timeLeft = (expirationTime - now) / 1000;
return ctx.send(
`\`${cmd.name}\` has a cooldown of \`${cmd.cooldown} second${
cmd.cooldown > 1 ? "s" : ""
}\`, wait \`${`${Math.round(timeLeft)} second${
Math.round(timeLeft) > 1 ? "s" : ""
}`.replace(
"0 second",
"just a second longer"
)}\` before trying to use it again.`
);
}
} else {
timestamps.set(msg.author.id, now);
setTimeout(() => timestamps.delete(msg.author.id), cooldownAmount);
cmd
.command(ctx)
.then(() => {})
.catch(console.error);
}
}
};

View file

@ -0,0 +1,36 @@
const p = require('phin').defaults({
method: 'POST',
parse: 'json'
});
module.exports = {
name: 'messageReactionAdd',
run: async (client, reaction, user) => {
if (user.bot) return;
if (!client.config.developers.find(id => id == user.id)) return;
if (reaction.emoji.name == '📥') {
try {
if (!client.cache.lastEval) {
await reaction.message.edit(`\`Unable to upload uncached eval results\``);
await reaction.message.reactions.removeAll();
} else {
const { body } = await p({
url: `https://hasteb.in/documents`,
data: `${client.cache.lastEval || `Last eval resuts weren't cached`}`
});
await reaction.message.edit(`<https://hasteb.in/${body.key}>`);
await reaction.message.reactions.removeAll();
}
} catch(err) {}
}
if (reaction.emoji.name == '🗑') {
try {
await reaction.message.delete();
} catch(err) {}
}
}
}

9
DiscordEvents/ready.js Executable file
View file

@ -0,0 +1,9 @@
const { log } = require("../utils/index");
module.exports = {
name: "ready",
run: async client => {
log.hasStarted();
client.user.setActivity(`@${client.user.username} help to get started`);
}
};

16
DiscordEvents/shardReady.js Executable file
View file

@ -0,0 +1,16 @@
const { logChannel } = require("../config");
const util = require("../utils");
module.exports = {
name: "shardReady",
run: async client => {
const logs = client.channels.get(logChannel);
const message = `Shard ${client.options.shards[
client.options.shards.length - 1
] + 1}/${client.options.shards.length} is ready`;
await util.log.shardReady(message);
await util.log.shardSpinnerStarted(message);
// if (logs !== undefined) logs.send(message);
}
};

View file

@ -0,0 +1,12 @@
const { logChannel } = require('../config');
module.exports = {
name: 'shardReconnecting',
run: async (client) => {
const logs = client.channels.get(logChannel);
const message = `Shard ${client.options.shards[client.options.shards.length - 1] + 1}/${client.options.shards.length} changed status to reconnecting`;
if (logs) logs.send(message);
console.log(message);
}
}

12
DiscordEvents/shardResume.js Executable file
View file

@ -0,0 +1,12 @@
const { logChannel } = require('../config');
module.exports = {
name: 'shardResume',
run: async (client, replayed) => {
const logs = client.channels.get(logChannel);
const message = `Shard ${client.options.shards[client.options.shards.length - 1] + 1}/${client.options.shards.length} changed status to resumed\nReported that ${replayed == 0 ? 'no events were' : `${replayed} event${replayed > 1 ? 's were' : ' was'}`} replayed to the client`;
if (logs) logs.send(message);
console.log(message);
}
}