Advertisement
Guest User

Untitled

a guest
May 25th, 2019
102
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 2.25 KB | None | 0 0
  1. package com.azortis.snyprbot;
  2.  
  3. import com.google.gson.Gson;
  4. import com.google.gson.stream.JsonReader;
  5. import discord4j.core.DiscordClient;
  6. import discord4j.core.DiscordClientBuilder;
  7. import discord4j.core.event.domain.lifecycle.ReadyEvent;
  8. import discord4j.core.object.entity.Channel;
  9. import discord4j.core.object.util.Snowflake;
  10. import reactor.core.publisher.Mono;
  11.  
  12. import java.io.*;
  13.  
  14. public final class SnyprBot {
  15.  
  16. private static DiscordClient client;
  17. private static Config config;
  18. private static String directory;
  19.  
  20. public static void main(String[] args)throws Exception{
  21. directory = new File(SnyprBot.class.getProtectionDomain().getCodeSource().getLocation().toURI()).getParent();
  22. directory = directory.replace("%20", " ");
  23. System.out.println(directory);
  24. loadConfig();
  25. client = new DiscordClientBuilder(config.getToken()).build();
  26. client.getEventDispatcher().on(ReadyEvent.class).subscribe(readyEvent -> {
  27. Mono<Channel> botLogChannel = client.getChannelById(Snowflake.of(config.getBotLogChannelID()));
  28. });
  29. client.login().block();
  30. }
  31.  
  32. private static void loadConfig(){
  33. File configFile = new File(directory, "config.json");
  34. if(!configFile.exists())copy(SnyprBot.class.getClassLoader().getResourceAsStream("config.json"), configFile);
  35. try{
  36. Gson gson = new Gson();
  37. JsonReader reader = new JsonReader(new FileReader(configFile));
  38. config = gson.fromJson(reader, Config.class);
  39. }catch (IOException e){
  40. e.printStackTrace();
  41. }
  42. }
  43.  
  44. private static void copy(InputStream in, File file) {
  45. try {
  46. OutputStream out = new FileOutputStream(file);
  47. byte[] buf = new byte[1024];
  48. int len;
  49. while((len=in.read(buf))>0){
  50. out.write(buf,0,len);
  51. }
  52. out.close();
  53. in.close();
  54. } catch (Exception e) {
  55. e.printStackTrace();
  56. }
  57. }
  58.  
  59. public static DiscordClient getClient() { return client; }
  60.  
  61. public static Config getConfig(){
  62. return config;
  63. }
  64.  
  65. public static String getDirectory(){
  66. return directory;
  67. }
  68.  
  69. }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement