Vaerys_Dawn

Bot Stalls on loadup

Apr 16th, 2017
169
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
Java 7.30 KB | None | 0 0
  1. public class Main {
  2.  
  3.  
  4.     final static Logger logger = LoggerFactory.getLogger(Main.class);
  5.  
  6.     public static void main(String[] args) throws UnknownHostException {
  7.         System.out.println("Starting Program...");
  8.  
  9.         Runtime.getRuntime().addShutdownHook(new Thread() {
  10.             @Override
  11.             public void run() {
  12.                 logger.info(">>> Running Shutdown Process <<<");
  13.                 Globals.saveFiles();
  14.             }
  15.         });
  16.  
  17.         String token;
  18.         // you need to set a token in Token/Token.txt for the bot to run
  19.         try {
  20.             Discord4J.disableAudio();
  21.             FileHandler.createDirectory(Constants.DIRECTORY_STORAGE);
  22.             FileHandler.createDirectory(Constants.DIRECTORY_GLOBAL_IMAGES);
  23.             FileHandler.createDirectory(Constants.DIRECTORY_BACKUPS);
  24.             FileHandler.createDirectory(Constants.DIRECTORY_TEMP);
  25.             if (!Files.exists(Paths.get(Constants.FILE_CONFIG))) {
  26.                 FileHandler.writeToJson(Constants.FILE_CONFIG, new Config());
  27.             }
  28.  
  29.             //load config phase 1
  30.             Config config = (Config) FileHandler.readFromJson(Constants.FILE_CONFIG, Config.class);
  31.             config.initObject();
  32.             FileHandler.writeToJson(Constants.FILE_CONFIG, config);
  33.  
  34.             //getting bot token
  35.             try {
  36.                 token = FileHandler.readFromFile(Constants.FILE_TOKEN).get(0);
  37.             }catch (IndexOutOfBoundsException e) {
  38.                 logger.error(Constants.ERROR_INVALID_TOKEN);
  39.                 return;
  40.             }
  41.  
  42.             if (token == null) {
  43.                 logger.error(Constants.ERROR_INVALID_TOKEN);
  44.                 return;
  45.             }
  46.  
  47.             IDiscordClient client = Client.getClient(token, false);
  48.  
  49.             //load config phase 2
  50.             Globals.initConfig(client, config);
  51.  
  52.             //login + register listener.
  53.             EventDispatcher dispatcher = client.getDispatcher();
  54.             dispatcher.registerListener(new AnnotationListener());
  55.             client.login();  //<--- bot logs in here.
  56.             logger.info(client.getGuilds().size() + "");
  57.             //timed events init
  58.             new TimedEvents();
  59.  
  60.             while (!client.isReady()); //<--- bot stalls here.
  61.  
  62.             //makes sure that nothing in the config file will cause an error
  63.             Globals.validateConfig();
  64.             Globals.setVersion();
  65.         } catch (DiscordException ex) {
  66.             logger.error(ex.getErrorMessage());
  67.         } catch (RateLimitException e) {
  68.             e.printStackTrace();
  69.         }
  70.     }
  71. }
  72.  
  73. public class Client {
  74.     final static Logger logger = LoggerFactory.getLogger(Client.class);
  75.  
  76.     public static IDiscordClient getClient(String token,boolean login) throws DiscordException {
  77.         ClientBuilder clientBuilder = new ClientBuilder();
  78.         clientBuilder.withToken(token);
  79.         clientBuilder.setMaxReconnectAttempts(4000);
  80.         if(login){
  81.             logger.info("Logging in to Discord");
  82.             return clientBuilder.login();
  83.         }else{
  84.             return clientBuilder.build();
  85.         }
  86.     }
  87. }
  88.  
  89. @EventSubscriber
  90. public void onReadyEvent(ReadyEvent event) {
  91.     logger.info("yes i am firing, my userId is" + Globals.client.getOurUser().getID());
  92.     Globals.isReady = true;
  93.     event.getClient().changePlayingText(Globals.playing);
  94.     Utility.updateUsername(Globals.botName);
  95. }
  96.  
  97. //Console output.
  98. Starting Program...
  99. 22:27:54.896 [main] INFO  org.eclipse.jetty.util.log - Logging initialized @551ms to org.eclipse.jetty.util.log.Slf4jLog
  100. 22:27:54.916 [main] INFO  sx.blah.discord.Discord4J - Discord4J v2.7.1-SNAPSHOT (c9234bb0fdad505dfab5c95bd0384c136f379189-c9234bb) (https://github.com/austinv11/Discord4J)
  101. 22:27:54.918 [main] INFO  sx.blah.discord.Discord4J - A Java binding for the official Discord API, forked from the inactive https://github.com/nerd/Discord4J. Copyright (c) 2017, Licensed under GNU LGPLv3
  102. 22:27:54.919 [main] INFO  sx.blah.discord.Discord4J - Disabled audio.
  103. 22:27:55.558 [main] INFO  Main.Globals - 7 Commands Loaded.
  104. 22:27:56.210 [main] INFO  Main.Main - 0
  105.  
  106. //TraceLog
  107. Starting Program...
  108. 22:33:49.591 [main] INFO  org.eclipse.jetty.util.log - Logging initialized @415ms to org.eclipse.jetty.util.log.Slf4jLog
  109. 22:33:49.596 [main] INFO  sx.blah.discord.Discord4J - Discord4J v2.7.1-SNAPSHOT (c9234bb0fdad505dfab5c95bd0384c136f379189-c9234bb) (https://github.com/austinv11/Discord4J)
  110. 22:33:49.596 [main] INFO  sx.blah.discord.Discord4J - A Java binding for the official Discord API, forked from the inactive https://github.com/nerd/Discord4J. Copyright (c) 2017, Licensed under GNU LGPLv3
  111. 22:33:49.596 [main] INFO  sx.blah.discord.Discord4J - Disabled audio.
  112. 22:33:50.140 [main] INFO  Main.Globals - 7 Commands Loaded.
  113. 22:33:50.159 [main] TRACE sx.blah.discord.Discord4J - Registered public void Listeners.AnnotationListener.onReadyEvent(sx.blah.discord.handle.impl.events.ReadyEvent)
  114. 22:33:50.159 [main] TRACE sx.blah.discord.Discord4J - Registered public void Listeners.AnnotationListener.onMentionEvent(sx.blah.discord.handle.impl.events.guild.channel.message.MentionEvent)
  115. 22:33:50.159 [main] TRACE sx.blah.discord.Discord4J - Registered public void Listeners.AnnotationListener.onChannelUpdateEvent(sx.blah.discord.handle.impl.events.guild.channel.ChannelUpdateEvent)
  116. 22:33:50.159 [main] TRACE sx.blah.discord.Discord4J - Registered public void Listeners.AnnotationListener.onReactionAddEvent(sx.blah.discord.handle.impl.events.guild.channel.message.reaction.ReactionAddEvent)
  117. 22:33:50.159 [main] TRACE sx.blah.discord.Discord4J - Registered public void Listeners.AnnotationListener.onRoleUpdateEvent(sx.blah.discord.handle.impl.events.guild.role.RoleUpdateEvent)
  118. 22:33:50.159 [main] TRACE sx.blah.discord.Discord4J - Registered public void Listeners.AnnotationListener.onMessageDeleteEvent(sx.blah.discord.handle.impl.events.guild.channel.message.MessageDeleteEvent)
  119. 22:33:50.159 [main] TRACE sx.blah.discord.Discord4J - Registered public void Listeners.AnnotationListener.onGuildCreateEvent(sx.blah.discord.handle.impl.events.guild.GuildCreateEvent)
  120. 22:33:50.159 [main] TRACE sx.blah.discord.Discord4J - Registered public void Listeners.AnnotationListener.onMessageRecivedEvent(sx.blah.discord.handle.impl.events.guild.channel.message.MessageReceivedEvent)
  121. 22:33:50.159 [main] TRACE sx.blah.discord.Discord4J - Registered public void Listeners.AnnotationListener.onGuildLeaveEvent(sx.blah.discord.handle.impl.events.guild.GuildLeaveEvent)
  122. 22:33:50.160 [main] TRACE sx.blah.discord.Discord4J - Registered public void Listeners.AnnotationListener.onRoleDeleteEvent(sx.blah.discord.handle.impl.events.guild.role.RoleDeleteEvent)
  123. 22:33:50.160 [main] TRACE sx.blah.discord.Discord4J - Registered public void Listeners.AnnotationListener.onChannelDeleteEvent(sx.blah.discord.handle.impl.events.guild.channel.ChannelDeleteEvent)
  124. 22:33:50.792 [main] DEBUG sx.blah.discord.Discord4J - Obtained gateway wss://gateway.discord.gg?encoding=json&v=5.
  125. 22:33:50.798 [DiscordClientImpl Keep Alive] TRACE sx.blah.discord.Discord4J - DiscordClientImpl Keep Alive
  126. 22:33:50.799 [main] INFO  Main.Main - 0
  127. 22:33:50.802 [RequestBuilder Async Executor] TRACE sx.blah.discord.Discord4J - Shard logging in.
  128. 22:34:00.798 [DiscordClientImpl Keep Alive] TRACE sx.blah.discord.Discord4J - DiscordClientImpl Keep Alive
Advertisement
Add Comment
Please, Sign In to add comment