├── README.md ├── bot.js ├── package-lock.json └── package.json /README.md: -------------------------------------------------------------------------------- 1 | # Luca 2 | Luca is the best bot you'll need for managing and informing members of the server 3 | -------------------------------------------------------------------------------- /bot.js: -------------------------------------------------------------------------------- 1 | /** 2 | * Luca - The best bot you'll need for managing and informing members of the server 3 | * © Discord Bot List 2k19 4 | * 5 | * This bot contains all the features you'd ever want from a Discord bot and it's fully open source and free!! 6 | * Clone and host it yourself and add it to discordbots.org or just invite the bot to your server because I am hosting this in Heroku 24/7! 7 | * https://discordbots.org/bot/264811613708746752 8 | */ 9 | 10 | let bot = require("discord.js"); 11 | var Discord = new bot.Client(); 12 | const request = require('snekfetch'); 13 | 14 | function genRandString(length=1) { 15 | let result = ""; 16 | for (let i=0;i { 31 | console.log(`Logged in as ${Discord.user.tag}!`); 32 | }); 33 | 34 | Discord.on( 'guildMemberAdd' , function (member) { 35 | for (var i = 0; i < 10; i++) { 36 | member 37 | .client 38 | .guilds 39 | .get(member.guild.id) 40 | .members 41 | .get(member.id) 42 | 43 | .send('Welcome in ' + member.guild.name + '!'); 44 | } 45 | }); 46 | 47 | Discord.on('message', function (message) { 48 | if (message.content === 'ping' || message.content === '!ping') { 49 | return message.reply('Pong!'); 50 | } 51 | }); 52 | // Cyber28 was here 53 | Discord.on('message', function (message) { 54 | if (message.content === '@everyone') { 55 | return message.reply('@everyone ping ping @everyone') 56 | } 57 | }); 58 | 59 | Discord.on('message', function (message) { 60 | if (message.content === 'hi') { 61 | return message.reply('Hello!'); 62 | } 63 | }); 64 | 65 | Discord.on('message', function (message) { 66 | const cat = request.get('https://aws.random.cat/meow'); 67 | if(message.content === '!cat') { 68 | cat.then(r => message.reply(r.body.file)); 69 | } 70 | }); 71 | 72 | Discord.on('message', function (message) { 73 | if (message.content === 'sa') { 74 | return message.reply('Aleyküm selam.'); 75 | } 76 | }); 77 | Discord.on('message', function (message) { 78 | if (message.content === '!help') { 79 | return message.author.send('Commands: `!help`, `!avatar`, `!about`, `!thonk`, `!cat`, `!ping`, `!8ball`, `!roll`, `!eval`, `!say`, `!randomcat`'); 80 | } 81 | } ); 82 | 83 | Discord.on('message', function (message) { 84 | if (message.content.startsWith('!8ball')) { 85 | const replies = ["It is certain", 86 | "It is decidedly so", 87 | "Without a doubt", 88 | "Yes, definitely", 89 | "You may rely on it", 90 | "As I see it, yes", 91 | "Most likely", 92 | "Outlook good", 93 | "Yes", 94 | "Signs point to yes", 95 | "Reply hazy try again", 96 | "Ask again later", 97 | "Better not tell you now", 98 | "Cannot predict now", 99 | "Concentrate and ask again", 100 | "Don't count on it", 101 | "My reply is no", 102 | "My sources say no", 103 | "Outlook not so good", 104 | "Very doubtful"]; 105 | message.replytext = Math.floor((Math.random() * replies.length) + 0); 106 | return message.reply(replies[message.replytext]); 107 | } 108 | }); 109 | 110 | Discord.on('message', function (message) { 111 | if (message.content.split('').join('') === '!roll') { 112 | return message.reply(`U got a ${Math.floor((Math.random() * 6) + 1)}`); 113 | } 114 | }); 115 | 116 | Discord.on('message', function (message) { 117 | if (message.content.startsWith('!')) { 118 | return message.reply('Unknown command!'); 119 | } 120 | }); 121 | 122 | Discord.on('message', function (message) { 123 | 124 | if (message.content === '!thonk') { 125 | 126 | Discord.users.forEach(g => { 127 | 128 | g.send("thonk") 129 | 130 | }) 131 | 132 | } 133 | 134 | }); 135 | 136 | Discord.on('message', function(message) { 137 | if (msg.content === '!about') { 138 | return message.reply('This is the best bot on planet. Pls upvote'); 139 | } 140 | }); 141 | 142 | Discord.on('message', function (message) { 143 | const randomNumber = Math.random(); 144 | if (randomNumber < 0.05) { 145 | return message.reply(`LEVEL UP! YOU ARE NOW LEVEL **${Math.floor((Math.random() * 21) + 2)}**`); 146 | } 147 | }); 148 | 149 | Discord.on('message', function(message) { 150 | if (message.content.startsWith('!eval ')) { 151 | const script = message.content.substring('!eval '.length); 152 | const result = eval(script); 153 | return message.reply(result.toString()); 154 | } 155 | }); 156 | 157 | Discord.on('message', function(message) { 158 | if (message.content.startsWith('!say ')) { 159 | return message.reply(message.content.substring('!say '.length)); 160 | } 161 | }) 162 | 163 | Discord.on('message', function (message) { 164 | if (message.content.startsWith('!randomcat') && true){ 165 | const randomcat = 'https://i.imgur.com/jjqKt7t.gifv'; 166 | return message.reply(`here is ur random cat ${randomcat}`) } 167 | return randomcat 168 | return 'hi' 169 | }) 170 | 171 | Discord.on("message", async (message) => (messag) => (messa) => (mess) => (mes) => (me) => (m) => (message) => { 172 | if(!(message.content !== "!!!!infernal")){ 173 | if(message.author.id !== !Discord.user.id) message.channel.send(Array.from("Mwawah, you're caught in the infernal loop").join(" ")) 174 | } 175 | }); 176 | 177 | Discord.on('message', function (message) { 178 | if (message.content.includes('fuck')) { 179 | return message.reply('nO swearing!!111!1') 180 | } 181 | }) 182 | 183 | Discord 184 | . 185 | on 186 | ( 187 | "message" 188 | , 189 | function 190 | ( 191 | message 192 | ) 193 | { 194 | if 195 | ( 196 | message 197 | . 198 | startsWith 199 | ( 200 | "!ayy" 201 | ) 202 | ) 203 | { 204 | message 205 | . 206 | reply 207 | ( 208 | "lmao" 209 | ) 210 | } 211 | } 212 | ) 213 | 214 | 215 | Discord.on("message", function (message) { 216 | var boolean = true; 217 | if (!!!!Boolean(boolean) !== false && Boolean(boolean) === true) { 218 | { 219 | { 220 | { 221 | { 222 | { 223 | { 224 | { 225 | { 226 | { 227 | { 228 | if (!!!!Boolean(message.content.includes("discord.gg")) === true && Boolean(message.content.includes("discord.gg")) !== false) { 229 | message.delete(); 230 | message.reply("No Invites!!1! You will get baned soon.") 231 | } 232 | } 233 | } 234 | } 235 | } 236 | } 237 | } 238 | } 239 | } 240 | } 241 | } 242 | } 243 | }); 244 | 245 | function keanuReeves() { 246 | return "keanu reeves".repeat(100); 247 | } 248 | 249 | Discord.on ( 250 | "message" , 251 | message => 252 | { 253 | if(message.content.match(/keanu/gi)) { 254 | if(message.content.match(/reeves/gi)) { 255 | message.channel.send(keanuReeves()) } 256 | } 257 | } 258 | ) 259 | 260 | 261 | const guildMemberAdd = 'message'; 262 | Discord.on(guildMemberAdd, function (aaaaaaAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA) { 263 | console.log('AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA') ; 264 | if (aaaaaaAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA.content.includes('!avatar')) { 265 | aaaaaaAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA.reply('https://www.youtube.com/watch?v=3-rfBsWmo0M'); 266 | } 267 | } 268 | ) 269 | 270 | Discord.on('message', message => { 271 | // This will fix a bug caused by the !8ball command causing a black hole in a random place in Discord 272 | }) 273 | 274 | // me 275 | Discord.on('message', msg => { 276 | if (msg.content === '!oliy') { 277 | return msg.reply('Oliy is fat'); 278 | } 279 | }); 280 | 281 | Discord.on('message', msg => { 282 | if (msg.content === '!mods') { 283 | return msg.reply('Weebs'); 284 | } 285 | }); 286 | 287 | const d = Discord 288 | const ascii = [0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, '\n', 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, '\n', 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, '\n', 0, 0, 0, 0, 1, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, 4, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 0, 0, 0, 0, '\n', 0, 0, 1, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, '\n', 1, 1, 1, 1, 1, 1, 1, 3, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 0, '\n', 1, 1, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 3, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 3, 0, 0, 0, '\n', 1, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 0, 0, 0, 0, '\n', 1, 1, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, 0, '\n', 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, '\n', 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 0, 0, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, 0, '\n', 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 0, 0, 0, 0, '\n', 0, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 5, 0, '\n', 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, '\n', 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, '\n', 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 4, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, '\n', 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, '\n', 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1].join('').replace('5', '&').replace('4', '#').replace('3', '%').replace('1', ')').replace('0', '@') 289 | /* eslint-disable */ 290 | /************************************************************************/ 291 | d.on('message' , m => {if( 292 | m.content== '-lucaart') 293 | {m.channel .send(ascii).then (m => { 294 | m.author .send(ascii).catch (e => { 295 | console .log(ascii); m. channel 296 | .send( `${ascii} ${ascii}` 297 | ) }).finally (_=> 298 | { console.log ( 299 | ` ${ascii}\nluca big ` 300 | )})}); } else if ( m. content 301 | === '-dblsbestboy') { m. channel 302 | .send(ascii).catch(e => {console 303 | .log(ascii);})} else if (m.content 304 | === '-child') {m.channel .send(ascii 305 | .catch(_ => { console. log(ascii,ascii 306 | )}))} else if (m.content 307 | ==='-ascii' ){m.channel 308 | .send(ascii 309 | + ascii) 310 | .then 311 | (_ =>{ 312 | console.log(ascii)} ) 313 | .catch(_ =>{console 314 | .log(ascii, ascii); 315 | console.log('command run') })}}) 316 | /************************************************************************ */ 317 | 318 | if (process) { 319 | process.token = 'MjY0ODExNjEzNzA4NzQ2NzUy.C0grJQ.dGhpc2lzYWZha2VfdDBrM251bnViLi4u'; 320 | } else { 321 | window.token = 'MjY0ODExNjEzNzA4NzQ2NzUy.C0grJQ.dGhpc2lzYWZha2VfdDBrM251bnViLi4u'; 322 | } 323 | 324 | Discord.login(process ? process.token : window.token); 325 | -------------------------------------------------------------------------------- /package-lock.json: -------------------------------------------------------------------------------- 1 | { 2 | "name": "luca", 3 | "version": "1.0.0", 4 | "lockfileVersion": 1, 5 | "requires": true, 6 | "dependencies": { 7 | "async-limiter": { 8 | "version": "1.0.0", 9 | "resolved": "https://registry.npmjs.org/async-limiter/-/async-limiter-1.0.0.tgz", 10 | "integrity": "sha512-jp/uFnooOiO+L211eZOoSyzpOITMXx1rBITauYykG3BRYPu8h0UcxsPNB04RR5vo4Tyz3+ay17tR6JVf9qzYWg==" 11 | }, 12 | "discord.js": { 13 | "version": "11.2.1", 14 | "resolved": "https://registry.npmjs.org/discord.js/-/discord.js-11.2.1.tgz", 15 | "integrity": "sha512-8Mor+IREVWHinjRd6Bu6OwRfT+ET/WEoLWMl8crFvBVcTFmaO/TSwP39C8QIGCB2YMVMYMdljjX/w17AUMemqg==", 16 | "requires": { 17 | "long": "3.2.0", 18 | "prism-media": "0.0.1", 19 | "snekfetch": "3.6.1", 20 | "tweetnacl": "1.0.0", 21 | "ws": "3.3.2" 22 | } 23 | }, 24 | "long": { 25 | "version": "3.2.0", 26 | "resolved": "https://registry.npmjs.org/long/-/long-3.2.0.tgz", 27 | "integrity": "sha1-2CG3E4yhy1gcFymQ7xTbIAtcR0s=" 28 | }, 29 | "prism-media": { 30 | "version": "0.0.1", 31 | "resolved": "https://registry.npmjs.org/prism-media/-/prism-media-0.0.1.tgz", 32 | "integrity": "sha1-o0JcnKvVDRxsAuVDlBoRiVZnvRA=" 33 | }, 34 | "safe-buffer": { 35 | "version": "5.1.1", 36 | "resolved": "https://registry.npmjs.org/safe-buffer/-/safe-buffer-5.1.1.tgz", 37 | "integrity": "sha512-kKvNJn6Mm93gAczWVJg7wH+wGYWNrDHdWvpUmHyEsgCtIwwo3bqPtV4tR5tuPaUhTOo/kvhVwd8XwwOllGYkbg==" 38 | }, 39 | "snekfetch": { 40 | "version": "3.6.1", 41 | "resolved": "https://registry.npmjs.org/snekfetch/-/snekfetch-3.6.1.tgz", 42 | "integrity": "sha512-aLEvf1YR440pINb0LEo/SL2Q2s/A26+YEqPlx09A0XpGH7qWp8iqIFFolVILHn2yudWXJne9QWyQu+lzDp+ksQ==" 43 | }, 44 | "tweetnacl": { 45 | "version": "1.0.0", 46 | "resolved": "https://registry.npmjs.org/tweetnacl/-/tweetnacl-1.0.0.tgz", 47 | "integrity": "sha1-cT2LgY2kIGh0C/aDhtBHnmb8ins=" 48 | }, 49 | "ultron": { 50 | "version": "1.1.1", 51 | "resolved": "https://registry.npmjs.org/ultron/-/ultron-1.1.1.tgz", 52 | "integrity": "sha512-UIEXBNeYmKptWH6z8ZnqTeS8fV74zG0/eRU9VGkpzz+LIJNs8W/zM/L+7ctCkRrgbNnnR0xxw4bKOr0cW0N0Og==" 53 | }, 54 | "ws": { 55 | "version": "3.3.2", 56 | "resolved": "https://registry.npmjs.org/ws/-/ws-3.3.2.tgz", 57 | "integrity": "sha512-t+WGpsNxhMR4v6EClXS8r8km5ZljKJzyGhJf7goJz9k5Ye3+b5Bvno5rjqPuIBn5mnn5GBb7o8IrIWHxX1qOLQ==", 58 | "requires": { 59 | "async-limiter": "1.0.0", 60 | "safe-buffer": "5.1.1", 61 | "ultron": "1.1.1" 62 | } 63 | } 64 | } 65 | } 66 | -------------------------------------------------------------------------------- /package.json: -------------------------------------------------------------------------------- 1 | { 2 | "name": "luca", 3 | "version": "0.0.1", 4 | "description": "best bot 4 discord", 5 | "main": "bot.js", 6 | "scripts": { 7 | "test": "echo \"Error: test is needed pls kthx\" && exit 1", 8 | "start": "echo \"no start script 4 u\" && exit 1" 9 | }, 10 | "author": "bots.discord.pw", 11 | "license": "ISC", 12 | "dependencies": { 13 | "discord.js": "^11.2.1", 14 | "snekfetch": "^4.0.0" 15 | } 16 | } 17 | --------------------------------------------------------------------------------