gaber-elsayed

welcome.js

Jun 28th, 2021
141
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 18.13 KB | None | 0 0
  1. const {MessageEmbed} = require("discord.js"),
  2. db = require("quick.db")
  3. module.exports = {
  4. config: {
  5. name: "welcome",
  6. aliases: ["welcome"],
  7. },
  8. run: async (client, message, args) => {
  9. const msg = message;
  10. let prefix = db.get(`prefix_${msg.guild.id}`)
  11. if(prefix === null) prefix = "+";
  12. if (!msg.member.hasPermission("ADMINISTRATOR")) {
  13. const embed2 = new MessageEmbed()
  14. .setColor("RED")
  15. .setDescription(
  16. "**You Dont Have Permission To User This Command. Required Permission** `ADMINISTRATOR`"
  17. );
  18. return msg.channel.send(embed2);
  19. }
  20. if (!args[0]) {
  21. const embed = new MessageEmbed()
  22. .setColor("#00FF0")
  23. .setTitle("Server Welcome Setup")
  24. .setDescription("To use these commands, do `"+ prefix + "welcome <command>`")
  25. .addField(
  26. "Commands Plugins",
  27. "`channel`, `font`, `image`, `imageremove`, `message`, `messageremove`, `color`, `colorremove`, `embed`, `embedremove`, `disable`, `test`"
  28. )
  29. .setFooter(client.user.username + " | Welcome")
  30. .setTimestamp();
  31. msg.channel.send(embed);
  32. } else if (args[0].toLowerCase() === "channel") {
  33. //---------------------CHANNEL-----------------------------//
  34. let channel = msg.mentions.channels.first();
  35. if (!channel) {
  36. const emb = new MessageEmbed()
  37. .setColor("RED")
  38. .setTitle("❌ Channel Missing")
  39. .setDescription("Please Mention A Channel To Set As Welcome Channel!")
  40. .setTimestamp();
  41. return msg.channel.send(emb);
  42. } else {
  43. db.set(`welchannl1_${msg.guild.id}`, channel.id);
  44. const emb = new MessageEmbed()
  45. .setColor("#00FF00")
  46. .setDescription(`Welcome Channel Seted As ${channel}`)
  47. .setTitle(" ✅ Welcome Channel Seted")
  48. .setTimestamp();
  49. msg.channel.send(emb);
  50. //-------------------CHANNL END-------------------------//
  51. }
  52. } else if (args[0].toLowerCase() === "image") {
  53. //---------------------BACKGROUND-------------------------//
  54. let chan = db.get(`welchannl1_${msg.guild.id}`);
  55. if (chan == null) {
  56. return msg.channel.send(
  57. new MessageEmbed()
  58. .setColor("RED")
  59. .setTitle("❌ You Have Not Enable Welcome")
  60. .setDescription("You Need To Enable Welcome To Set Image!")
  61. .setTimestamp()
  62. );
  63. }
  64. const URL = args[1];
  65. if (!URL) {
  66. let em = new MessageEmbed()
  67. .setColor("RED")
  68. .setTitle("❌ Welcome Image Error")
  69. .setDescription("Error Adding Image")
  70. .addField(
  71. "Reason",
  72. "Image requires at least One (1) argument. `"+ prefix + "welcome image [url]`"
  73. )
  74. .setTimestamp();
  75. msg.channel.send(em);
  76. } else {
  77. db.set(`welback1_${msg.guild.id}`, URL);
  78. const emb = new MessageEmbed()
  79. .setColor("#00FF00")
  80. .setTitle("✅ Welcome Image Seted As")
  81. .setImage(URL)
  82. .setTimestamp();
  83. msg.channel.send(emb);
  84. msg.delete();
  85. }
  86. //----------------------BACKGROUND END----------------------------//
  87. } else if (args[0].toLowerCase() === "imageremove") {
  88. //---------------------BACKGROUND REMOVE-------------------------//
  89. let welback = db.get(`welback1_${msg.guild.id}`);
  90. if (welback == null) {
  91. return msg.channel.send(
  92. new MessageEmbed()
  93. .setColor("RED")
  94. .setTitle(
  95. "❌ You Have Not Enable Welcome Image"
  96. )
  97. .setDescription("You Have Not Enabled Image To Disable!")
  98. .setTimestamp()
  99. );
  100. } else {
  101. db.delete(`welback1_${msg.guild.id}`);
  102. const emb = new MessageEmbed()
  103. .setColor("#00FF00")
  104. .setTitle("<:yesk:778449313616756736> Welcome Image Disable")
  105. .setDescription("You Have Disabled Your Welcome Image Succesfully!")
  106. .setTimestamp();
  107. msg.channel.send(emb);
  108. }
  109. //---------------------BACKGROUND REMOVE END-----------------------//
  110. } else if (args[0].toLowerCase() === "test") {
  111. //------------------------TEST----------------------------//
  112. let chan = db.get(`welchannl1_${msg.guild.id}`);
  113. let welback = db.get(`welback1_${msg.guild.id}`);
  114. let welmsg = db.get(`welmsg1_${msg.guild.id}`);
  115. let welc = db.get(`welcolor1_${msg.guild.id}`);
  116. let user = db.get(`usrcolor1_${msg.guild.id}`);
  117. let autou = db.get(`urole_${msg.guild.id}`)
  118. let autob = db.get(`brole_${msg.guild.id}`)
  119. let dm = db.get(`weldm_${msg.guild.id}`)
  120. let en = db.get(`emb_${msg.guild.id}`)
  121. if (chan == null) {
  122. return msg.channel.send(
  123. new MessageEmbed()
  124. .setColor("RED")
  125. .setTitle("❌ You Have Not Enable Welcome")
  126. .setDescription("You Need To Enable Welcome To Test")
  127. .setTimestamp()
  128. );
  129. } else {
  130. msg.client.emit(
  131. "guildMemberAdd",
  132. msg.member || (await msg.guild.fetchMember(msg.author))
  133. );
  134. const emb = new MessageEmbed()
  135. .setColor("#00FF00")
  136. .setTitle("✅ Welcome Test Sent")
  137. .setDescription(
  138. `Oki I Have Fake Your Joining The Server To Check Out The Setting. Here Is Your Setting:\n
  139. ${
  140. chan
  141. ? "✅"
  142. : "❌"
  143. } **Welcome Channel: **${
  144. chan
  145. ? `Welcome Channel Is Seted As <#${chan}>`
  146. : "No Welcome Channel Is Set, `"+ prefix + "welcome channel` To Set One"
  147. }\n${
  148. welmsg
  149. ? "✅"
  150. : "❌"
  151. } **Welcome Message: **${
  152. welmsg
  153. ? `Welcome Message Is Seted`
  154. : "No Welcome Message, `"+ prefix + "welcome message` To Set One"
  155. }\n${
  156. welback
  157. ? "✅"
  158. : "❌"
  159. } **Welcome Image: **${
  160. welback
  161. ? `Welcome Image Is Seted`
  162. : "No Welcome Image, `"+ prefix + "welcome Image` To Set One"
  163. }\n${
  164. welc ? "✅" : "❌ "
  165. } **Welcome Text Color:** ${
  166. welc
  167. ? `Welcome Text Color Is Seted`
  168. : "No Welcome Text Is Seted, `"+ prefix + "welcome color welcome` To Set One"
  169. }\n${
  170. user ? "✅" : "❌"
  171. } **User Text Color:** ${
  172. user
  173. ? `User Text Color Is Seted`
  174. : "No User Text Is Seted, `"+ prefix + "welcome color user` To Set One"
  175. }\n${
  176. en ? "✅" : "❌"
  177. } **Welcome Embed:** ${
  178. en ? "Welcome Embed Is Seted" : "Welcome Embed Is Not Enabled, `"+ prefix + "welcome embed` To Set One."
  179. }`)
  180. .setTimestamp();
  181. msg.channel.send(emb);
  182. }
  183. //----------------------TEST END-----------------------//
  184. } else if (args[0].toLowerCase() === "disable") {
  185. //--------------------DISABLE----------------------//
  186. let chan = db.get(`welchannl1_${msg.guild.id}`);
  187. if (chan == null) {
  188. return msg.channel.send(
  189. new MessageEmbed()
  190. .setColor("RED")
  191. .setTitle("❌ You Have Not Enable Welcome")
  192. .setDescription("You Need To Enable Welcome To Disable!")
  193. .setTimestamp()
  194. );
  195. } else {
  196. db.delete(`welchannl1_${msg.guild.id}`);
  197. db.delete(`welback1_${msg.guild.id}`);
  198. db.delete(`welmsg1_${msg.guild.id}`);
  199. db.delete(`weldm_${msg.guild.id}`)
  200. db.delete(`emb_${msg.guild.id}`)
  201. const emb = new MessageEmbed()
  202. .setColor("#00FF00")
  203. .setTitle("✅ Disable Success")
  204. .setDescription("You Have Disable Welcome Succesfully")
  205. .setTimestamp();
  206. msg.channel.send(emb);
  207. }
  208. //-------------------DISABLE END-----------------------//
  209. } else if (args[0].toLowerCase() === "message") {
  210. //------------------MESSAGE--------------------//
  211. let msg1 = args.slice(1).join(" ");
  212. if (!msg1) {
  213. return msg.channel.send(
  214. new MessageEmbed()
  215. .setColor("RED")
  216. .setTitle("❌ Welcome Message Error")
  217. .setDescription("Please Specify A Message To Be Set In Welcome!")
  218. .addField(
  219. "Welcome Variables",
  220. `**{user}** - Mentions The User On Join.\n**{username}** - Member Username With Tag!\n**{server}** - Gives Server Name.\n**{membercount}** - Gets Server Member Count.\n**{:emoji}** - Show a server emoji by replacing with name. Ex. \`{:Alix}\``
  221. )
  222. .setFooter(client.user.username + ` |Welcome`)
  223. .setTimestamp()
  224. );
  225. } else {
  226. db.set(`welmsg1_${msg.guild.id}`, msg1);
  227. if (msg1) {
  228. msg1 = msg1.replace(/{user}/g, msg.author);
  229. msg1 = msg1.replace(/{server}/g, msg.guild.name);
  230. msg1 = msg1.replace(/{membercount}/g, msg.guild.memberCount);
  231. msg1 = msg1.replace(/{username}/g, msg.author.tag);
  232. let matches = msg1.match(/{:([a-zA-Z0-9]+)}/g);
  233. if(!matches) matches = msg1
  234. for (const match of matches) {
  235. const rep = await msg.guild.emojis.cache.find(
  236. (emoji) => emoji.name === match.substring(2, match.length - 1)
  237. );
  238. if (rep) msg1 = msg1.replace(match, rep);
  239. }
  240. }
  241. const emn = new MessageEmbed()
  242. .setColor("#00FF00")
  243. .setTitle("✅ Welcome Message Seted!")
  244. .addField("Welcome Message Seted As", msg1)
  245. .setFooter("This Are For Example!");
  246. msg.channel.send(emn);
  247. }
  248. //--------------MESSAGE END---------------------//
  249. } else if (args[0].toLowerCase() === "messageremove") {
  250. let msg1 = db.get(`welmsg1_${msg.guild.id}`);
  251. if (msg1 == null) {
  252. return msg.channel.send(
  253. new MessageEmbed()
  254. .setColor("RED")
  255. .setTitle(
  256. "❌ You Have Not Enable Welcome Message"
  257. )
  258. .setDescription("You Need To Enable Welcome Message To Disable")
  259. .setTimestamp()
  260. );
  261. } else {
  262. db.delete(`welmsg1_${msg.guild.id}`);
  263. const emb = new MessageEmbed()
  264. .setColor("#00FF00")
  265. .setTitle("✅ Disable Success")
  266. .setDescription("You Have Disable Welcome Message Succesfully")
  267. .setTimestamp();
  268. msg.channel.send(emb);
  269. }
  270. } else if (args[0].toLowerCase() === "color") {
  271. //----------------------COLOR--------------------------//
  272. if (!args[1]) {
  273. const emb = new MessageEmbed()
  274. .setColor("RED")
  275. .setTitle("Welcome Text Color")
  276. .addField(
  277. prefix + "welcome color welcome",
  278. "```Change The Welcome Text Color, Ex. "+ prefix + "welcome color welcome #00FF00```"
  279. )
  280. .addField(
  281. prefix + "welcome color user",
  282. "```Change The Username Text Color, Ex. "+ prefix + "welcome color user #00FF00```"
  283. )
  284. .setTimestamp();
  285. return msg.channel.send(emb);
  286. } else if (args[1].toLowerCase() === "welcome") {
  287. let color = args[2];
  288. if (!color) {
  289. const h = new MessageEmbed()
  290. .setColor("RED")
  291. .setTitle("❌ Color Error")
  292. .setDescription(
  293. "You Have Not Specified The Color To Be Put In Welcome Text"
  294. )
  295. .setTimestamp();
  296. return msg.channel.send(h);
  297. } else {
  298. db.set(`welcolor1_${msg.guild.id}`, color);
  299. const h2 = new MessageEmbed()
  300. .setColor(color)
  301. .setTitle("✅ Color Success")
  302. .setDescription(
  303. `<-- Your Welcome Text Is Seted As Embed Color, \`${color}\``
  304. )
  305. .setTimestamp();
  306. msg.channel.send(h2);
  307. }
  308. } else if (args[1].toLowerCase() === "user") {
  309. let color = args[2];
  310. if (!color) {
  311. const h = new MessageEmbed()
  312. .setColor("RED")
  313. .setTitle("❌ Color Error")
  314. .setDescription(
  315. "You Have Not Specified The Color To Be Put In User Text"
  316. )
  317. .setTimestamp();
  318. return msg.channel.send(h);
  319. } else {
  320. db.set(`usrcolor1_${msg.guild.id}`, color);
  321. const h2 = new MessageEmbed()
  322. .setColor(color)
  323. .setTitle("✅ Color Success")
  324. .setDescription(
  325. `<-- Your User Text Is Seted As Embed Color, \`${color}\``
  326. )
  327. .setTimestamp();
  328. msg.channel.send(h2);
  329. }
  330. }
  331. //---------------------------COLOR END-----------------------------//
  332. } else if (args[0].toLowerCase() === "colorremove") {
  333. if (!args[1]) {
  334. const emb = new MessageEmbed()
  335. .setColor("RED")
  336. .setTitle("Welcome Text Color Remove")
  337. .addField(
  338. prefix + "welcome colorremove welcome",
  339. "```Removes The Welcome Text Color, Ex. "+ prefix + "welcome colorremove welcome```"
  340. )
  341. .addField(
  342. prefix + "welcome colorremove user",
  343. "```Removes The Username Text Color, Ex. "+ prefix + "welcome colorremove user```"
  344. )
  345. .setTimestamp();
  346. return msg.channel.send(emb);
  347. } else if (args[1].toLowerCase() === "welcome") {
  348. let welc = db.get(`welcolor1_${msg.guild.id}`);
  349. if (!welc) {
  350. const h = new MessageEmbed()
  351. .setColor("RED")
  352. .setTitle("❌ Command Error")
  353. .setDescription(
  354. "You Have Not Enabled Welcome Text Color To Disable"
  355. )
  356. .setTimestamp();
  357. return msg.channel.send(h);
  358. } else {
  359. db.delete(`welcolor1_${msg.guild.id}`);
  360. const h2 = new MessageEmbed()
  361. .setColor("#00FF00")
  362. .setTitle("✅ Color Removed")
  363. .setDescription(`Your Welcome Text Color Has Been Removed`)
  364. .setTimestamp();
  365. msg.channel.send(h2);
  366. }
  367. } else if (args[1].toLowerCase() === "user") {
  368. let welc = db.get(`usrcolor1_${msg.guild.id}`);
  369. if (!welc) {
  370. const h = new MessageEmbed()
  371. .setColor("RED")
  372. .setTitle("❌ Command Error")
  373. .setDescription("You Have Not Enabled User Text Color To Disable")
  374. .setTimestamp();
  375. return msg.channel.send(h);
  376. } else {
  377. db.delete(`usrcolor1_${msg.guild.id}`);
  378. const h2 = new MessageEmbed()
  379. .setColor("#00FF00")
  380. .setTitle("✅ Color Removed")
  381. .setDescription(`Your User Text Color Has Been Removed`)
  382. .setTimestamp();
  383. msg.channel.send(h2);
  384. }
  385. }
  386. }else if(args[0].toLowerCase() === "embed"){
  387. db.set(`emb_${msg.guild.id}`, true)
  388. const gg = new MessageEmbed()
  389. .setColor("#00FF00")
  390. .setDescription("You Have Successfully Enabled Welcome Embed")
  391. .setTitle("✅ Welcome Embed")
  392. .setTimestamp()
  393. msg.channel.send(gg)
  394. }else if(args[0].toLowerCase() === "embedremove"){
  395. let embed = db.get(`emb_${msg.guild.id}`)
  396. if(embed == null){
  397. let h = new MessageEmbed()
  398. .setColor("RED")
  399. .setDescription("You Have Not Enabled Welcome Embed To Disable")
  400. .setTitle("❌ Embed Error")
  401. .setTimestamp()
  402. return msg.channel.send(h)
  403. }else {
  404. db.delete(`emb_${msg.guild.id}`)
  405. const emb = new MessageEmbed()
  406. .setColor("#00FF00")
  407. .setTitle("✅ Disable Success")
  408. .setDescription("You Have Disable Welcome Embed Succesfully")
  409. .setTimestamp();
  410. msg.channel.send(emb);
  411. }
  412. }else if(args[0].toLowerCase() === "font"){
  413. let embed = new MessageEmbed()
  414. .setColor("#00ffff")
  415. .setDescription("Now React With The Number That You Want To Select In Welcome Font\n\n:one: - For **Geizer** Font\n:two: - For **A-Captain** Font\n3️⃣ - For **Bourbon Regular** Font\n\n:x: - To Cancle The Font Selection\n🔁 - To Rest The Welcome Font")
  416. .setTimestamp()
  417. const msg1 = await msg.channel.send(embed)
  418. await msg1.react("1️⃣");
  419. await msg1.react("2️⃣");
  420. await msg1.react("3️⃣");
  421. await msg1.react("❌");
  422. await msg1.react("🔁")
  423. msg1.awaitReactions((reaction, user) => user.id == msg.author.id && (reaction.emoji.name == '1️⃣' || reaction.emoji.name == '2️⃣' || reaction.emoji.name == "3️⃣" || reaction.emoji.name == "4️⃣" || reaction.emoji.name == "5️⃣" || reaction.emoji.name == "6️⃣" || reaction.emoji.name === "❌" || reaction.emoji.name == "🔁"),
  424. { max: 1, time: 30000 }).then(collected => {
  425. if (collected.first().emoji.name == '1️⃣') {
  426. msg.reply('Font Seted To **Geizer**');
  427. db.set(`font_${msg.guild.id}`, "Geizer")
  428. msg1.delete()
  429. }else if(collected.first().emoji.name == "2️⃣"){
  430. msg.reply("Font Seted To **A-Captain**")
  431. db.set(`font_${msg.guild.id}`, "Captain")
  432. msg1.delete()
  433. }else if(collected.first().emoji.name == "3️⃣"){
  434. msg.reply("Font Seted To **Bourbon Regular**")
  435. db.set(`font_${msg.guild.id}`, "Bourbon")
  436. msg1.delete()
  437. }else if(collected.first().emoji.name == "🔁"){
  438. msg.reply("Font Reseted")
  439. db.delete(`font_${msg.guild.id}`)
  440. msg1.delete()
  441. }
  442. else
  443. msg.reply('Operation canceled.');
  444. msg1.delete()
  445. }).catch(() => {
  446. msg.reply('No reaction after 30 seconds, operation canceled');
  447. msg.delete()
  448. });
  449. }
  450. }
  451. }
Advertisement
Add Comment
Please, Sign In to add comment