oops forgot to turn on linter
This commit is contained in:
parent
bd38870c44
commit
823c1d4de8
9 changed files with 103 additions and 103 deletions
|
@ -2,19 +2,19 @@ module.exports = class Command {
|
||||||
constructor (name, category) {
|
constructor (name, category) {
|
||||||
// Gateway stuff
|
// Gateway stuff
|
||||||
this.name = name,
|
this.name = name,
|
||||||
this.description = "No description provided.",
|
this.description = 'No description provided.',
|
||||||
this.options = [],
|
this.options = [],
|
||||||
this.permissions = {
|
this.permissions = {
|
||||||
DEFAULT_MEMBER_PERMISSIONS: "SendMessages"
|
DEFAULT_MEMBER_PERMISSIONS: 'SendMessages'
|
||||||
}
|
};
|
||||||
this.dm_permission = false,
|
this.dm_permission = false,
|
||||||
// Extra stuff Woomy uses internally
|
// Extra stuff Woomy uses internally
|
||||||
this.category = category,
|
this.category = category,
|
||||||
this.usage = "No usage information provided.",
|
this.usage = 'No usage information provided.',
|
||||||
this.friendlyOptions = "No options provided."
|
this.friendlyOptions = 'No options provided.',
|
||||||
this.enabled = true,
|
this.enabled = true,
|
||||||
this.devOnly = false,
|
this.devOnly = false,
|
||||||
this.cooldown = 2000
|
this.cooldown = 2000;
|
||||||
}
|
}
|
||||||
|
|
||||||
run (client, interaction, data) { //eslint-disable-line no-unused-vars
|
run (client, interaction, data) { //eslint-disable-line no-unused-vars
|
||||||
|
|
|
@ -1,12 +1,12 @@
|
||||||
const Command = require("../../base/Command.js");
|
const Command = require('../../base/Command.js');
|
||||||
const replies = require('../../assets/replies.json');
|
const replies = require('../../assets/replies.json');
|
||||||
|
|
||||||
module.exports = class Ping extends Command {
|
module.exports = class Ping extends Command {
|
||||||
constructor (name, category) {
|
constructor (name, category) {
|
||||||
super (name, category)
|
super (name, category);
|
||||||
this.name = name,
|
this.name = name,
|
||||||
this.description = 'Check response time between Woomy and Discord',
|
this.description = 'Check response time between Woomy and Discord',
|
||||||
this.category = category
|
this.category = category;
|
||||||
}
|
}
|
||||||
|
|
||||||
async run (client, interaction, data) { //eslint-disable-line no-unused-vars
|
async run (client, interaction, data) { //eslint-disable-line no-unused-vars
|
||||||
|
|
|
@ -1,32 +1,32 @@
|
||||||
const Command = require("../../base/Command.js");
|
const Command = require('../../base/Command.js');
|
||||||
|
|
||||||
module.exports = class Avatar extends Command {
|
module.exports = class Avatar extends Command {
|
||||||
constructor (name, category) {
|
constructor (name, category) {
|
||||||
super (name, category)
|
super (name, category);
|
||||||
this.name = name,
|
this.name = name,
|
||||||
this.description = 'View a full-sized version of someone\'s avatar.',
|
this.description = 'View a full-sized version of someone\'s avatar.',
|
||||||
this.options = [
|
this.options = [
|
||||||
{
|
{
|
||||||
type: 6,
|
type: 6,
|
||||||
name: "user",
|
name: 'user',
|
||||||
description: "The user to get the avatar of."
|
description: 'The user to get the avatar of.'
|
||||||
},
|
},
|
||||||
],
|
],
|
||||||
this.usage = "/avatar [user]"
|
this.usage = '/avatar [user]',
|
||||||
this.friendlyOptions = "`user` - The user to get the avatar of (optional)",
|
this.friendlyOptions = '`user` - The user to get the avatar of (optional)',
|
||||||
this.category = category
|
this.category = category;
|
||||||
}
|
}
|
||||||
|
|
||||||
async run (client, interaction, data) { //eslint-disable-line no-unused-vars
|
async run (client, interaction, data) { //eslint-disable-line no-unused-vars
|
||||||
const target = await interaction.options.getUser('user') ?? interaction.user;
|
const target = await interaction.options.getUser('user') ?? interaction.user;
|
||||||
const user = await client.users.fetch(target.id, {force: true})
|
const user = await client.users.fetch(target.id, {force: true});
|
||||||
const member = await interaction.guild.members.fetch(target.id, {force: true})
|
const member = await interaction.guild.members.fetch(target.id, {force: true});
|
||||||
|
|
||||||
const embed = new client.EmbedBuilder()
|
const embed = new client.EmbedBuilder()
|
||||||
.setTitle(user.username + '#' + user.discriminator + "'s avatar")
|
.setTitle(user.username + '#' + user.discriminator + '\'s avatar')
|
||||||
.setColor(user.hexAccentColor ?? member.displayHexColor)
|
.setColor(user.hexAccentColor ?? member.displayHexColor)
|
||||||
.setDescription(`[Global avatar](${user.avatarURL({extension: "png", "size": 4096})})`)
|
.setDescription(`[Global avatar](${user.avatarURL({extension: 'png', 'size': 4096})})`)
|
||||||
.setImage(member.displayAvatarURL({extension: "png", "size": 4096}));
|
.setImage(member.displayAvatarURL({extension: 'png', 'size': 4096}));
|
||||||
|
|
||||||
await interaction.reply({embeds: [embed]});
|
await interaction.reply({embeds: [embed]});
|
||||||
}
|
}
|
||||||
|
|
|
@ -1,4 +1,4 @@
|
||||||
const Command = require("../../base/Command.js");
|
const Command = require('../../base/Command.js');
|
||||||
const fetch = require('node-fetch');
|
const fetch = require('node-fetch');
|
||||||
const windrose = require('windrose');
|
const windrose = require('windrose');
|
||||||
const ISO2 = require('../../assets/ISO2.json');
|
const ISO2 = require('../../assets/ISO2.json');
|
||||||
|
@ -6,92 +6,92 @@ const ISO2 = require('../../assets/ISO2.json');
|
||||||
|
|
||||||
module.exports = class Weather extends Command {
|
module.exports = class Weather extends Command {
|
||||||
constructor (name, category) {
|
constructor (name, category) {
|
||||||
super (name, category)
|
super (name, category);
|
||||||
this.name = name,
|
this.name = name,
|
||||||
this.description = 'View the weather in a place ',
|
this.description = 'View the weather in a place ',
|
||||||
this.options = [
|
this.options = [
|
||||||
{
|
{
|
||||||
type: 3,
|
type: 3,
|
||||||
name: "city",
|
name: 'city',
|
||||||
description: "The city to check the weather at",
|
description: 'The city to check the weather at',
|
||||||
required: true
|
required: true
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
type: 3,
|
type: 3,
|
||||||
name: "country",
|
name: 'country',
|
||||||
description: "The country the city is in",
|
description: 'The country the city is in',
|
||||||
}
|
}
|
||||||
],
|
],
|
||||||
this.category = category,
|
this.category = category,
|
||||||
this.cooldown = 10000
|
this.cooldown = 10000;
|
||||||
};
|
}
|
||||||
|
|
||||||
async run (client, interaction, data) { //eslint-disable-line no-unused-vars
|
async run (client, interaction, data) { //eslint-disable-line no-unused-vars
|
||||||
|
|
||||||
const city = await interaction.options.get('city').value;
|
const city = await interaction.options.get('city').value;
|
||||||
let country = await interaction.options.get('country');
|
let country = await interaction.options.get('country');
|
||||||
let countryCode = "";
|
let countryCode = '';
|
||||||
|
|
||||||
if (country) {
|
if (country) {
|
||||||
country = country.value;
|
country = country.value;
|
||||||
countryCode += ","
|
countryCode += ',';
|
||||||
if (ISO2.country[country.toProperCase().trim()]) {
|
if (ISO2.country[country.toProperCase().trim()]) {
|
||||||
countryCode += ISO2.country[country.toProperCase().trim()];
|
countryCode += ISO2.country[country.toProperCase().trim()];
|
||||||
} else {
|
} else {
|
||||||
countryCode += country.trim();
|
countryCode += country.trim();
|
||||||
}
|
}
|
||||||
};
|
}
|
||||||
|
|
||||||
fetch(`https://api.openweathermap.org/data/2.5/weather?q=${city + countryCode}&appid=${client.config.keys.weather}`, { headers: { 'User-Agent': client.config.userAgent }})
|
fetch(`https://api.openweathermap.org/data/2.5/weather?q=${city + countryCode}&appid=${client.config.keys.weather}`, { headers: { 'User-Agent': client.config.userAgent }})
|
||||||
.then(res => res.json())
|
.then(res => res.json())
|
||||||
.then(json => {
|
.then(json => {
|
||||||
if (json.cod >= 200 && json.cod <= 299) {
|
if (json.cod >= 200 && json.cod <= 299) {
|
||||||
const tempCelsius = Math.round(json.main.temp - 273.15);
|
const tempCelsius = Math.round(json.main.temp - 273.15);
|
||||||
let embedColor;
|
let embedColor;
|
||||||
if (tempCelsius < 0) {
|
if (tempCelsius < 0) {
|
||||||
embedColor = '#addeff';
|
embedColor = '#addeff';
|
||||||
} else if (tempCelsius < 20) {
|
} else if (tempCelsius < 20) {
|
||||||
embedColor = '#4fb8ff';
|
embedColor = '#4fb8ff';
|
||||||
} else if (tempCelsius < 26) {
|
} else if (tempCelsius < 26) {
|
||||||
embedColor = '#ffea4f';
|
embedColor = '#ffea4f';
|
||||||
} else if (tempCelsius < 31) {
|
} else if (tempCelsius < 31) {
|
||||||
embedColor = '#ffa14f';
|
embedColor = '#ffa14f';
|
||||||
|
} else {
|
||||||
|
embedColor = '#ff614f';
|
||||||
|
}
|
||||||
|
|
||||||
|
const embed = new client.EmbedBuilder()
|
||||||
|
.setTitle('Current conditions in ' + city.toProperCase() + ', ' + ISO2.code[json.sys.country])
|
||||||
|
.setThumbnail(`https://openweathermap.org/img/wn/${json.weather[0].icon}@4x.png`)
|
||||||
|
.setColor(embedColor)
|
||||||
|
.addFields([
|
||||||
|
{ name: 'Condition:', value: json.weather[0].main, inline: true },
|
||||||
|
{ name: 'Temperature:', value: `${tempCelsius}°C ・ ${Math.round(json.main.temp * 9/5 - 459.67)}°F`, inline: true },
|
||||||
|
{ name: 'Min/Max:', value:`
|
||||||
|
${Math.round(json.main.temp_min - 273.15)}°C ・ ${Math.round(json.main.temp_max - 273.15)}°C
|
||||||
|
${Math.round(json.main.temp_min * 9/5 - 459.67)}°F ・ ${Math.round(json.main.temp_max * 9/5 - 459.67)}°F
|
||||||
|
`, inline: true},
|
||||||
|
{ name: 'Humidity:', value: `${json.main.humidity}%`, inline: true },
|
||||||
|
{ name: 'Wind Speed:', value: `${Math.round(json.wind.speed * 10) / 10}km/h ・ ${Math.round(json.wind.speed * 10 / 1.609344)}mi/h`, inline: true },
|
||||||
|
{ name: 'Wind Direction:', value: windrose.getPoint(json.wind.deg).name, inline: true}
|
||||||
|
])
|
||||||
|
.setFooter({ text: 'Powered by openweathermap.org'});
|
||||||
|
|
||||||
|
return interaction.reply({embeds: [embed]});
|
||||||
} else {
|
} else {
|
||||||
embedColor = '#ff614f';
|
if (json.message && json.message === 'city not found') {
|
||||||
}
|
return interaction.reply({
|
||||||
|
content: `${client.config.emojis.userError} ${city.toProperCase()} is not listed in my sources.`,
|
||||||
const embed = new client.EmbedBuilder()
|
ephemeral: true
|
||||||
.setTitle('Current conditions in ' + city.toProperCase() + ', ' + ISO2.code[json.sys.country])
|
});
|
||||||
.setThumbnail(`https://openweathermap.org/img/wn/${json.weather[0].icon}@4x.png`)
|
}
|
||||||
.setColor(embedColor)
|
client.logger.error('WEATHER_COMMAND_ERROR', `API Error: ${json}`);
|
||||||
.addFields([
|
|
||||||
{ name: 'Condition:', value: json.weather[0].main, inline: true },
|
|
||||||
{ name: 'Temperature:', value: `${tempCelsius}°C ・ ${Math.round(json.main.temp * 9/5 - 459.67)}°F`, inline: true },
|
|
||||||
{ name: 'Min/Max:', value:`
|
|
||||||
${Math.round(json.main.temp_min - 273.15)}°C ・ ${Math.round(json.main.temp_max - 273.15)}°C
|
|
||||||
${Math.round(json.main.temp_min * 9/5 - 459.67)}°F ・ ${Math.round(json.main.temp_max * 9/5 - 459.67)}°F
|
|
||||||
`, inline: true},
|
|
||||||
{ name: 'Humidity:', value: `${json.main.humidity}%`, inline: true },
|
|
||||||
{ name: 'Wind Speed:', value: `${Math.round(json.wind.speed * 10) / 10}km/h ・ ${Math.round(json.wind.speed * 10 / 1.609344)}mi/h`, inline: true },
|
|
||||||
{ name: 'Wind Direction:', value: windrose.getPoint(json.wind.deg).name, inline: true}
|
|
||||||
])
|
|
||||||
.setFooter({ text: 'Powered by openweathermap.org'});
|
|
||||||
|
|
||||||
return interaction.reply({embeds: [embed]});
|
|
||||||
} else {
|
|
||||||
if (json.message && json.message === 'city not found') {
|
|
||||||
return interaction.reply({
|
return interaction.reply({
|
||||||
content: `${client.config.emojis.userError} ${city.toProperCase()} is not listed in my sources.`,
|
content: `${client.config.emojis.botError} API error occurred: \`code ${json.cod}\``,
|
||||||
ephemeral: true
|
ephemeral: true
|
||||||
});
|
});
|
||||||
};
|
}
|
||||||
client.logger.error('WEATHER_COMMAND_ERROR', `API Error: ${json}`)
|
});
|
||||||
return interaction.reply({
|
|
||||||
content: `${client.config.emojis.botError} API error occurred: \`code ${json.cod}\``,
|
|
||||||
ephemeral: true
|
|
||||||
});
|
|
||||||
};
|
|
||||||
});
|
|
||||||
|
|
||||||
};
|
}
|
||||||
};
|
};
|
|
@ -2,35 +2,35 @@
|
||||||
|
|
||||||
const { REST, Routes } = require('discord.js');
|
const { REST, Routes } = require('discord.js');
|
||||||
const { clientId, token } = require('../botconfig.json');
|
const { clientId, token } = require('../botconfig.json');
|
||||||
const guildId = "413591792185769984";
|
const guildId = '413591792185769984';
|
||||||
const read = require('fs-readdir-recursive');
|
const read = require('fs-readdir-recursive');
|
||||||
const commands = [];
|
const commands = [];
|
||||||
const commandFiles = read('./commands').filter(file => file.endsWith('.js'));
|
const commandFiles = read('./commands').filter(file => file.endsWith('.js'));
|
||||||
|
|
||||||
for (const file of commandFiles) {
|
for (const file of commandFiles) {
|
||||||
const command = new (require(__dirname + '/commands/' + file))(file.substr(file.indexOf('/') + 1).slice(0, -3), file.substr(0, file.indexOf('/')));
|
const command = new (require(__dirname + '/commands/' + file))(file.substr(file.indexOf('/') + 1).slice(0, -3), file.substr(0, file.indexOf('/')));
|
||||||
commands.push({
|
commands.push({
|
||||||
name: command.name,
|
name: command.name,
|
||||||
description: command.description,
|
description: command.description,
|
||||||
options: command.options,
|
options: command.options,
|
||||||
permissions: command.permissions,
|
permissions: command.permissions,
|
||||||
dm_permission: command.dm_permission
|
dm_permission: command.dm_permission
|
||||||
});
|
});
|
||||||
}
|
}
|
||||||
|
|
||||||
const rest = new REST({ version: '10' }).setToken(token);
|
const rest = new REST({ version: '10' }).setToken(token);
|
||||||
|
|
||||||
(async () => {
|
(async () => {
|
||||||
try {
|
try {
|
||||||
console.log(`Started refreshing ${commands.length} application (/) commands.`);
|
console.log(`Started refreshing ${commands.length} application (/) commands.`);
|
||||||
|
|
||||||
const data = await rest.put(
|
const data = await rest.put(
|
||||||
Routes.applicationGuildCommands(clientId, guildId),
|
Routes.applicationGuildCommands(clientId, guildId),
|
||||||
{ body: commands },
|
{ body: commands },
|
||||||
);
|
);
|
||||||
|
|
||||||
console.log(`Successfully reloaded ${data.length} application (/) commands.`);
|
console.log(`Successfully reloaded ${data.length} application (/) commands.`);
|
||||||
} catch (error) {
|
} catch (error) {
|
||||||
console.error(error);
|
console.error(error);
|
||||||
}
|
}
|
||||||
})();
|
})();
|
||||||
|
|
|
@ -1,6 +1,6 @@
|
||||||
/* eslint-disable indent */
|
/* eslint-disable indent */
|
||||||
|
|
||||||
class EventHandler {
|
class EventHandler {
|
||||||
|
|
||||||
constructor (client) {
|
constructor (client) {
|
||||||
this.client = client;
|
this.client = client;
|
||||||
}
|
}
|
||||||
|
|
|
@ -1,4 +1,4 @@
|
||||||
const Event = require("../../base/Event.js");
|
const Event = require('../../base/Event.js');
|
||||||
module.exports = class InteractionHandler extends Event {
|
module.exports = class InteractionHandler extends Event {
|
||||||
constructor (wsEvent) {
|
constructor (wsEvent) {
|
||||||
super (wsEvent);
|
super (wsEvent);
|
||||||
|
@ -39,7 +39,7 @@ module.exports = class InteractionHandler extends Event {
|
||||||
return interaction.reply({
|
return interaction.reply({
|
||||||
content: `${client.config.emojis.wait} You need to wait ${cooldown - timePassed} seconds before using this command again.`,
|
content: `${client.config.emojis.wait} You need to wait ${cooldown - timePassed} seconds before using this command again.`,
|
||||||
ephemeral: true
|
ephemeral: true
|
||||||
});
|
});
|
||||||
} else {
|
} else {
|
||||||
client.cooldowns.get(command.name).set(interaction.user.id, new Date());
|
client.cooldowns.get(command.name).set(interaction.user.id, new Date());
|
||||||
setTimeout(() => {
|
setTimeout(() => {
|
||||||
|
|
|
@ -1,4 +1,4 @@
|
||||||
const Event = require("../../base/Event.js");
|
const Event = require('../../base/Event.js');
|
||||||
const activities = require('../../assets/activities.json');
|
const activities = require('../../assets/activities.json');
|
||||||
module.exports = class Activity extends Event {
|
module.exports = class Activity extends Event {
|
||||||
constructor (wsEvent) {
|
constructor (wsEvent) {
|
||||||
|
|
|
@ -1,4 +1,4 @@
|
||||||
const Event = require("../../base/Event.js");
|
const Event = require('../../base/Event.js');
|
||||||
module.exports = class Ready extends Event {
|
module.exports = class Ready extends Event {
|
||||||
constructor (wsEvent) {
|
constructor (wsEvent) {
|
||||||
super (wsEvent);
|
super (wsEvent);
|
||||||
|
|
Loading…
Reference in a new issue