Advertisement
Guest User

Untitled

a guest
Sep 20th, 2019
89
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 2.47 KB | None | 0 0
  1. var discord = require('discord.js');
  2. var fs = require('fs');
  3. var randomColour = require('randomcolor');
  4. var Config = require('./config.json');
  5.  
  6. class Bot {
  7. constructor(){
  8. this.servers = require('./servers.json');
  9. this.discordClient = new discord.Client({sync: true});
  10.  
  11. this.discordClient.on("ready", () => {this.initialize();});
  12.  
  13. this.discordClient.on("message", (msg) => {this.processMessage(msg)});
  14.  
  15. this.discordClient.login(Config.discord_token);
  16. }
  17.  
  18. initialize() {
  19. this.log("CCsatlakozott a discordhoz.");
  20.  
  21. setInterval(() => {
  22. this.randomizeRoleColors();
  23. }, Config.randomize_delay*1000);
  24. }
  25.  
  26. processMessage(msg) {
  27. if(msg.content.startsWith(".multicolor")) {
  28. for(var role of msg.mentions.roles.array()) {
  29. msg.reply("A " + role + " nevezetü rang mostantól szinváltósra van állitva");
  30.  
  31. this.addRainbowRole(msg.guild.id, role.id);
  32. }
  33. }
  34. }
  35.  
  36. randomizeRoleColors() {
  37. for(var server in this.servers) {
  38. var liveGuild = this.discordClient.guilds.get(server);
  39.  
  40. if (!liveGuild) {
  41. this.error("Guild with ID " + server+ " no longer exists or the bot has been removed from it.");
  42. continue;
  43. }
  44.  
  45. for(var role of this.servers[server]) {
  46. var liveRole = liveGuild.roles.get(role);
  47.  
  48. liveRole.setColor(randomColour(), "Rainbowbot random role color randomizer.");
  49. }
  50. }
  51. }
  52.  
  53. addRainbowRole(guild, role) {
  54. if(this.servers[guild] == undefined) {
  55. this.servers[guild] = [];
  56. }
  57.  
  58. for(var existingRole of this.servers[guild]) {
  59. if(existingRole == role) {
  60. return "A rang hozzá lett adva";
  61. }
  62. }
  63.  
  64. this.servers[guild].push(role);
  65. this.saveServers();
  66. }
  67.  
  68. saveServers() {
  69. fs.writeFileSync("./servers.json", JSON.stringify(this.servers), "utf8");
  70. this.log("A szerver el lett mentve");
  71. }
  72.  
  73. log(message) {
  74. console.log("\x1b[32mINFO\x1b[37m - \x1b[0m" + message);
  75. }
  76.  
  77. error(message) {
  78. console.log("\x1b[31mERROR\x1b[37m - \x1b[0m" + message);
  79. }
  80. }
  81.  
  82. var instance = new Bot();
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement