merge from thunder

This commit is contained in:
night0721 2022-01-22 22:17:36 +08:00
parent d763390efd
commit 730b327934
8 changed files with 459 additions and 538 deletions

View file

@ -829,4 +829,4 @@ module.exports = {
}); });
} }
}, },
}; };

View file

@ -1,148 +0,0 @@
const fetch = require('node-fetch')
const { MessageActionRow, MessageButton, MessageEmbed, CommandInteraction } = require('discord.js');
module.exports = {
name : 'nsfw',
description: "nsfw command",
/**
* @param {Client} client
* @param {CommandInteraction} interaction
* @param {String[]} args
*/
run : async(client, interaction) => {
async function embed() {
if(!interaction.channel.nsfw){
const embed = new MessageEmbed()
.setTitle(`AYO Calm Yo Cheeks`)
.setDescription('This command only works in NSFW Channels!')
.setImage('https://media.discordapp.net/attachments/851761493815853060/893777701599584266/warning.gif')
.setColor("#02023a")
interaction.followUp({ embeds: [embed]})
return;
}
let subreddits = [
'GoneWild',
'WorkGoneWild',
'GoneWild30Plus',
'hentai',
'HentaiAnime',
'nekogirls',
'ass',
'BestBooties',
'BootyGIFs',
'booty_queens',
'BlowJob',
'blowjobs',
'blowjobgifs',
'OralSex',
'boobs',
'GrabHerTitties',
'titfuck',
'milf',
'OnlyHotMilfs',
'realmoms',
'thighs',
'PerfectThighs',
'thickthighs'
]
let reddit = subreddits[Math.round(Math.random() * (subreddits.length - 1))];
let embed1 = null
await fetch(`https://meme-api.herokuapp.com/gimme/${reddit}`).then(res => res.json().then(url => {
embed1 = new MessageEmbed()
.setAuthor(
interaction.user.tag,
interaction.user.displayAvatarURL({ dynamic: true })
)
.setTitle(`${url.title}`)
.setImage(`${url.url}`)
.setTimestamp()
.setColor("RED")
.setFooter(`${url.ups} 👍`)
}))
return embed1
}
const row = new MessageActionRow()
.addComponents(
new MessageButton()
.setCustomId('reload')
.setLabel('Reload')
.setStyle('SUCCESS'),
)
const disabled = new MessageActionRow()
.addComponents(
new MessageButton()
.setCustomId('reload')
.setLabel('Reload')
.setStyle('SECONDARY')
.setDisabled(true)
)
let m = await interaction.followUp({
embeds: [await embed()],
components: [row]
})
const collector = m.createMessageComponentCollector({
componentType: 'BUTTON',
time: 120000,
});
collector.on('collect', async i => {
if (i.user.id === interaction.user.id) {
i.deferUpdate()
await update(m)
collector.stop()
} else {
i.reply({
content: `These buttons aren't for you!`,
ephemeral: true
});
}
})
collector.on('end', (mes, r) => {
if (r == 'time') {
m.edit({
components: [disabled],
})
}
})
async function update(m) {
m.edit({
embeds: [await embed()]
}).catch(e => console.log(e.requestData.json.embeds))
const collector = m.createMessageComponentCollector({
componentType: 'BUTTON',
time: 120000,
});
collector.on('collect', async i => {
if (i.user.id === interaction.user.id) {
i.deferUpdate()
await update(m)
collector.stop()
} else {
i.reply({
content: `These buttons aren't for you!`,
ephemeral: true
});
}
})
collector.on('end', (mes, r) => {
if (r == 'time') {
m.edit({
components: [disabled],
})
}
})
}
}
}

137
command/Owner/nsfw.js Normal file
View file

@ -0,0 +1,137 @@
const { getreddit } = require("cath");
const { MessageActionRow, MessageButton, MessageEmbed } = require("discord.js");
module.exports = {
name: "nsfw",
description: "nsfw command",
run: async (client, interaction) => {
const msg = await interaction.channel.send({ content: "Getting images" });
async function embed() {
if (!interaction.channel.nsfw) {
const embed = new MessageEmbed()
.setTitle(`AYO Calm Yo Cheeks`)
.setDescription("This command only works in NSFW Channels!")
.setImage(
"https://media.discordapp.net/attachments/851761493815853060/893777701599584266/warning.gif"
)
.setColor(client.color)
.setFooter(`Made by ${client.author}`, client.user.displayAvatarURL())
.setTimestamp();
interaction.followUp({ embeds: [embed] });
}
let subreddits = [
"GoneWild",
"WorkGoneWild",
"GoneWild30Plus",
"hentai",
"HentaiAnime",
"nekogirls",
"ass",
"BestBooties",
"BootyGIFs",
"booty_queens",
"BlowJob",
"blowjobs",
"blowjobgifs",
"OralSex",
"boobs",
"GrabHerTitties",
"titfuck",
"milf",
"OnlyHotMilfs",
"realmoms",
"thighs",
"PerfectThighs",
"thickthighs",
];
const reddit = subreddits[Math.round(Math.random() * subreddits.length)];
const data = await getreddit(reddit);
let embed1 = null;
embed1 = new MessageEmbed({
title: data.title,
url: data.url,
image: { url: data.image },
timestamp: Date.now(),
footer: { text: data.footer },
color: client.color,
author: {
name: interaction.user.tag,
iconURL: interaction.user.displayAvatarURL({ dynamic: true }),
},
});
return embed1;
}
const row = new MessageActionRow().addComponents(
new MessageButton()
.setCustomId("reload")
.setLabel("Reload")
.setStyle("SUCCESS")
);
const disabled = new MessageActionRow().addComponents(
new MessageButton()
.setCustomId("reload")
.setLabel("Reload")
.setStyle("SECONDARY")
.setDisabled(true)
);
await msg.delete();
let m = await interaction.followUp({
embeds: [await embed()],
components: [row],
});
const collector = m.createMessageComponentCollector({
componentType: "BUTTON",
time: 120000,
});
collector.on("collect", async i => {
if (i.user.id === interaction.user.id) {
i.deferUpdate();
await update(m);
collector.stop();
} else {
i.reply({
content: `These buttons aren't for you!`,
ephemeral: true,
});
}
});
collector.on("end", (mes, r) => {
if (r == "time") {
m.edit({
components: [disabled],
});
}
});
async function update(m) {
m.edit({
embeds: [await embed()],
}).catch(null);
const collector = m.createMessageComponentCollector({
componentType: "BUTTON",
time: 120000,
});
collector.on("collect", async i => {
if (i.user.id === interaction.user.id) {
i.deferUpdate();
await update(m);
collector.stop();
} else {
i.reply({
content: `These buttons aren't for you!`,
ephemeral: true,
});
}
});
collector.on("end", (mes, r) => {
if (r == "time") {
m.edit({
components: [disabled],
});
}
});
}
},
};

View file

@ -1,177 +1,177 @@
const { MessageEmbed } = require("discord.js"); const { MessageEmbed } = require("discord.js");
const { CODMClient } = require("cath"); const { CODMClient } = require("cath");
const c = new CODMClient("Gae"); const c = new CODMClient("Gae");
module.exports = { module.exports = {
name: "scorestreak", name: "scorestreak",
description: "Get Scorestreak stats", description: "Get Scorestreak stats",
type: "CHAT_INPUT", type: "CHAT_INPUT",
usage: "{Scorestreak}", usage: "{Scorestreak}",
category: "CODM", category: "CODM",
options: [ options: [
{ {
type: "SUB_COMMAND", type: "SUB_COMMAND",
name: "lethal", name: "lethal",
description: "Lethal Scorestreak", description: "Lethal Scorestreak",
options: [ options: [
{ {
type: 3, type: 3,
name: "scorestreak", name: "scorestreak",
description: "Select a lethal scorestreak", description: "Select a lethal scorestreak",
required: true, required: true,
choices: [ choices: [
{ {
name: "Shield Turret", name: "Shield Turret",
value: "shieldturret", value: "shieldturret",
}, },
{ {
name: "Hunter Killer Drone", name: "Hunter Killer Drone",
value: "hunterkillerdrone", value: "hunterkillerdrone",
}, },
{ {
name: "MQ-27 Dragonfire", name: "MQ-27 Dragonfire",
value: "mq27dragonfire", value: "mq27dragonfire",
}, },
{ {
name: "Predator Missile", name: "Predator Missile",
value: "predatormissile", value: "predatormissile",
}, },
{ {
name: "Hawk X3", name: "Hawk X3",
value: "hawkx3", value: "hawkx3",
}, },
{ {
name: "Sentry Gun", name: "Sentry Gun",
value: "sentrygun", value: "sentrygun",
}, },
{ {
name: "Lightning Strike", name: "Lightning Strike",
value: "lightningstrike", value: "lightningstrike",
}, },
{ {
name: "Orbital Laser", name: "Orbital Laser",
value: "orbitallaser", value: "orbitallaser",
}, },
{ {
name: "XS1 Goliath", name: "XS1 Goliath",
value: "xs1goliath", value: "xs1goliath",
}, },
{ {
name: "Cluster Strike", name: "Cluster Strike",
value: "clusterstrike", value: "clusterstrike",
}, },
{ {
name: "XS1 Goliath", name: "XS1 Goliath",
value: "xs1goliath", value: "xs1goliath",
}, },
{ {
name: "Stealth Chopper", name: "Stealth Chopper",
value: "stealthchopper", value: "stealthchopper",
}, },
{ {
name: "Swarm", name: "Swarm",
value: "swarm", value: "swarm",
}, },
{ {
name: "Napalm", name: "Napalm",
value: "napalm", value: "napalm",
}, },
{ {
name: "VTOL", name: "VTOL",
value: "vtol", value: "vtol",
}, },
], ],
}, },
], ],
}, },
{ {
type: "SUB_COMMAND", type: "SUB_COMMAND",
name: "support", name: "support",
description: "Support Scorestreak", description: "Support Scorestreak",
options: [ options: [
{ {
type: 3, type: 3,
name: "scorestreak", name: "scorestreak",
description: "Select a Support Scorestreak", description: "Select a Support Scorestreak",
required: true, required: true,
choices: [ choices: [
{ {
name: "UAV", name: "UAV",
value: "uav", value: "uav",
}, },
{ {
name: "Shock RC", name: "Shock RC",
value: "shockrc", value: "shockrc",
}, },
{ {
name: "Care Package", name: "Care Package",
value: "carepackage", value: "carepackage",
}, },
{ {
name: "Counter UAV", name: "Counter UAV",
value: "cuav", value: "cuav",
}, },
{ {
name: "SAM Turret", name: "SAM Turret",
value: "samturret", value: "samturret",
}, },
{ {
name: "Advance UAV", name: "Advance UAV",
value: "auav", value: "auav",
}, },
{ {
name: "EMP Systems", name: "EMP Systems",
value: "empsystems", value: "empsystems",
}, },
], ],
}, },
], ],
}, },
], ],
run: async (client, interaction, args) => { run: async (client, interaction, args) => {
const val = args[1]; const val = args[1];
const d = await c.getscorestreak(val); const d = await c.getscorestreak(val);
const embed = new MessageEmbed() const embed = new MessageEmbed()
.setTitle(d.scorestreak) .setTitle(d.scorestreak)
.setURL(d.preview_video) .setURL(d.preview_video)
.setDescription(`\`\`\`${d.description}\`\`\``) .setDescription(`\`\`\`${d.description}\`\`\``)
.addFields( .addFields(
{ {
name: "Cost", name: "Cost",
value: `\`\`\`${d.cost}\`\`\``, value: `\`\`\`${d.cost}\`\`\``,
inline: true inline: true
}, },
{ {
name: "Lethal", name: "Lethal",
value: ` value: `
${d.lethal == true ${d.lethal == true
? "<a:nyx_checkmark:897240322411724841> Yes" ? "<a:nyx_checkmark:897240322411724841> Yes"
: "<a:nyx_cross:897244999211696198> No"}`, : "<a:nyx_cross:897244999211696198> No"}`,
inline: true inline: true
}, },
{ {
name: "AI-Assisted", name: "AI-Assisted",
value: ` value: `
${d.manual == false ${d.manual == false
? "<a:nyx_checkmark:897240322411724841> Yes" ? "<a:nyx_checkmark:897240322411724841> Yes"
: "<a:nyx_cross:897244999211696198> No"}`, : "<a:nyx_cross:897244999211696198> No"}`,
inline: true inline: true
}, },
{ {
name: "More Info", name: "More Info",
value: `\`\`\`${d.special}\`\`\``, value: `\`\`\`${d.special}\`\`\``,
inline: false inline: false
} }
) )
.setThumbnail(`${d.preview}`) .setThumbnail(`${d.preview}`)
.setFooter(`Made by ${client.author}`, client.user.displayAvatarURL()) .setFooter(`Made by ${client.author}`, client.user.displayAvatarURL())
.setColor( .setColor(
d.type == "lethal" d.type == "lethal"
? "FF2222" ? "FF2222"
: d.type == "support" : d.type == "support"
? "22FF4A" ? "22FF4A"
: client.color : client.color
) )
.setTimestamp(); .setTimestamp();
interaction.followUp({ embeds: [embed] }); interaction.followUp({ embeds: [embed] });
}, },
}; };

277
nsfw.js
View file

@ -1,148 +1,149 @@
const fetch = require('node-fetch') const fetch = require("node-fetch");
const { MessageActionRow, MessageButton, MessageEmbed, CommandInteraction } = require('discord.js'); const {
MessageActionRow,
MessageButton,
MessageEmbed,
CommandInteraction,
} = require("discord.js");
module.exports = { module.exports = {
name : 'nsfw', name: "nsfw",
description: "nsfw command", description: "nsfw command",
/** /**
* @param {Client} client * @param {Client} client
* @param {CommandInteraction} interaction * @param {CommandInteraction} interaction
* @param {String[]} args * @param {String[]} args
*/ */
run : async(client, interaction) => { run: async (client, interaction) => {
async function embed() {
if (!interaction.channel.nsfw) {
const embed = new MessageEmbed()
.setTitle(`AYO Calm Yo Cheeks`)
.setDescription("This command only works in NSFW Channels!")
.setImage(
"https://media.discordapp.net/attachments/851761493815853060/893777701599584266/warning.gif"
)
.setColor("#02023a");
async function embed() { interaction.followUp({ embeds: [embed] });
if(!interaction.channel.nsfw){ return;
const embed = new MessageEmbed()
.setTitle(`AYO Calm Yo Cheeks`)
.setDescription('This command only works in NSFW Channels!')
.setImage('https://media.discordapp.net/attachments/851761493815853060/893777701599584266/warning.gif')
.setColor("#02023a")
interaction.followUp({ embeds: [embed]})
return;
}
let subreddits = [
'GoneWild',
'WorkGoneWild',
'GoneWild30Plus',
'hentai',
'HentaiAnime',
'nekogirls',
'ass',
'BestBooties',
'BootyGIFs',
'booty_queens',
'BlowJob',
'blowjobs',
'blowjobgifs',
'OralSex',
'boobs',
'GrabHerTitties',
'titfuck',
'milf',
'OnlyHotMilfs',
'realmoms',
'thighs',
'PerfectThighs',
'thickthighs'
]
let reddit = subreddits[Math.round(Math.random() * (subreddits.length - 1))];
let embed1 = null
await fetch(`https://meme-api.herokuapp.com/gimme/${reddit}`).then(res => res.json().then(url => {
embed1 = new MessageEmbed()
.setAuthor(
interaction.user.tag,
interaction.user.displayAvatarURL({ dynamic: true })
)
.setTitle(`${url.title}`)
.setImage(`${url.url}`)
.setTimestamp()
.setColor("RED")
.setFooter(`${url.ups} 👍`)
}))
return embed1
} }
let subreddits = [
const row = new MessageActionRow() "GoneWild",
.addComponents( "WorkGoneWild",
new MessageButton() "GoneWild30Plus",
.setCustomId('reload') "hentai",
.setLabel('Reload') "HentaiAnime",
.setStyle('SUCCESS'), "nekogirls",
) "ass",
const disabled = new MessageActionRow() "BestBooties",
.addComponents( "BootyGIFs",
new MessageButton() "booty_queens",
.setCustomId('reload') "BlowJob",
.setLabel('Reload Meme') "blowjobs",
.setStyle('SECONDARY') "blowjobgifs",
.setDisabled(true) "OralSex",
"boobs",
"GrabHerTitties",
"titfuck",
"milf",
"OnlyHotMilfs",
"realmoms",
"thighs",
"PerfectThighs",
"thickthighs",
];
let reddit =
subreddits[Math.round(Math.random() * (subreddits.length - 1))];
) let embed1 = null;
await fetch(`https://meme-api.herokuapp.com/gimme/${reddit}`).then(res =>
res.json().then(url => {
embed1 = new MessageEmbed()
.setAuthor(
interaction.user.tag,
interaction.user.displayAvatarURL({ dynamic: true })
)
.setTitle(`${url.title}`)
.setImage(`${url.url}`)
.setTimestamp()
.setColor("RED")
.setFooter(`${url.ups} 👍`);
})
);
return embed1;
}
let m = await interaction.followUp({ const row = new MessageActionRow().addComponents(
embeds: [await embed()], new MessageButton()
components: [row] .setCustomId("reload")
}) .setLabel("Reload")
.setStyle("SUCCESS")
);
const disabled = new MessageActionRow().addComponents(
new MessageButton()
.setCustomId("reload")
.setLabel("Reload Meme")
.setStyle("SECONDARY")
.setDisabled(true)
);
let m = await interaction.followUp({
embeds: [await embed()],
components: [row],
});
const collector = m.createMessageComponentCollector({
componentType: "BUTTON",
time: 120000,
});
collector.on("collect", async i => {
if (i.user.id === interaction.user.id) {
i.deferUpdate();
await update(m);
collector.stop();
} else {
i.reply({
content: `These buttons aren't for you!`,
ephemeral: true,
});
}
});
collector.on("end", (mes, r) => {
if (r == "time") {
m.edit({
components: [disabled],
});
}
});
async function update(m) {
m.edit({
embeds: [await embed()],
}).catch(e => console.log(e.requestData.json.embeds));
const collector = m.createMessageComponentCollector({ const collector = m.createMessageComponentCollector({
componentType: 'BUTTON', componentType: "BUTTON",
time: 120000, time: 120000,
}); });
collector.on('collect', async i => { collector.on("collect", async i => {
if (i.user.id === interaction.user.id) { if (i.user.id === interaction.user.id) {
i.deferUpdate() i.deferUpdate();
await update(m) await update(m);
collector.stop() collector.stop();
} else { } else {
i.reply({ i.reply({
content: `These buttons aren't for you!`, content: `These buttons aren't for you!`,
ephemeral: true ephemeral: true,
});
}
})
collector.on('end', (mes, r) => {
if (r == 'time') {
m.edit({
components: [disabled],
})
}
})
async function update(m) {
m.edit({
embeds: [await embed()]
}).catch(e => console.log(e.requestData.json.embeds))
const collector = m.createMessageComponentCollector({
componentType: 'BUTTON',
time: 120000,
}); });
collector.on('collect', async i => { }
if (i.user.id === interaction.user.id) { });
collector.on("end", (mes, r) => {
i.deferUpdate() if (r == "time") {
await update(m) m.edit({
collector.stop() components: [disabled],
} else { });
i.reply({ }
content: `These buttons aren't for you!`, });
ephemeral: true
});
}
})
collector.on('end', (mes, r) => {
if (r == 'time') {
m.edit({
components: [disabled],
})
}
})
}
} }
} },
};

View file

@ -1,54 +0,0 @@
{
"name": "cath.exe",
"version": "0.0.1",
"description": "NYX bot created by Team NYX",
"engines": {
"node": "*",
"npm": "*"
},
"main": "index.js",
"scripts": {
"dev": "nodemon .",
"start": "node .",
"lint": "eslint .",
"node-update": "npm i --save-dev node@16 && npm config set prefix=$(pwd)/node_modules/node && export PATH=$(pwd)/node_modules/node/bin:$PATH",
"node-clean": "rm -rf node_modules && rm package-lock.json && npm cache clear --force && npm cache clean --force && npm i",
"all": "npm run node-update && npm run node-clean"
},
"repository": {
"type": "git",
"url": "git+https://github.com/night0721/cath.exe.git"
},
"keywords": [
"bot",
"nyx",
"codm",
"discord",
"gunsmith"
],
"author": "Ń1ght#0001",
"license": "CC-BY-NC-SA-4.0",
"bugs": {
"url": "https://github.com/night0721/cath.exe/issues"
},
"homepage": "https://github.com/night0721/cath.exe#readme",
"funding": {
"type": "individual",
"url": "https://ko-fi.com/cathteam"
},
"devDependencies": {
"node": "^17.3.0"
},
"dependencies": {
"axios": "^0.25.0",
"cath": "^1.4.6",
"discord.js": "^13.6.0",
"dotenv": "^14.2.0",
"erela.js": "^2.3.3",
"erela.js-spotify": "^1.2.0",
"goosecache": "^9.0.14",
"moment": "^2.29.1",
"mongoose": "^5.13.14",
"quickchart-js": "^2.0.3"
}
}

View file

@ -50,7 +50,7 @@ module.exports = {
NYX \`v${version}\` NYX \`v${version}\`
Discord.js \`v${djsversion}\` Discord.js \`v${djsversion}\`
Node.js \`${process.version}\``, Node.js \`${process.version}\``,
}, }
// Removed OS Info for troubleshooting. // Removed OS Info for troubleshooting.
// //
// { // {

View file

@ -1015,11 +1015,7 @@
"4x Tactical Scope", "4x Tactical Scope",
"4.4x Tactical Scope" "4.4x Tactical Scope"
], ],
"stock": [ "stock": ["YKM Light Stock", "OWC Skeleton Stock", "RTC Steady Stock"],
"YKM Light Stock",
"OWC Skeleton Stock",
"RTC Steady Stock"
],
"perk": [ "perk": [
"FMJ", "FMJ",
"Sleight of Hand", "Sleight of Hand",
@ -1039,11 +1035,7 @@
"Tactical Foregrip A", "Tactical Foregrip A",
"Bipod" "Bipod"
], ],
"ammo": [ "ammo": ["Extended Mag A", "Fast Reload", "Halberd Mag"],
"Extended Mag A",
"Fast Reload",
"Halberd Mag"
],
"rear_grip": [ "rear_grip": [
"Granulated Grip Tape", "Granulated Grip Tape",
"Ruberized Grip Tape", "Ruberized Grip Tape",
@ -2608,11 +2600,7 @@
"MIP Light FLash Guard", "MIP Light FLash Guard",
"RTC Light Muzzle Brake" "RTC Light Muzzle Brake"
], ],
"barrel": [ "barrel": ["Gurrilla Light Short", "Last Stand Light", "Banner Heavy"],
"Gurrilla Light Short",
"Last Stand Light",
"Banner Heavy"
],
"optic": [ "optic": [
"Red Dot Sight", "Red Dot Sight",
"Holographic Sight", "Holographic Sight",
@ -2638,10 +2626,7 @@
"Tactical Foregrip A", "Tactical Foregrip A",
"Operator Foregrip" "Operator Foregrip"
], ],
"ammo": [ "ammo": ["35 Round Fast Reload", "55 Round Light Reload"],
"35 Round Fast Reload",
"55 Round Light Reload"
],
"rear_grip": [ "rear_grip": [
"Sturdy Grip Tape", "Sturdy Grip Tape",
"Ruberized Grip Tape", "Ruberized Grip Tape",