├── start-bot.bat ├── config.json ├── commands ├── why.js ├── fact.js ├── cattext.js ├── owofy.js ├── spoiler.js ├── cat.js ├── dog.js ├── anal.js ├── baka.js ├── feet.js ├── gasm.js ├── holo.js ├── keta.js ├── kuni.js ├── neko.js ├── smug.js ├── tits.js ├── trap.js ├── yuri.js ├── goose.js ├── waifu.js ├── avatar.js ├── boobs.js ├── feetgif.js ├── hentai.js ├── lizard.js ├── nekogif.js ├── pussy.js ├── spank.js ├── blowjob.js ├── cumart.js ├── femdom.js ├── foxgirl.js ├── kitsune.js ├── lesbian.js ├── nsfwneko.js ├── wallpaper.js ├── cumsluts.js ├── futanari.js ├── gecg.js ├── girlsolo.js ├── nsfwavatar.js ├── pussyart.js ├── hentaigif.js ├── nsfwnekogif.js ├── pussywank.js ├── girlsologif.js ├── hug.js ├── pat.js ├── feed.js ├── kiss.js ├── poke.js ├── slap.js ├── cuddle.js ├── tickle.js ├── help.js └── commands.js ├── package.json ├── LICENSE ├── README.md └── index.js /start-bot.bat: -------------------------------------------------------------------------------- 1 | echo off 2 | cls 3 | echo Starting Bot... 4 | node index.js 5 | pause 6 | -------------------------------------------------------------------------------- /config.json: -------------------------------------------------------------------------------- 1 | { 2 | "prefix": "YOUR_PREFIX_HERE", 3 | "nsfw_channel_only": "false", 4 | "token": "YOUR_TOKEN_HERE" 5 | } 6 | -------------------------------------------------------------------------------- /commands/why.js: -------------------------------------------------------------------------------- 1 | const Discord = require('discord.js'); 2 | const nekoclient = require('nekos.life'); 3 | const neko = new nekoclient(); 4 | 5 | module.exports = { 6 | name: 'why', 7 | execute(client, message, args){ 8 | if (!message.guild) return; 9 | async function why() { 10 | const whyTEXT = await neko.sfw.why(); 11 | message.channel.send(whyTEXT.why); 12 | } 13 | why(); 14 | } 15 | } -------------------------------------------------------------------------------- /commands/fact.js: -------------------------------------------------------------------------------- 1 | const Discord = require('discord.js'); 2 | const nekoclient = require('nekos.life'); 3 | const neko = new nekoclient(); 4 | 5 | module.exports = { 6 | name: 'fact', 7 | execute(client, message, args){ 8 | if (!message.guild) return; 9 | async function fact() { 10 | const factTEXT = await neko.sfw.fact(); 11 | message.channel.send(factTEXT.fact); 12 | } 13 | fact(); 14 | } 15 | } -------------------------------------------------------------------------------- /commands/cattext.js: -------------------------------------------------------------------------------- 1 | const Discord = require('discord.js'); 2 | const nekoclient = require('nekos.life'); 3 | const neko = new nekoclient(); 4 | 5 | module.exports = { 6 | name: 'cattext', 7 | execute(client, message, args){ 8 | if (!message.guild) return; 9 | async function cattext() { 10 | const catTEXT = await neko.sfw.catText(); 11 | message.channel.send(catTEXT.cat); 12 | } 13 | cattext(); 14 | } 15 | } -------------------------------------------------------------------------------- /commands/owofy.js: -------------------------------------------------------------------------------- 1 | const Discord = require('discord.js'); 2 | const nekoclient = require('nekos.life'); 3 | const neko = new nekoclient(); 4 | 5 | module.exports = { 6 | name: 'owofy', 7 | execute(client, message, args){ 8 | if (!message.guild) return; 9 | async function owofy() { 10 | const owoTEXT = await neko.sfw.OwOify({text: message.content.split(' ').slice(1).join(' ')}); 11 | message.channel.send(owoTEXT.owo); 12 | } 13 | owofy(); 14 | } 15 | } -------------------------------------------------------------------------------- /commands/spoiler.js: -------------------------------------------------------------------------------- 1 | const Discord = require('discord.js'); 2 | const nekoclient = require('nekos.life'); 3 | const neko = new nekoclient(); 4 | 5 | module.exports = { 6 | name: 'spoiler', 7 | execute(client, message, args){ 8 | if (!message.guild) return; 9 | async function spoiler() { 10 | const spoilerTEXT = await neko.sfw.spoiler({text: message.content.split(' ').slice(1).join(' ')}); 11 | message.channel.send(spoilerTEXT.owo); 12 | } 13 | spoiler(); 14 | } 15 | } -------------------------------------------------------------------------------- /commands/cat.js: -------------------------------------------------------------------------------- 1 | const Discord = require('discord.js'); 2 | const nekoclient = require('nekos.life'); 3 | const neko = new nekoclient(); 4 | 5 | module.exports = { 6 | name: 'cat', 7 | execute(client, message, args){ 8 | if (!message.guild) return; 9 | async function cat() { 10 | const GIF = await neko.sfw.meow(); 11 | const embed = new Discord.MessageEmbed() 12 | .setColor('#202225') 13 | .setTitle(`${message.author.tag} here's a random cat image/gif`) 14 | .setImage(GIF.url) 15 | message.channel.send(embed); 16 | } 17 | cat(); 18 | } 19 | } -------------------------------------------------------------------------------- /commands/dog.js: -------------------------------------------------------------------------------- 1 | const Discord = require('discord.js'); 2 | const nekoclient = require('nekos.life'); 3 | const neko = new nekoclient(); 4 | 5 | module.exports = { 6 | name: 'dog', 7 | execute(client, message, args){ 8 | if (!message.guild) return; 9 | async function dog() { 10 | const GIF = await neko.sfw.woof(); 11 | const embed = new Discord.MessageEmbed() 12 | .setColor('#202225') 13 | .setTitle(`${message.author.tag} here's a random dog image/gif`) 14 | .setImage(GIF.url) 15 | message.channel.send(embed); 16 | } 17 | dog(); 18 | } 19 | } -------------------------------------------------------------------------------- /commands/anal.js: -------------------------------------------------------------------------------- 1 | const Discord = require('discord.js'); 2 | const nekoclient = require('nekos.life'); 3 | const neko = new nekoclient(); 4 | 5 | module.exports = { 6 | name: 'anal', 7 | execute(client, message, args){ 8 | if (!message.guild) return; 9 | async function anal() { 10 | const GIF = await neko.nsfw.anal(); 11 | const embed = new Discord.MessageEmbed() 12 | .setColor('#202225') 13 | .setTitle(`${message.author.tag} here's a random anal image/gif`) 14 | .setImage(GIF.url) 15 | message.channel.send(embed); 16 | } 17 | anal(); 18 | } 19 | } -------------------------------------------------------------------------------- /commands/baka.js: -------------------------------------------------------------------------------- 1 | const Discord = require('discord.js'); 2 | const nekoclient = require('nekos.life'); 3 | const neko = new nekoclient(); 4 | 5 | module.exports = { 6 | name: 'baka', 7 | execute(client, message, args){ 8 | if (!message.guild) return; 9 | async function baka() { 10 | const GIF = await neko.sfw.baka(); 11 | const embed = new Discord.MessageEmbed() 12 | .setColor('#202225') 13 | .setTitle(`${message.author.tag} here's a random baka image/gif`) 14 | .setImage(GIF.url) 15 | message.channel.send(embed); 16 | } 17 | baka(); 18 | } 19 | } -------------------------------------------------------------------------------- /commands/feet.js: -------------------------------------------------------------------------------- 1 | const Discord = require('discord.js'); 2 | const nekoclient = require('nekos.life'); 3 | const neko = new nekoclient(); 4 | 5 | module.exports = { 6 | name: 'feet', 7 | execute(client, message, args){ 8 | if (!message.guild) return; 9 | async function feet() { 10 | const GIF = await neko.nsfw.feet(); 11 | const embed = new Discord.MessageEmbed() 12 | .setColor('#202225') 13 | .setTitle(`${message.author.tag} here's a random feet image`) 14 | .setImage(GIF.url) 15 | message.channel.send(embed); 16 | } 17 | feet(); 18 | } 19 | } -------------------------------------------------------------------------------- /commands/gasm.js: -------------------------------------------------------------------------------- 1 | const Discord = require('discord.js'); 2 | const nekoclient = require('nekos.life'); 3 | const neko = new nekoclient(); 4 | 5 | module.exports = { 6 | name: 'gasm', 7 | execute(client, message, args){ 8 | if (!message.guild) return; 9 | async function gasm() { 10 | const GIF = await neko.nsfw.gasm(); 11 | const embed = new Discord.MessageEmbed() 12 | .setColor('#202225') 13 | .setTitle(`${message.author.tag} here's a random orgasm image`) 14 | .setImage(GIF.url) 15 | message.channel.send(embed); 16 | } 17 | gasm(); 18 | } 19 | } -------------------------------------------------------------------------------- /commands/holo.js: -------------------------------------------------------------------------------- 1 | const Discord = require('discord.js'); 2 | const nekoclient = require('nekos.life'); 3 | const neko = new nekoclient(); 4 | 5 | module.exports = { 6 | name: 'holo', 7 | execute(client, message, args){ 8 | if (!message.guild) return; 9 | async function holo() { 10 | const GIF = await neko.sfw.holo(); 11 | const embed = new Discord.MessageEmbed() 12 | .setColor('#202225') 13 | .setTitle(`${message.author.tag} here's a random holo image/gif`) 14 | .setImage(GIF.url) 15 | message.channel.send(embed); 16 | } 17 | holo(); 18 | } 19 | } -------------------------------------------------------------------------------- /commands/keta.js: -------------------------------------------------------------------------------- 1 | const Discord = require('discord.js'); 2 | const nekoclient = require('nekos.life'); 3 | const neko = new nekoclient(); 4 | 5 | module.exports = { 6 | name: 'keta', 7 | execute(client, message, args){ 8 | if (!message.guild) return; 9 | async function keta() { 10 | const GIF = await neko.nsfw.keta(); 11 | const embed = new Discord.MessageEmbed() 12 | .setColor('#202225') 13 | .setTitle(`${message.author.tag} here's a random keta image/gif`) 14 | .setImage(GIF.url) 15 | message.channel.send(embed); 16 | } 17 | keta(); 18 | } 19 | } -------------------------------------------------------------------------------- /commands/kuni.js: -------------------------------------------------------------------------------- 1 | const Discord = require('discord.js'); 2 | const nekoclient = require('nekos.life'); 3 | const neko = new nekoclient(); 4 | 5 | module.exports = { 6 | name: 'kuni', 7 | execute(client, message, args){ 8 | if (!message.guild) return; 9 | async function kuni() { 10 | const GIF = await neko.nsfw.kuni(); 11 | const embed = new Discord.MessageEmbed() 12 | .setColor('#202225') 13 | .setTitle(`${message.author.tag} here's a random kuni image/gif`) 14 | .setImage(GIF.url) 15 | message.channel.send(embed); 16 | } 17 | kuni(); 18 | } 19 | } -------------------------------------------------------------------------------- /commands/neko.js: -------------------------------------------------------------------------------- 1 | const Discord = require('discord.js'); 2 | const nekoclient = require('nekos.life'); 3 | const neko = new nekoclient(); 4 | 5 | module.exports = { 6 | name: 'neko', 7 | execute(client, message, args){ 8 | if (!message.guild) return; 9 | async function nekof() { 10 | const GIF = await neko.sfw.neko(); 11 | const embed = new Discord.MessageEmbed() 12 | .setColor('#202225') 13 | .setTitle(`${message.author.tag} here's a random neko image`) 14 | .setImage(GIF.url) 15 | message.channel.send(embed); 16 | } 17 | nekof(); 18 | } 19 | } -------------------------------------------------------------------------------- /commands/smug.js: -------------------------------------------------------------------------------- 1 | const Discord = require('discord.js'); 2 | const nekoclient = require('nekos.life'); 3 | const neko = new nekoclient(); 4 | 5 | module.exports = { 6 | name: 'smug', 7 | execute(client, message, args){ 8 | if (!message.guild) return; 9 | async function smug() { 10 | const GIF = await neko.sfw.smug(); 11 | const embed = new Discord.MessageEmbed() 12 | .setColor('#202225') 13 | .setTitle(`${message.author.tag} here's a random smug image/gif`) 14 | .setImage(GIF.url) 15 | message.channel.send(embed); 16 | } 17 | smug(); 18 | } 19 | } -------------------------------------------------------------------------------- /commands/tits.js: -------------------------------------------------------------------------------- 1 | const Discord = require('discord.js'); 2 | const nekoclient = require('nekos.life'); 3 | const neko = new nekoclient(); 4 | 5 | module.exports = { 6 | name: 'tits', 7 | execute(client, message, args){ 8 | if (!message.guild) return; 9 | async function tits() { 10 | const GIF = await neko.nsfw.tits(); 11 | const embed = new Discord.MessageEmbed() 12 | .setColor('#202225') 13 | .setTitle(`${message.author.tag} here's a random tits image/gif`) 14 | .setImage(GIF.url) 15 | message.channel.send(embed); 16 | } 17 | tits(); 18 | } 19 | } -------------------------------------------------------------------------------- /commands/trap.js: -------------------------------------------------------------------------------- 1 | const Discord = require('discord.js'); 2 | const nekoclient = require('nekos.life'); 3 | const neko = new nekoclient(); 4 | 5 | module.exports = { 6 | name: 'trap', 7 | execute(client, message, args){ 8 | if (!message.guild) return; 9 | async function trap() { 10 | const GIF = await neko.nsfw.trap(); 11 | const embed = new Discord.MessageEmbed() 12 | .setColor('#202225') 13 | .setTitle(`${message.author.tag} here's a random trap image/gif`) 14 | .setImage(GIF.url) 15 | message.channel.send(embed); 16 | } 17 | trap(); 18 | } 19 | } -------------------------------------------------------------------------------- /commands/yuri.js: -------------------------------------------------------------------------------- 1 | const Discord = require('discord.js'); 2 | const nekoclient = require('nekos.life'); 3 | const neko = new nekoclient(); 4 | 5 | module.exports = { 6 | name: 'yuri', 7 | execute(client, message, args){ 8 | if (!message.guild) return; 9 | async function yuri() { 10 | const GIF = await neko.nsfw.yuri(); 11 | const embed = new Discord.MessageEmbed() 12 | .setColor('#202225') 13 | .setTitle(`${message.author.tag} here's a random yuri image/gif`) 14 | .setImage(GIF.url) 15 | message.channel.send(embed); 16 | } 17 | yuri(); 18 | } 19 | } -------------------------------------------------------------------------------- /commands/goose.js: -------------------------------------------------------------------------------- 1 | const Discord = require('discord.js'); 2 | const nekoclient = require('nekos.life'); 3 | const neko = new nekoclient(); 4 | 5 | module.exports = { 6 | name: 'goose', 7 | execute(client, message, args){ 8 | if (!message.guild) return; 9 | async function goose() { 10 | const GIF = await neko.sfw.goose(); 11 | const embed = new Discord.MessageEmbed() 12 | .setColor('#202225') 13 | .setTitle(`${message.author.tag} here's a random goose image`) 14 | .setImage(GIF.url) 15 | message.channel.send(embed); 16 | } 17 | goose(); 18 | } 19 | } -------------------------------------------------------------------------------- /commands/waifu.js: -------------------------------------------------------------------------------- 1 | const Discord = require('discord.js'); 2 | const nekoclient = require('nekos.life'); 3 | const neko = new nekoclient(); 4 | 5 | module.exports = { 6 | name: 'waifu', 7 | execute(client, message, args){ 8 | if (!message.guild) return; 9 | async function waifu() { 10 | const GIF = await neko.sfw.waifu(); 11 | const embed = new Discord.MessageEmbed() 12 | .setColor('#202225') 13 | .setTitle(`${message.author.tag} here's a random waifu image`) 14 | .setImage(GIF.url) 15 | message.channel.send(embed); 16 | } 17 | waifu(); 18 | } 19 | } -------------------------------------------------------------------------------- /commands/avatar.js: -------------------------------------------------------------------------------- 1 | const Discord = require('discord.js'); 2 | const nekoclient = require('nekos.life'); 3 | const neko = new nekoclient(); 4 | 5 | module.exports = { 6 | name: 'avatar', 7 | execute(client, message, args){ 8 | if (!message.guild) return; 9 | async function avatar() { 10 | const GIF = await neko.sfw.avatar(); 11 | const embed = new Discord.MessageEmbed() 12 | .setColor('#202225') 13 | .setTitle(`${message.author.tag} here's a random anime avatar`) 14 | .setImage(GIF.url) 15 | message.channel.send(embed); 16 | } 17 | avatar(); 18 | } 19 | } -------------------------------------------------------------------------------- /commands/boobs.js: -------------------------------------------------------------------------------- 1 | const Discord = require('discord.js'); 2 | const nekoclient = require('nekos.life'); 3 | const neko = new nekoclient(); 4 | 5 | module.exports = { 6 | name: 'boobs', 7 | execute(client, message, args){ 8 | if (!message.guild) return; 9 | async function boobs() { 10 | const GIF = await neko.nsfw.boobs(); 11 | const embed = new Discord.MessageEmbed() 12 | .setColor('#202225') 13 | .setTitle(`${message.author.tag} here's a random boobs image/gif`) 14 | .setImage(GIF.url) 15 | message.channel.send(embed); 16 | } 17 | boobs(); 18 | } 19 | } -------------------------------------------------------------------------------- /commands/feetgif.js: -------------------------------------------------------------------------------- 1 | const Discord = require('discord.js'); 2 | const nekoclient = require('nekos.life'); 3 | const neko = new nekoclient(); 4 | 5 | module.exports = { 6 | name: 'feetgif', 7 | execute(client, message, args){ 8 | if (!message.guild) return; 9 | async function feetgif() { 10 | const GIF = await neko.nsfw.feetGif(); 11 | const embed = new Discord.MessageEmbed() 12 | .setColor('#202225') 13 | .setTitle(`${message.author.tag} here's a random feet gif`) 14 | .setImage(GIF.url) 15 | message.channel.send(embed); 16 | } 17 | feetgif(); 18 | } 19 | } -------------------------------------------------------------------------------- /commands/hentai.js: -------------------------------------------------------------------------------- 1 | const Discord = require('discord.js'); 2 | const nekoclient = require('nekos.life'); 3 | const neko = new nekoclient(); 4 | 5 | module.exports = { 6 | name: 'hentai', 7 | execute(client, message, args){ 8 | if (!message.guild) return; 9 | async function hentai() { 10 | const GIF = await neko.nsfw.hentai(); 11 | const embed = new Discord.MessageEmbed() 12 | .setColor('#202225') 13 | .setTitle(`${message.author.tag} here's a random hentai image`) 14 | .setImage(GIF.url) 15 | message.channel.send(embed); 16 | } 17 | hentai(); 18 | } 19 | } -------------------------------------------------------------------------------- /commands/lizard.js: -------------------------------------------------------------------------------- 1 | const Discord = require('discord.js'); 2 | const nekoclient = require('nekos.life'); 3 | const neko = new nekoclient(); 4 | 5 | module.exports = { 6 | name: 'lizard', 7 | execute(client, message, args){ 8 | if (!message.guild) return; 9 | async function lizard() { 10 | const GIF = await neko.sfw.lizard(); 11 | const embed = new Discord.MessageEmbed() 12 | .setColor('#202225') 13 | .setTitle(`${message.author.tag} here's a random lizard image`) 14 | .setImage(GIF.url) 15 | message.channel.send(embed); 16 | } 17 | lizard(); 18 | } 19 | } -------------------------------------------------------------------------------- /commands/nekogif.js: -------------------------------------------------------------------------------- 1 | const Discord = require('discord.js'); 2 | const nekoclient = require('nekos.life'); 3 | const neko = new nekoclient(); 4 | 5 | module.exports = { 6 | name: 'nekogif', 7 | execute(client, message, args){ 8 | if (!message.guild) return; 9 | async function nekogif() { 10 | const GIF = await neko.sfw.nekoGif(); 11 | const embed = new Discord.MessageEmbed() 12 | .setColor('#202225') 13 | .setTitle(`${message.author.tag} here's a random neko gif`) 14 | .setImage(GIF.url) 15 | message.channel.send(embed); 16 | } 17 | nekogif(); 18 | } 19 | } -------------------------------------------------------------------------------- /commands/pussy.js: -------------------------------------------------------------------------------- 1 | const Discord = require('discord.js'); 2 | const nekoclient = require('nekos.life'); 3 | const neko = new nekoclient(); 4 | 5 | module.exports = { 6 | name: 'pussy', 7 | execute(client, message, args){ 8 | if (!message.guild) return; 9 | async function pussy() { 10 | const GIF = await neko.nsfw.pussy(); 11 | const embed = new Discord.MessageEmbed() 12 | .setColor('#202225') 13 | .setTitle(`${message.author.tag} here's a random pussy image/gif`) 14 | .setImage(GIF.url) 15 | message.channel.send(embed); 16 | } 17 | pussy(); 18 | } 19 | } -------------------------------------------------------------------------------- /commands/spank.js: -------------------------------------------------------------------------------- 1 | const Discord = require('discord.js'); 2 | const nekoclient = require('nekos.life'); 3 | const neko = new nekoclient(); 4 | 5 | module.exports = { 6 | name: 'spank', 7 | execute(client, message, args){ 8 | if (!message.guild) return; 9 | async function spank() { 10 | const GIF = await neko.nsfw.spank(); 11 | const embed = new Discord.MessageEmbed() 12 | .setColor('#202225') 13 | .setTitle(`${message.author.tag} here's a random spanking image/gif`) 14 | .setImage(GIF.url) 15 | message.channel.send(embed); 16 | } 17 | spank(); 18 | } 19 | } -------------------------------------------------------------------------------- /commands/blowjob.js: -------------------------------------------------------------------------------- 1 | const Discord = require('discord.js'); 2 | const nekoclient = require('nekos.life'); 3 | const neko = new nekoclient(); 4 | 5 | module.exports = { 6 | name: 'blowjob', 7 | execute(client, message, args){ 8 | if (!message.guild) return; 9 | async function blowjob() { 10 | const GIF = await neko.nsfw.bJ(); 11 | const embed = new Discord.MessageEmbed() 12 | .setColor('#202225') 13 | .setTitle(`${message.author.tag} here's a random blowjob image/gif`) 14 | .setImage(GIF.url) 15 | message.channel.send(embed); 16 | } 17 | blowjob(); 18 | } 19 | } -------------------------------------------------------------------------------- /commands/cumart.js: -------------------------------------------------------------------------------- 1 | const Discord = require('discord.js'); 2 | const nekoclient = require('nekos.life'); 3 | const neko = new nekoclient(); 4 | 5 | module.exports = { 6 | name: 'cumart', 7 | execute(client, message, args){ 8 | if (!message.guild) return; 9 | async function cumart() { 10 | const GIF = await neko.nsfw.cumArts(); 11 | const embed = new Discord.MessageEmbed() 12 | .setColor('#202225') 13 | .setTitle(`${message.author.tag} here's a random cumart image/gif`) 14 | .setImage(GIF.url) 15 | message.channel.send(embed); 16 | } 17 | cumart(); 18 | } 19 | } -------------------------------------------------------------------------------- /commands/femdom.js: -------------------------------------------------------------------------------- 1 | const Discord = require('discord.js'); 2 | const nekoclient = require('nekos.life'); 3 | const neko = new nekoclient(); 4 | 5 | module.exports = { 6 | name: 'femdom', 7 | execute(client, message, args){ 8 | if (!message.guild) return; 9 | async function femdom() { 10 | const GIF = await neko.nsfw.femdom(); 11 | const embed = new Discord.MessageEmbed() 12 | .setColor('#202225') 13 | .setTitle(`${message.author.tag} here's a random femdom image/gif`) 14 | .setImage(GIF.url) 15 | message.channel.send(embed); 16 | } 17 | femdom(); 18 | } 19 | } -------------------------------------------------------------------------------- /commands/foxgirl.js: -------------------------------------------------------------------------------- 1 | const Discord = require('discord.js'); 2 | const nekoclient = require('nekos.life'); 3 | const neko = new nekoclient(); 4 | 5 | module.exports = { 6 | name: 'foxgirl', 7 | execute(client, message, args){ 8 | if (!message.guild) return; 9 | async function foxgirl() { 10 | const GIF = await neko.sfw.foxGirl(); 11 | const embed = new Discord.MessageEmbed() 12 | .setColor('#202225') 13 | .setTitle(`${message.author.tag} here's a random foxgirl image/gif`) 14 | .setImage(GIF.url) 15 | message.channel.send(embed); 16 | } 17 | foxgirl(); 18 | } 19 | } -------------------------------------------------------------------------------- /commands/kitsune.js: -------------------------------------------------------------------------------- 1 | const Discord = require('discord.js'); 2 | const nekoclient = require('nekos.life'); 3 | const neko = new nekoclient(); 4 | 5 | module.exports = { 6 | name: 'kitsune', 7 | execute(client, message, args){ 8 | if (!message.guild) return; 9 | async function kitsune() { 10 | const GIF = await neko.nsfw.kitsune(); 11 | const embed = new Discord.MessageEmbed() 12 | .setColor('#202225') 13 | .setTitle(`${message.author.tag} here's a random kitsune image/gif`) 14 | .setImage(GIF.url) 15 | message.channel.send(embed); 16 | } 17 | kitsune(); 18 | } 19 | } -------------------------------------------------------------------------------- /commands/lesbian.js: -------------------------------------------------------------------------------- 1 | const Discord = require('discord.js'); 2 | const nekoclient = require('nekos.life'); 3 | const neko = new nekoclient(); 4 | 5 | module.exports = { 6 | name: 'lesbian', 7 | execute(client, message, args){ 8 | if (!message.guild) return; 9 | async function lesbian() { 10 | const GIF = await neko.nsfw.lesbian(); 11 | const embed = new Discord.MessageEmbed() 12 | .setColor('#202225') 13 | .setTitle(`${message.author.tag} here's a random lesbian image/gif`) 14 | .setImage(GIF.url) 15 | message.channel.send(embed); 16 | } 17 | lesbian(); 18 | } 19 | } -------------------------------------------------------------------------------- /commands/nsfwneko.js: -------------------------------------------------------------------------------- 1 | const Discord = require('discord.js'); 2 | const nekoclient = require('nekos.life'); 3 | const neko = new nekoclient(); 4 | 5 | module.exports = { 6 | name: 'nsfwneko', 7 | execute(client, message, args){ 8 | if (!message.guild) return; 9 | async function nsfwneko() { 10 | const GIF = await neko.nsfw.neko(); 11 | const embed = new Discord.MessageEmbed() 12 | .setColor('#202225') 13 | .setTitle(`${message.author.tag} here's a random nsfw neko image`) 14 | .setImage(GIF.url) 15 | message.channel.send(embed); 16 | } 17 | nsfwneko(); 18 | } 19 | } -------------------------------------------------------------------------------- /commands/wallpaper.js: -------------------------------------------------------------------------------- 1 | const Discord = require('discord.js'); 2 | const nekoclient = require('nekos.life'); 3 | const neko = new nekoclient(); 4 | 5 | module.exports = { 6 | name: 'wallpaper', 7 | execute(client, message, args){ 8 | if (!message.guild) return; 9 | async function wallpaper() { 10 | const GIF = await neko.sfw.wallpaper(); 11 | const embed = new Discord.MessageEmbed() 12 | .setColor('#202225') 13 | .setTitle(`${message.author.tag} here's a random wallpaper`) 14 | .setImage(GIF.url) 15 | message.channel.send(embed); 16 | } 17 | wallpaper(); 18 | } 19 | } -------------------------------------------------------------------------------- /commands/cumsluts.js: -------------------------------------------------------------------------------- 1 | const Discord = require('discord.js'); 2 | const nekoclient = require('nekos.life'); 3 | const neko = new nekoclient(); 4 | 5 | module.exports = { 6 | name: 'cumsluts', 7 | execute(client, message, args){ 8 | if (!message.guild) return; 9 | async function cumsluts() { 10 | const GIF = await neko.nsfw.cumsluts(); 11 | const embed = new Discord.MessageEmbed() 12 | .setColor('#202225') 13 | .setTitle(`${message.author.tag} here's a random cumsluts image/gif`) 14 | .setImage(GIF.url) 15 | message.channel.send(embed); 16 | } 17 | cumsluts(); 18 | } 19 | } -------------------------------------------------------------------------------- /commands/futanari.js: -------------------------------------------------------------------------------- 1 | const Discord = require('discord.js'); 2 | const nekoclient = require('nekos.life'); 3 | const neko = new nekoclient(); 4 | 5 | module.exports = { 6 | name: 'futanari', 7 | execute(client, message, args){ 8 | if (!message.guild) return; 9 | async function futanari() { 10 | const GIF = await neko.nsfw.futanari(); 11 | const embed = new Discord.MessageEmbed() 12 | .setColor('#202225') 13 | .setTitle(`${message.author.tag} here's a random futanari image/gif`) 14 | .setImage(GIF.url) 15 | message.channel.send(embed); 16 | } 17 | futanari(); 18 | } 19 | } -------------------------------------------------------------------------------- /commands/gecg.js: -------------------------------------------------------------------------------- 1 | const Discord = require('discord.js'); 2 | const nekoclient = require('nekos.life'); 3 | const neko = new nekoclient(); 4 | 5 | module.exports = { 6 | name: 'gecg', 7 | execute(client, message, args){ 8 | if (!message.guild) return; 9 | async function gecg() { 10 | const GIF = await neko.sfw.gecg(); 11 | const embed = new Discord.MessageEmbed() 12 | .setColor('#202225') 13 | .setTitle(`${message.author.tag} here's a random genetically engineered catgirl image`) 14 | .setImage(GIF.url) 15 | message.channel.send(embed); 16 | } 17 | gecg(); 18 | } 19 | } -------------------------------------------------------------------------------- /commands/girlsolo.js: -------------------------------------------------------------------------------- 1 | const Discord = require('discord.js'); 2 | const nekoclient = require('nekos.life'); 3 | const neko = new nekoclient(); 4 | 5 | module.exports = { 6 | name: 'girlsolo', 7 | execute(client, message, args){ 8 | if (!message.guild) return; 9 | async function girlsolo() { 10 | const GIF = await neko.nsfw.girlSolo(); 11 | const embed = new Discord.MessageEmbed() 12 | .setColor('#202225') 13 | .setTitle(`${message.author.tag} here's a random solo girl image`) 14 | .setImage(GIF.url) 15 | message.channel.send(embed); 16 | } 17 | girlsolo(); 18 | } 19 | } -------------------------------------------------------------------------------- /commands/nsfwavatar.js: -------------------------------------------------------------------------------- 1 | const Discord = require('discord.js'); 2 | const nekoclient = require('nekos.life'); 3 | const neko = new nekoclient(); 4 | 5 | module.exports = { 6 | name: 'nsfwavatar', 7 | execute(client, message, args){ 8 | if (!message.guild) return; 9 | async function nsfwavatar() { 10 | const GIF = await neko.nsfw.avatar(); 11 | const embed = new Discord.MessageEmbed() 12 | .setColor('#202225') 13 | .setTitle(`${message.author.tag} here's a random nsfw avatar`) 14 | .setImage(GIF.url) 15 | message.channel.send(embed); 16 | } 17 | nsfwavatar(); 18 | } 19 | } -------------------------------------------------------------------------------- /commands/pussyart.js: -------------------------------------------------------------------------------- 1 | const Discord = require('discord.js'); 2 | const nekoclient = require('nekos.life'); 3 | const neko = new nekoclient(); 4 | 5 | module.exports = { 6 | name: 'pussyart', 7 | execute(client, message, args){ 8 | if (!message.guild) return; 9 | async function pussyart() { 10 | const GIF = await neko.sfw.pussyart(); 11 | const embed = new Discord.MessageEmbed() 12 | .setColor('#202225') 13 | .setTitle(`${message.author.tag} here's a random pussyart image/gif`) 14 | .setImage(GIF.url) 15 | message.channel.send(embed); 16 | } 17 | pussyart(); 18 | } 19 | } -------------------------------------------------------------------------------- /commands/hentaigif.js: -------------------------------------------------------------------------------- 1 | const Discord = require('discord.js'); 2 | const nekoclient = require('nekos.life'); 3 | const neko = new nekoclient(); 4 | 5 | module.exports = { 6 | name: 'hentaigif', 7 | execute(client, message, args){ 8 | if (!message.guild) return; 9 | async function hentaigif() { 10 | const GIF = await neko.nsfw.randomHentaiGif(); 11 | const embed = new Discord.MessageEmbed() 12 | .setColor('#202225') 13 | .setTitle(`${message.author.tag} here's a random hentai gif`) 14 | .setImage(GIF.url) 15 | message.channel.send(embed); 16 | } 17 | hentaigif(); 18 | } 19 | } -------------------------------------------------------------------------------- /commands/nsfwnekogif.js: -------------------------------------------------------------------------------- 1 | const Discord = require('discord.js'); 2 | const nekoclient = require('nekos.life'); 3 | const neko = new nekoclient(); 4 | 5 | module.exports = { 6 | name: 'nsfwnekogif', 7 | execute(client, message, args){ 8 | if (!message.guild) return; 9 | async function nsfwnekogif() { 10 | const GIF = await neko.nsfw.nekoGif(); 11 | const embed = new Discord.MessageEmbed() 12 | .setColor('#202225') 13 | .setTitle(`${message.author.tag} here's a random nsfw neko gif`) 14 | .setImage(GIF.url) 15 | message.channel.send(embed); 16 | } 17 | nsfwnekogif(); 18 | } 19 | } -------------------------------------------------------------------------------- /commands/pussywank.js: -------------------------------------------------------------------------------- 1 | const Discord = require('discord.js'); 2 | const nekoclient = require('nekos.life'); 3 | const neko = new nekoclient(); 4 | 5 | module.exports = { 6 | name: 'pussywank', 7 | execute(client, message, args){ 8 | if (!message.guild) return; 9 | async function pussywank() { 10 | const GIF = await neko.nsfw.pussyWankGif(); 11 | const embed = new Discord.MessageEmbed() 12 | .setColor('#202225') 13 | .setTitle(`${message.author.tag} here's a random pussy wank gif`) 14 | .setImage(GIF.url) 15 | message.channel.send(embed); 16 | } 17 | pussywank(); 18 | } 19 | } -------------------------------------------------------------------------------- /commands/girlsologif.js: -------------------------------------------------------------------------------- 1 | const Discord = require('discord.js'); 2 | const nekoclient = require('nekos.life'); 3 | const neko = new nekoclient(); 4 | 5 | module.exports = { 6 | name: 'girlsologif', 7 | execute(client, message, args){ 8 | if (!message.guild) return; 9 | async function girlsologif() { 10 | const GIF = await neko.nsfw.girlSoloGif(); 11 | const embed = new Discord.MessageEmbed() 12 | .setColor('#202225') 13 | .setTitle(`${message.author.tag} here's a random solo girl gif`) 14 | .setImage(GIF.url) 15 | message.channel.send(embed); 16 | } 17 | girlsologif(); 18 | } 19 | } -------------------------------------------------------------------------------- /package.json: -------------------------------------------------------------------------------- 1 | { 2 | "name": "nekos.life-discord-bot", 3 | "version": "1.0.0", 4 | "description": "Very simple Nekos.life bot using the Nekos.life wrapper and discord.js", 5 | "main": "index.js", 6 | "scripts": { 7 | "test": "echo \"Error: no test specified\" && exit 1" 8 | }, 9 | "repository": { 10 | "type": "git", 11 | "url": "git+https://github.com/schnappi21/nekos.life-discord-bot.git" 12 | }, 13 | "author": "schnappi21", 14 | "license": "MIT", 15 | "bugs": {schnappi21 16 | "url": "https://github.com/schnappi21/nekos.life-discord-bot/issues" 17 | }, 18 | "homepage": "https://github.com/schnappi21/nekos.life-discord-bot#readme", 19 | "dependencies": { 20 | "discord.js": "^12.2.0", 21 | "nekos.life": "^2.0.7" 22 | } 23 | } 24 | -------------------------------------------------------------------------------- /LICENSE: -------------------------------------------------------------------------------- 1 | MIT License 2 | 3 | Copyright (c) 2022 schnappi21 4 | 5 | Permission is hereby granted, free of charge, to any person obtaining a copy 6 | of this software and associated documentation files (the "Software"), to deal 7 | in the Software without restriction, including without limitation the rights 8 | to use, copy, modify, merge, publish, distribute, sublicense, and/or sell 9 | copies of the Software, and to permit persons to whom the Software is 10 | furnished to do so, subject to the following conditions: 11 | 12 | The above copyright notice and this permission notice shall be included in all 13 | copies or substantial portions of the Software. 14 | 15 | THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR 16 | IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, 17 | FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE 18 | AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER 19 | LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, 20 | OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE 21 | SOFTWARE. 22 | -------------------------------------------------------------------------------- /commands/hug.js: -------------------------------------------------------------------------------- 1 | const Discord = require('discord.js'); 2 | const nekoclient = require('nekos.life'); 3 | const neko = new nekoclient(); 4 | 5 | module.exports = { 6 | name: 'hug', 7 | execute(client, message, args){ 8 | if (!message.guild) return; 9 | if (message.mentions.members.size === 0) { 10 | async function no_ping() { 11 | const GIF = await neko.sfw.hug(); 12 | const embed = new Discord.MessageEmbed() 13 | .setColor('#202225') 14 | .setTitle(`${message.author.tag} hugged themselves`) 15 | .setImage(GIF.url) 16 | message.channel.send(embed); 17 | } 18 | no_ping(); 19 | } 20 | if (message.mentions.members.size !== 0) { 21 | async function ping() { 22 | const member = message.mentions.members.first(); 23 | const GIF = await neko.sfw.hug(); 24 | const embed = new Discord.MessageEmbed() 25 | .setColor('#202225') 26 | .setTitle(`${message.author.tag} hugged ${member.user.tag}`) 27 | .setImage(GIF.url) 28 | message.channel.send(embed); 29 | } 30 | ping(); 31 | } 32 | } 33 | } -------------------------------------------------------------------------------- /commands/pat.js: -------------------------------------------------------------------------------- 1 | const Discord = require('discord.js'); 2 | const nekoclient = require('nekos.life'); 3 | const neko = new nekoclient(); 4 | 5 | module.exports = { 6 | name: 'pat', 7 | execute(client, message, args){ 8 | if (!message.guild) return; 9 | if (message.mentions.members.size === 0) { 10 | async function no_ping() { 11 | const GIF = await neko.sfw.pat(); 12 | const embed = new Discord.MessageEmbed() 13 | .setColor('#202225') 14 | .setTitle(`${message.author.tag} patted themselves`) 15 | .setImage(GIF.url) 16 | message.channel.send(embed); 17 | } 18 | no_ping(); 19 | } 20 | if (message.mentions.members.size !== 0) { 21 | async function ping() { 22 | const member = message.mentions.members.first(); 23 | const GIF = await neko.sfw.pat(); 24 | const embed = new Discord.MessageEmbed() 25 | .setColor('#202225') 26 | .setTitle(`${message.author.tag} patted ${member.user.tag}`) 27 | .setImage(GIF.url) 28 | message.channel.send(embed); 29 | } 30 | ping(); 31 | } 32 | } 33 | } -------------------------------------------------------------------------------- /commands/feed.js: -------------------------------------------------------------------------------- 1 | const Discord = require('discord.js'); 2 | const nekoclient = require('nekos.life'); 3 | const neko = new nekoclient(); 4 | 5 | module.exports = { 6 | name: 'feed', 7 | execute(client, message, args){ 8 | if (!message.guild) return; 9 | if (message.mentions.members.size === 0) { 10 | async function no_ping() { 11 | const GIF = await neko.sfw.feed(); 12 | const embed = new Discord.MessageEmbed() 13 | .setColor('#202225') 14 | .setTitle(`${message.author.tag} feeded themselves`) 15 | .setImage(GIF.url) 16 | message.channel.send(embed); 17 | } 18 | no_ping(); 19 | } 20 | if (message.mentions.members.size !== 0) { 21 | async function ping() { 22 | const member = message.mentions.members.first(); 23 | const GIF = await neko.sfw.feed(); 24 | const embed = new Discord.MessageEmbed() 25 | .setColor('#202225') 26 | .setTitle(`${message.author.tag} feeded ${member.user.tag}`) 27 | .setImage(GIF.url) 28 | message.channel.send(embed); 29 | } 30 | ping(); 31 | } 32 | } 33 | } -------------------------------------------------------------------------------- /commands/kiss.js: -------------------------------------------------------------------------------- 1 | const Discord = require('discord.js'); 2 | const nekoclient = require('nekos.life'); 3 | const neko = new nekoclient(); 4 | 5 | module.exports = { 6 | name: 'kiss', 7 | execute(client, message, args){ 8 | if (!message.guild) return; 9 | if (message.mentions.members.size === 0) { 10 | async function no_ping() { 11 | const GIF = await neko.sfw.kiss(); 12 | const embed = new Discord.MessageEmbed() 13 | .setColor('#202225') 14 | .setTitle(`${message.author.tag} kissed themselves`) 15 | .setImage(GIF.url) 16 | message.channel.send(embed); 17 | } 18 | no_ping(); 19 | } 20 | if (message.mentions.members.size !== 0) { 21 | async function ping() { 22 | const member = message.mentions.members.first(); 23 | const GIF = await neko.sfw.kiss(); 24 | const embed = new Discord.MessageEmbed() 25 | .setColor('#202225') 26 | .setTitle(`${message.author.tag} kissed ${member.user.tag}`) 27 | .setImage(GIF.url) 28 | message.channel.send(embed); 29 | } 30 | ping(); 31 | } 32 | } 33 | } -------------------------------------------------------------------------------- /commands/poke.js: -------------------------------------------------------------------------------- 1 | const Discord = require('discord.js'); 2 | const nekoclient = require('nekos.life'); 3 | const neko = new nekoclient(); 4 | 5 | module.exports = { 6 | name: 'poke', 7 | execute(client, message, args){ 8 | if (!message.guild) return; 9 | if (message.mentions.members.size === 0) { 10 | async function no_ping() { 11 | const GIF = await neko.sfw.poke(); 12 | const embed = new Discord.MessageEmbed() 13 | .setColor('#202225') 14 | .setTitle(`${message.author.tag} poked themselves`) 15 | .setImage(GIF.url) 16 | message.channel.send(embed); 17 | } 18 | no_ping(); 19 | } 20 | if (message.mentions.members.size !== 0) { 21 | async function ping() { 22 | const member = message.mentions.members.first(); 23 | const GIF = await neko.sfw.poke(); 24 | const embed = new Discord.MessageEmbed() 25 | .setColor('#202225') 26 | .setTitle(`${message.author.tag} poked ${member.user.tag}`) 27 | .setImage(GIF.url) 28 | message.channel.send(embed); 29 | } 30 | ping(); 31 | } 32 | } 33 | } -------------------------------------------------------------------------------- /commands/slap.js: -------------------------------------------------------------------------------- 1 | const Discord = require('discord.js'); 2 | const nekoclient = require('nekos.life'); 3 | const neko = new nekoclient(); 4 | 5 | module.exports = { 6 | name: 'slap', 7 | execute(client, message, args){ 8 | if (!message.guild) return; 9 | if (message.mentions.members.size === 0) { 10 | async function no_ping() { 11 | const GIF = await neko.sfw.slap(); 12 | const embed = new Discord.MessageEmbed() 13 | .setColor('#202225') 14 | .setTitle(`${message.author.tag} slapped themselves`) 15 | .setImage(GIF.url) 16 | message.channel.send(embed); 17 | } 18 | no_ping(); 19 | } 20 | if (message.mentions.members.size !== 0) { 21 | async function ping() { 22 | const member = message.mentions.members.first(); 23 | const GIF = await neko.sfw.slap(); 24 | const embed = new Discord.MessageEmbed() 25 | .setColor('#202225') 26 | .setTitle(`${message.author.tag} slapped ${member.user.tag}`) 27 | .setImage(GIF.url) 28 | message.channel.send(embed); 29 | } 30 | ping(); 31 | } 32 | } 33 | } -------------------------------------------------------------------------------- /commands/cuddle.js: -------------------------------------------------------------------------------- 1 | const Discord = require('discord.js'); 2 | const nekoclient = require('nekos.life'); 3 | const neko = new nekoclient(); 4 | 5 | module.exports = { 6 | name: 'cuddle', 7 | execute(client, message, args){ 8 | if (!message.guild) return; 9 | if (message.mentions.members.size === 0) { 10 | async function no_ping() { 11 | const GIF = await neko.sfw.cuddle(); 12 | const embed = new Discord.MessageEmbed() 13 | .setColor('#202225') 14 | .setTitle(`${message.author.tag} cuddled themselves`) 15 | .setImage(GIF.url) 16 | message.channel.send(embed); 17 | } 18 | no_ping(); 19 | } 20 | if (message.mentions.members.size !== 0) { 21 | async function ping() { 22 | const member = message.mentions.members.first(); 23 | const GIF = await neko.sfw.cuddle(); 24 | const embed = new Discord.MessageEmbed() 25 | .setColor('#202225') 26 | .setTitle(`${message.author.tag} cuddled ${member.user.tag}`) 27 | .setImage(GIF.url) 28 | message.channel.send(embed); 29 | } 30 | ping(); 31 | } 32 | } 33 | } -------------------------------------------------------------------------------- /commands/tickle.js: -------------------------------------------------------------------------------- 1 | const Discord = require('discord.js'); 2 | const nekoclient = require('nekos.life'); 3 | const neko = new nekoclient(); 4 | 5 | module.exports = { 6 | name: 'tickle', 7 | execute(client, message, args){ 8 | if (!message.guild) return; 9 | if (message.mentions.members.size === 0) { 10 | async function no_ping() { 11 | const GIF = await neko.sfw.tickle(); 12 | const embed = new Discord.MessageEmbed() 13 | .setColor('#202225') 14 | .setTitle(`${message.author.tag} tickled themselves`) 15 | .setImage(GIF.url) 16 | message.channel.send(embed); 17 | } 18 | no_ping(); 19 | } 20 | if (message.mentions.members.size !== 0) { 21 | async function ping() { 22 | const member = message.mentions.members.first(); 23 | const GIF = await neko.sfw.tickle(); 24 | const embed = new Discord.MessageEmbed() 25 | .setColor('#202225') 26 | .setTitle(`${message.author.tag} tickled ${member.user.tag}`) 27 | .setImage(GIF.url) 28 | message.channel.send(embed); 29 | } 30 | ping(); 31 | } 32 | } 33 | } -------------------------------------------------------------------------------- /README.md: -------------------------------------------------------------------------------- 1 | # Simple nsfw discord bot 2 | > Very simple nsfw discord bot using the Nekos.life wrapper and discord.js 3 | 4 | ## Install 5 | 6 | ``` 7 | You have to install NodeJS and Git. 8 | Create a folder. 9 | Open Command Promt. 10 | Type in: cd The path to your new folder. (Example: C:\Users\User\Desktop\New folder) 11 | Press enter. 12 | After that type in: git clone https://github.com/schnappi21/nekos.life-discord-bot.git 13 | Press enter. 14 | When you see all Github files in your folder you installed the bot succesfully. 15 | ``` 16 | 17 | ## Usage 18 | 19 | Open config.json 20 | And change the following values: 21 | 22 | ``` 23 | "prefix": "YOUR_PREFIX_HERE", 24 | "token": "YOUR_TOKEN_HERE" 25 | ``` 26 | 27 | ## Features 28 | 29 | * Lot's of NSFW commands! 30 | * Interact with users trough gifs (For example: !hug <@user>)! 31 | * OwOfy text! 32 | * Get random questions, facts and cat emojis! 33 | * Cute pictures of cats, dogs and many more! 34 | 35 | ## Restrict to NSFW-channel 36 | 37 | Open config.json 38 | And change the following values: 39 | 40 | * "true" - The bot only works in NSFW-channels. 41 | * "false" - The bot works in all channels. 42 | 43 | ``` 44 | "nsfw_channel_only": "TRUE_OR_FALSE", 45 | ``` 46 | 47 | ## Contributing 48 | 49 | ``` 50 | If you spot a any kind of mistake and know how to fix it edit the code and submit a pull request. 51 | If you don't know how to fix it open an Issue and tell me about the mistake. 52 | If you have any idea on how to make the code more efficiant please tell me about it. 53 | ``` 54 | 55 | ## Author 56 | 57 | Authored and maintained by schnappi21. 58 | 59 | > GitHub [@schnappi21](https://github.com/schnappi21) 60 | -------------------------------------------------------------------------------- /commands/help.js: -------------------------------------------------------------------------------- 1 | const Discord = require('discord.js'); 2 | const { prefix } = require('../config.json'); 3 | 4 | module.exports = { 5 | name: 'help', 6 | execute(client, message, args){ 7 | if (message.guild) { 8 | message.channel.send('Check your DMs!'); 9 | message.delete(); 10 | const embed = new Discord.MessageEmbed() 11 | .setAuthor(client.user.username, client.user.displayAvatarURL({ format: 'png', dynamic: true, size: 1024 }), 'https://github.com/schnappi21/nekos.life-discord-bot') 12 | .setThumbnail(client.user.displayAvatarURL({ format: 'png', dynamic: true, size: 1024 })) 13 | .setTitle('Help') 14 | .setColor('7289da') 15 | .setDescription(`You want to create a discord bot like this yourself?\n[Check out our Github page!](https://github.com/schnappi21/nekos.life-discord-bot)`) 16 | .addField('List of commands', prefix + 'commands') 17 | .setFooter('Made with 💖 and discord.js by schnappi21', client.user.displayAvatarURL({ format: 'png', dynamic: true, size: 1024 })) 18 | message.author.send(embed); 19 | } 20 | if (!message.guild) { 21 | const embed = new Discord.MessageEmbed() 22 | .setAuthor(client.user.username, client.user.displayAvatarURL({ format: 'png', dynamic: true, size: 1024 }), 'https://github.com/schnappi21/nekos.life-discord-bot') 23 | .setThumbnail(client.user.displayAvatarURL({ format: 'png', dynamic: true, size: 1024 })) 24 | .setTitle('Help') 25 | .setColor('7289da') 26 | .setDescription(`You want to create a discord bot like this yourself?\n[Check out our Github page!](https://github.com/schnappi21/nekos.life-discord-bot)`) 27 | .addField('List of commands', prefix + 'commands') 28 | .setFooter('Made with 💖 and discord.js by schnappi21', client.user.displayAvatarURL({ format: 'png', dynamic: true, size: 1024 })) 29 | message.author.send(embed); 30 | } 31 | } 32 | } 33 | -------------------------------------------------------------------------------- /index.js: -------------------------------------------------------------------------------- 1 | const Discord = require('discord.js'); 2 | const client = new Discord.Client(); 3 | const { prefix, token, nsfw_channel_only } = require('./config.json'); 4 | let fs = require('fs'); 5 | const nekoclient = require('nekos.life'); 6 | const neko = new nekoclient(); 7 | 8 | client.on('ready', () => { 9 | console.log(`Bot tag: ${client.user.tag}`); 10 | console.log(`Guilds: ${client.guilds.cache.size}`); 11 | client.user.setActivity(`with ${prefix}help`, { type: 'PLAYING' }); 12 | }); 13 | 14 | client.commands = new Discord.Collection(); 15 | 16 | const commandFiles = fs.readdirSync('./commands/').filter(file => file.endsWith('.js')); 17 | for(const file of commandFiles) { 18 | const command = require(`./commands/${file}`); 19 | 20 | client.commands.set(command.name, command); 21 | } 22 | client.on('message', async message => { 23 | if (!message.content.startsWith(`${prefix}help`)) { 24 | if (message.content.startsWith(`${prefix}`)) { 25 | if (nsfw_channel_only === 'true') { 26 | if (message.channel.nsfw) { 27 | let file_name = `${message.content.split(' ')[0].replace(prefix, '')}.js`; 28 | if(!fs.existsSync('./commands/' + file_name)) return undefined; 29 | if(fs.existsSync('./commands/' + file_name)) { 30 | client.commands.get(file_name.replace('.js', '')).execute(client, message); 31 | } 32 | } 33 | if (!message.channel.nsfw) { 34 | let embed = new Discord.MessageEmbed() 35 | .setAuthor(message.author.username, message.author.displayAvatarURL({ format: 'png', dynamic: true, size: 1024 }), 'https://discordapp.com/oauth2/authorize?client_id=648959516016377896&scope=bot&permissions=66321471') 36 | .setTimestamp() 37 | .setColor('#D15252') 38 | .setTitle('📛 Error: Denied') 39 | .setDescription('This command is only allowed in **NSFW** channels.') 40 | .setFooter(message.author.tag) 41 | message.channel.send(embed); 42 | } 43 | } 44 | if (nsfw_channel_only === 'false') { 45 | let file_name = `${message.content.split(' ')[0].replace(prefix, '')}.js`; 46 | if(!fs.existsSync('./commands/' + file_name)) return undefined; 47 | if(fs.existsSync('./commands/' + file_name)) { 48 | client.commands.get(file_name.replace('.js', '')).execute(client, message); 49 | } 50 | } 51 | } 52 | } 53 | if (message.content.startsWith(`${prefix}help`)) { 54 | let file_name = `${message.content.split(' ')[0].replace(prefix, '')}.js`; 55 | if(!fs.existsSync('./commands/' + file_name)) return undefined; 56 | if(fs.existsSync('./commands/' + file_name)) { 57 | client.commands.get(file_name.replace('.js', '')).execute(client, message); 58 | } 59 | } 60 | }); 61 | 62 | client.login(token); 63 | -------------------------------------------------------------------------------- /commands/commands.js: -------------------------------------------------------------------------------- 1 | const Discord = require('discord.js'); 2 | const { prefix } = require('../config.json'); 3 | 4 | module.exports = { 5 | name: 'commands', 6 | execute(client, message, args){ 7 | const embed = new Discord.MessageEmbed() 8 | .setColor('#7289DA') 9 | .setTitle('Safe For Work - Commands') 10 | .addField(prefix + 'help', 'Returns a help module', true) 11 | .addField(prefix + 'hug', 'Hug a user', true) 12 | .addField(prefix + 'kiss', 'Kiss a user', true) 13 | .addField(prefix + 'pat', 'Pat a user', true) 14 | .addField(prefix + 'slap', 'Slap a user', true) 15 | .addField(prefix + 'tickle', 'Tickle a user', true) 16 | .addField(prefix + 'poke', 'Poke a user', true) 17 | .addField(prefix + 'cuddle', 'Cuddle a user', true) 18 | .addField(prefix + 'feed', 'Feed a user', true) 19 | .addField(prefix + 'cat', 'Returns a cat image/gif', true) 20 | .addField(prefix + 'dog', 'Returns a dog image/gif', true) 21 | .addField(prefix + 'goose', 'Returns a goose image', true) 22 | .addField(prefix + 'smug', 'Returns a smug image/gif', true) 23 | .addField(prefix + 'baka', 'Returns a baka image/gif', true) 24 | .addField(prefix + 'neko', 'Returns a neko image', true) 25 | .addField(prefix + 'nekogif', 'Returns a neko gif', true) 26 | .addField(prefix + 'lizard', 'Returns a lizard image/gif', true) 27 | .addField(prefix + 'foxgirl', 'Returns a foxgirl image/gif', true) 28 | .addField(prefix + 'holo', 'Returns a holo image/gif', true) 29 | .addField(prefix + 'wallpaper', 'Returns a wallpaper', true) 30 | .addField(prefix + 'gecg', 'Returns a genetically genetically engineered catgirl image', true) 31 | .addField(prefix + 'avatar', 'Returns an anime avatar', true) 32 | .addField(prefix + 'waifu', 'Returns a waifu image/gif', true) 33 | .addField(prefix + 'owofy', 'Returns a owofied version of your text', true) 34 | .addField(prefix + 'cattext', 'Returns a cattext emoji', true) 35 | const embed2 = new Discord.MessageEmbed() 36 | .setColor('#7289DA') 37 | .addField(prefix + 'fact', 'Returns a random fact', true) 38 | .addField(prefix + 'spoiler', 'Returns a message with a unique spoiler for ever text letter', true) 39 | .addField(prefix + 'why', 'Returns a random question', true) 40 | const embed3 = new Discord.MessageEmbed() 41 | .setColor('#7289DA') 42 | .setTitle('Not Safe For Work - Commands') 43 | .addField(prefix + 'pussy', 'Returns a pussy image/gif', true) 44 | .addField(prefix + 'lesbian', 'Returns a lesbian image/gif', true) 45 | .addField(prefix + 'cumsluts', 'Returns a cumsluts image/gif', true) 46 | .addField(prefix + 'boobs', 'Returns a boobs image/gif', true) 47 | .addField(prefix + 'blowjob', 'Returns a blowjob image/gif', true) 48 | .addField(prefix + 'anal', 'Returns a anal image/gif', true) 49 | .addField(prefix + 'trap', 'Returns a trap image/gif', true) 50 | .addField(prefix + 'tits', 'Returns a tits image/gif', true) 51 | .addField(prefix + 'spank', 'Returns a spank image/gif', true) 52 | .addField(prefix + 'cumart', 'Returns a cumart image/gif', true) 53 | .addField(prefix + 'femdom', 'Returns a femdom image/gif', true) 54 | .addField(prefix + 'yuri', 'Returns a yuri image/gif', true) 55 | .addField(prefix + 'nsfwavatar', 'Returns an nsfw avatar', true) 56 | .addField(prefix + 'hentaigif', 'Returns a hentai gif', true) 57 | .addField(prefix + 'hentai', 'Returns a hentai image', true) 58 | .addField(prefix + 'nsfwnekogif', 'Returns a nsfw neko gif', true) 59 | .addField(prefix + 'nsfwneko', 'Returns a nsfw neko image', true) 60 | .addField(prefix + 'kuni', 'Returns a kuni image/gif', true) 61 | .addField(prefix + 'girlsolo', 'Returns a girlsolo image', true) 62 | .addField(prefix + 'girlsologif', 'Returns a girlsolo gif', true) 63 | .addField(prefix + 'pussywank', 'Returns a pussywank gif', true) 64 | .addField(prefix + 'pussyart', 'Returns a pussyart image/gif', true) 65 | .addField(prefix + 'kitsune', 'Returns a kitsune image/gif', true) 66 | .addField(prefix + 'futanari', 'Returns a futanari image/gif', true) 67 | .addField(prefix + 'keta', 'Returns a keta image/gif', true) 68 | const embed4 = new Discord.MessageEmbed() 69 | .setColor('#7289DA') 70 | .addField(prefix + 'gasm', 'Returns a gasm image', true) 71 | .addField(prefix + 'feetgif', 'Returns a feet gif', true) 72 | .addField(prefix + 'feet', 'Returns a feet image', true) 73 | message.channel.send(embed); 74 | message.channel.send(embed2); 75 | message.channel.send(embed3); 76 | message.channel.send(embed4); 77 | } 78 | } 79 | --------------------------------------------------------------------------------