diff --git a/commands/fun/4chan.js b/commands/fun/4chan.js
new file mode 100644
index 0000000..578d603
--- /dev/null
+++ b/commands/fun/4chan.js
@@ -0,0 +1,58 @@
+const { Command } = require('discord-akairo');
+const { MessageEmbed } = require('discord.js');
+const fetch = require('node-fetch');
+
+class FourchanCommand extends Command {
+	constructor() {
+		super('4chan', {
+			aliases: ['4chan'],
+			category: 'fun',
+			
+			args: [
+				{
+					id: 'board',
+					type: 'string',
+					prompt: {
+						start: 'Wich board do you want to browse?',
+					},
+					match: 'rest'
+				}
+			],
+			description: {
+				content: 'Send random images from a 4chan board of your choosing (only in nsfw channel)',
+				usage: '[board]',
+				examples: ['vg']
+			}
+		});
+	}
+
+	async exec(message, args) {
+		if (!message.channel.nsfw) return message.channel.send('Sorry, this command only work in nsfw channel!');
+
+		if (!args.board) return;
+		
+		fetch(`https://a.4cdn.org/${args.board}/1.json`).then((response) => {
+			return response.json();
+		}).then((response) => { 
+			if (!response.threads)
+				return message.channel.send('Not a valid board');
+
+			let i = Math.floor((Math.random() * response.threads.length));
+
+			let description = response.threads[i].posts[0].com.replace(/(<([^>]+)>)/ig,'');
+			description += decodeURI(description);
+
+			const FourchanEmbed = new MessageEmbed()
+				.setColor('#ff9900')
+				.setTitle(`${response.threads[i].posts[0].name} | ${response.threads[i].posts[0].no}`)
+				.setDescription(description)
+				.setImage(`https://i.4cdn.org/${args.board}/${response.threads[i].posts[0].tim}${response.threads[i].posts[0].ext}`)
+				.setURL(`https://boards.4chan.org/${args.board}/thread/${response.threads[i].posts[0].no}/${response.threads[i].posts[0].semantic_url}`)
+				.setFooter(`${args.board} | ${response.threads[i].posts[0].now}`)
+				.setTimestamp();
+				
+			message.channel.send(FourchanEmbed);
+		});
+	}
+}
+module.exports = FourchanCommand;
\ No newline at end of file