mirror of
				https://github.com/keanuplayz/TravBot-v3.git
				synced 2024-08-15 02:33:12 +00:00 
			
		
		
		
	Moved emote cmds to utility category.
Updated Discord.JS version to 12.4.0. Added channelCreate/remove events. Removed husky.
This commit is contained in:
		
							parent
							
								
									74b4d4272c
								
							
						
					
					
						commit
						0c0fc083cf
					
				
					 10 changed files with 110 additions and 95 deletions
				
			
		
							
								
								
									
										1
									
								
								.husky/.gitignore
									
										
									
									
										vendored
									
									
								
							
							
						
						
									
										1
									
								
								.husky/.gitignore
									
										
									
									
										vendored
									
									
								
							|  | @ -1 +0,0 @@ | |||
| _ | ||||
|  | @ -1,4 +0,0 @@ | |||
| #!/bin/sh | ||||
| . "$(dirname $0)/_/husky.sh" | ||||
| 
 | ||||
| npm test && npx prettier --write . | ||||
							
								
								
									
										48
									
								
								package-lock.json
									
										
									
										generated
									
									
									
								
							
							
						
						
									
										48
									
								
								package-lock.json
									
										
									
										generated
									
									
									
								
							|  | @ -5,9 +5,9 @@ | |||
|   "requires": true, | ||||
|   "dependencies": { | ||||
|     "@discordjs/collection": { | ||||
|       "version": "0.1.5", | ||||
|       "resolved": "https://registry.npmjs.org/@discordjs/collection/-/collection-0.1.5.tgz", | ||||
|       "integrity": "sha512-CU1q0UXQUpFNzNB7gufgoisDHP7n+T3tkqTsp3MNUkVJ5+hS3BCvME8uCXAUFlz+6T2FbTCu75A+yQ7HMKqRKw==" | ||||
|       "version": "0.1.6", | ||||
|       "resolved": "https://registry.npmjs.org/@discordjs/collection/-/collection-0.1.6.tgz", | ||||
|       "integrity": "sha512-utRNxnd9kSS2qhyivo9lMlt5qgAUasH2gb7BEOn6p0efFh24gjGomHzWKMAPn2hEReOPQZCJaRKoURwRotKucQ==" | ||||
|     }, | ||||
|     "@discordjs/form-data": { | ||||
|       "version": "3.0.1", | ||||
|  | @ -359,30 +359,18 @@ | |||
|       "dev": true | ||||
|     }, | ||||
|     "discord.js": { | ||||
|       "version": "12.2.0", | ||||
|       "resolved": "https://registry.npmjs.org/discord.js/-/discord.js-12.2.0.tgz", | ||||
|       "integrity": "sha512-Ueb/0SOsxXyqwvwFYFe0msMrGqH1OMqpp2Dpbplnlr4MzcRrFWwsBM9gKNZXPVBHWUKiQkwU8AihXBXIvTTSvg==", | ||||
|       "version": "12.4.0", | ||||
|       "resolved": "https://registry.npmjs.org/discord.js/-/discord.js-12.4.0.tgz", | ||||
|       "integrity": "sha512-Lc+/vKzih1DPEya/0MO0BAp4Ru/4+MfDsOJkfbyzGoyIlFqiWSQ78RdyRk4tqAtabl6d5QR4Ygo0Ub0TGEsXBg==", | ||||
|       "requires": { | ||||
|         "@discordjs/collection": "^0.1.5", | ||||
|         "@discordjs/collection": "^0.1.6", | ||||
|         "@discordjs/form-data": "^3.0.1", | ||||
|         "abort-controller": "^3.0.0", | ||||
|         "node-fetch": "^2.6.0", | ||||
|         "prism-media": "^1.2.0", | ||||
|         "node-fetch": "^2.6.1", | ||||
|         "prism-media": "^1.2.2", | ||||
|         "setimmediate": "^1.0.5", | ||||
|         "tweetnacl": "^1.0.3", | ||||
|         "ws": "^7.2.1" | ||||
|       }, | ||||
|       "dependencies": { | ||||
|         "prism-media": { | ||||
|           "version": "1.2.2", | ||||
|           "resolved": "https://registry.npmjs.org/prism-media/-/prism-media-1.2.2.tgz", | ||||
|           "integrity": "sha512-I+nkWY212lJ500jLe4tN9tWO7nRiBAVdMv76P9kffZjYhw20raMlW1HSSvS+MLXC9MmbNZCazMrAr+5jEEgTuw==" | ||||
|         }, | ||||
|         "ws": { | ||||
|           "version": "7.3.0", | ||||
|           "resolved": "https://registry.npmjs.org/ws/-/ws-7.3.0.tgz", | ||||
|           "integrity": "sha512-iFtXzngZVXPGgpTlP1rBqsUK82p9tKqsWRPg5L56egiljujJT3vGAYnHANvFxBieXrTFavhzhxW52jnaWV+w2w==" | ||||
|         } | ||||
|         "ws": "^7.3.1" | ||||
|       } | ||||
|     }, | ||||
|     "duplexer": { | ||||
|  | @ -610,12 +598,6 @@ | |||
|       "integrity": "sha512-F/1DnUGPopORZi0ni+CvrCgHQ5FyEAHRLSApuYWMmrbSwoN2Mn/7k+Gl38gJnR7yyDZk6WLXwiGod1JOWNDKGw==", | ||||
|       "dev": true | ||||
|     }, | ||||
|     "husky": { | ||||
|       "version": "5.0.0-alpha.6", | ||||
|       "resolved": "https://registry.npmjs.org/husky/-/husky-5.0.0-alpha.6.tgz", | ||||
|       "integrity": "sha512-Ofqq0oHLCO0r8hTb/1PQ3FAfsW945adUli8jFTeXdOIK8gCUmxY9A0BI0mG9oGboPf+Y53bvEmX6ljdrz+yV6w==", | ||||
|       "dev": true | ||||
|     }, | ||||
|     "iconv-lite": { | ||||
|       "version": "0.4.24", | ||||
|       "resolved": "https://registry.npmjs.org/iconv-lite/-/iconv-lite-0.4.24.tgz", | ||||
|  | @ -1044,6 +1026,11 @@ | |||
|       "integrity": "sha512-16c7K+x4qVlJg9rEbXl7HEGmQyZlG4R9AgP+oHKRMsMsuk8s+ATStlf1NpDqyBI1HpVyfjLOeMhH2LvuNvV5Vg==", | ||||
|       "dev": true | ||||
|     }, | ||||
|     "prism-media": { | ||||
|       "version": "1.2.2", | ||||
|       "resolved": "https://registry.npmjs.org/prism-media/-/prism-media-1.2.2.tgz", | ||||
|       "integrity": "sha512-I+nkWY212lJ500jLe4tN9tWO7nRiBAVdMv76P9kffZjYhw20raMlW1HSSvS+MLXC9MmbNZCazMrAr+5jEEgTuw==" | ||||
|     }, | ||||
|     "promise.allsettled": { | ||||
|       "version": "1.0.2", | ||||
|       "resolved": "https://registry.npmjs.org/promise.allsettled/-/promise.allsettled-1.0.2.tgz", | ||||
|  | @ -1480,6 +1467,11 @@ | |||
|       "integrity": "sha1-tSQ9jz7BqjXxNkYFvA0QNuMKtp8=", | ||||
|       "dev": true | ||||
|     }, | ||||
|     "ws": { | ||||
|       "version": "7.3.1", | ||||
|       "resolved": "https://registry.npmjs.org/ws/-/ws-7.3.1.tgz", | ||||
|       "integrity": "sha512-D3RuNkynyHmEJIpD2qrgVkc9DQ23OrN/moAwZX4L8DfvszsJxpjQuUq3LMx6HoYji9fbIOBY18XWBsAux1ZZUA==" | ||||
|     }, | ||||
|     "y18n": { | ||||
|       "version": "4.0.0", | ||||
|       "resolved": "https://registry.npmjs.org/y18n/-/y18n-4.0.0.tgz", | ||||
|  |  | |||
|  | @ -6,7 +6,7 @@ | |||
|   "private": true, | ||||
|   "dependencies": { | ||||
|     "chalk": "^4.1.0", | ||||
|     "discord.js": "^12.2.0", | ||||
|     "discord.js": "^12.4.0", | ||||
|     "inquirer": "^7.3.1", | ||||
|     "moment": "^2.27.0" | ||||
|   }, | ||||
|  | @ -15,7 +15,6 @@ | |||
|     "@types/mocha": "^8.0.3", | ||||
|     "@types/node": "^14.0.22", | ||||
|     "@types/ws": "^7.2.6", | ||||
|     "husky": "^5.0.0-alpha.6", | ||||
|     "mocha": "^8.1.2", | ||||
|     "prettier": "2.1.2", | ||||
|     "ts-node": "^9.0.0", | ||||
|  | @ -23,7 +22,6 @@ | |||
|     "typescript": "^3.9.6" | ||||
|   }, | ||||
|   "scripts": { | ||||
|     "postinstall": "husky install", | ||||
|     "build": "tsc && npm prune --production", | ||||
|     "start": "node dist/index.js", | ||||
|     "once": "tsc && npm start", | ||||
|  |  | |||
|  | @ -3,6 +3,7 @@ import { CommonLibrary, logs, botHasPermission } from '../core/lib'; | |||
| import { Config, Storage } from '../core/structures'; | ||||
| import { PermissionNames, getPermissionLevel } from '../core/permissions'; | ||||
| import { Permissions } from 'discord.js'; | ||||
| import * as discord from 'discord.js'; | ||||
| 
 | ||||
| function getLogBuffer(type: string) { | ||||
|   return { | ||||
|  | @ -107,6 +108,9 @@ export default new Command({ | |||
|       description: 'Purges bot messages.', | ||||
|       permission: Command.PERMISSIONS.BOT_SUPPORT, | ||||
|       async run($: CommonLibrary): Promise<any> { | ||||
|         if ($.message.channel instanceof discord.DMChannel) { | ||||
|           return; | ||||
|         } | ||||
|         $.message.delete(); | ||||
|         const msgs = await $.channel.messages.fetch({ | ||||
|           limit: 100, | ||||
|  |  | |||
|  | @ -1,59 +0,0 @@ | |||
| import { MessageEmbed } from 'discord.js'; | ||||
| import Command from '../core/command'; | ||||
| import { CommonLibrary } from '../core/lib'; | ||||
| 
 | ||||
| export default new Command({ | ||||
|   description: 'Various utilities.', | ||||
|   endpoint: false, | ||||
|   usage: '', | ||||
|   async run($: CommonLibrary): Promise<any> {}, | ||||
|   subcommands: { | ||||
|     lsemotes: new Command({ | ||||
|       description: "Lists all emotes the bot has in it's registry,", | ||||
|       endpoint: true, | ||||
|       async run($: CommonLibrary): Promise<any> { | ||||
|         const nsfw: string | string[] = []; | ||||
|         const pages = $.client.emojis.cache | ||||
|           .filter((x) => !nsfw.includes(x.guild.id), this) | ||||
|           .array(); | ||||
|         const pagesSplit = $(pages).split(20); | ||||
|         $.log(pagesSplit); | ||||
|         var embed = new MessageEmbed() | ||||
|           .setTitle('**Emoji list!**') | ||||
|           .setColor('AQUA'); | ||||
|         let desc = ''; | ||||
|         for (const emote of pagesSplit[0]) { | ||||
|           desc += `${emote} | ${emote.name}\n`; | ||||
|         } | ||||
|         embed.setDescription(desc); | ||||
|         const msg = await $.channel.send({ embed }); | ||||
| 
 | ||||
|         $.paginate(msg, $.author.id, pages.length, (page) => { | ||||
|           let desc = ''; | ||||
|           for (const emote of pagesSplit[page]) { | ||||
|             desc += `${emote} | ${emote.name}\n`; | ||||
|           } | ||||
|           embed.setDescription(desc); | ||||
|           msg.edit(embed); | ||||
|         }); | ||||
|       }, | ||||
|     }), | ||||
|     emote: new Command({ | ||||
|       description: 'Send the specified emote.', | ||||
|       run: 'Please provide a command name.', | ||||
|       any: new Command({ | ||||
|         description: 'The emote to send.', | ||||
|         usage: '<emote>', | ||||
|         async run($: CommonLibrary): Promise<any> { | ||||
|           const search = $.args[0].toLowerCase(); | ||||
|           const emote = $.client.emojis.cache.find((emote) => | ||||
|             emote.name.toLowerCase().includes(search), | ||||
|           ); | ||||
|           if (!emote) return $.channel.send("That's not a valid emote name!"); | ||||
|           $.message.delete(); | ||||
|           $.channel.send(`${emote}`); | ||||
|         }, | ||||
|       }), | ||||
|     }), | ||||
|   }, | ||||
| }); | ||||
							
								
								
									
										21
									
								
								src/commands/utilities/emote.ts
									
										
									
									
									
										Normal file
									
								
							
							
						
						
									
										21
									
								
								src/commands/utilities/emote.ts
									
										
									
									
									
										Normal file
									
								
							|  | @ -0,0 +1,21 @@ | |||
| import { MessageEmbed } from 'discord.js'; | ||||
| import Command from '../../core/command'; | ||||
| import { CommonLibrary } from '../../core/lib'; | ||||
| 
 | ||||
| export default new Command({ | ||||
|   description: 'Send the specified emote.', | ||||
|   run: 'Please provide a command name.', | ||||
|   any: new Command({ | ||||
|     description: 'The emote to send.', | ||||
|     usage: '<emote>', | ||||
|     async run($: CommonLibrary): Promise<any> { | ||||
|       const search = $.args[0].toLowerCase(); | ||||
|       const emote = $.client.emojis.cache.find((emote) => | ||||
|         emote.name.toLowerCase().includes(search), | ||||
|       ); | ||||
|       if (!emote) return $.channel.send("That's not a valid emote name!"); | ||||
|       $.message.delete(); | ||||
|       $.channel.send(`${emote}`); | ||||
|     }, | ||||
|   }), | ||||
| }); | ||||
							
								
								
									
										32
									
								
								src/commands/utilities/lsemotes.ts
									
										
									
									
									
										Normal file
									
								
							
							
						
						
									
										32
									
								
								src/commands/utilities/lsemotes.ts
									
										
									
									
									
										Normal file
									
								
							|  | @ -0,0 +1,32 @@ | |||
| import { MessageEmbed } from 'discord.js'; | ||||
| import Command from '../../core/command'; | ||||
| import { CommonLibrary } from '../../core/lib'; | ||||
| 
 | ||||
| export default new Command({ | ||||
|   description: "Lists all emotes the bot has in it's registry,", | ||||
|   endpoint: true, | ||||
|   async run($: CommonLibrary): Promise<any> { | ||||
|     const nsfw: string | string[] = []; | ||||
|     const pages = $.client.emojis.cache | ||||
|       .filter((x) => !nsfw.includes(x.guild.id), this) | ||||
|       .array(); | ||||
|     const pagesSplit = $(pages).split(20); | ||||
|     $.log(pagesSplit); | ||||
|     var embed = new MessageEmbed().setTitle('**Emoji list!**').setColor('AQUA'); | ||||
|     let desc = ''; | ||||
|     for (const emote of pagesSplit[0]) { | ||||
|       desc += `${emote} | ${emote.name}\n`; | ||||
|     } | ||||
|     embed.setDescription(desc); | ||||
|     const msg = await $.channel.send({ embed }); | ||||
| 
 | ||||
|     $.paginate(msg, $.author.id, pages.length, (page) => { | ||||
|       let desc = ''; | ||||
|       for (const emote of pagesSplit[page]) { | ||||
|         desc += `${emote} | ${emote.name}\n`; | ||||
|       } | ||||
|       embed.setDescription(desc); | ||||
|       msg.edit(embed); | ||||
|     }); | ||||
|   }, | ||||
| }); | ||||
							
								
								
									
										16
									
								
								src/events/channelCreate.ts
									
										
									
									
									
										Normal file
									
								
							
							
						
						
									
										16
									
								
								src/events/channelCreate.ts
									
										
									
									
									
										Normal file
									
								
							|  | @ -0,0 +1,16 @@ | |||
| import Event from '../core/event'; | ||||
| import { client } from '../index'; | ||||
| import $ from '../core/lib'; | ||||
| import * as discord from 'discord.js'; | ||||
| 
 | ||||
| export default new Event<'channelCreate'>({ | ||||
|   async on(channel) { | ||||
|     const botGuilds = client.guilds; | ||||
|     if (channel instanceof discord.GuildChannel) { | ||||
|       const createdGuild = await botGuilds.fetch(channel.guild.id); | ||||
|       $.log( | ||||
|         `Channel created in '${createdGuild.name}' called '#${channel.name}'`, | ||||
|       ); | ||||
|     } | ||||
|   }, | ||||
| }); | ||||
							
								
								
									
										16
									
								
								src/events/channelDelete.ts
									
										
									
									
									
										Normal file
									
								
							
							
						
						
									
										16
									
								
								src/events/channelDelete.ts
									
										
									
									
									
										Normal file
									
								
							|  | @ -0,0 +1,16 @@ | |||
| import Event from '../core/event'; | ||||
| import { client } from '../index'; | ||||
| import $ from '../core/lib'; | ||||
| import * as discord from 'discord.js'; | ||||
| 
 | ||||
| export default new Event<'channelDelete'>({ | ||||
|   async on(channel) { | ||||
|     const botGuilds = client.guilds; | ||||
|     if (channel instanceof discord.GuildChannel) { | ||||
|       const createdGuild = await botGuilds.fetch(channel.guild.id); | ||||
|       $.log( | ||||
|         `Channel deleted in '${createdGuild.name}' called '#${channel.name}'`, | ||||
|       ); | ||||
|     } | ||||
|   }, | ||||
| }); | ||||
		Loading…
	
	Add table
		Add a link
		
	
		Reference in a new issue