Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- package com.azortis.snyprbot;
- import com.google.gson.Gson;
- import com.google.gson.stream.JsonReader;
- import discord4j.core.DiscordClient;
- import discord4j.core.DiscordClientBuilder;
- import discord4j.core.event.domain.lifecycle.ReadyEvent;
- import discord4j.core.object.entity.Channel;
- import discord4j.core.object.util.Snowflake;
- import reactor.core.publisher.Mono;
- import java.io.*;
- public final class SnyprBot {
- private static DiscordClient client;
- private static Config config;
- private static String directory;
- public static void main(String[] args)throws Exception{
- directory = new File(SnyprBot.class.getProtectionDomain().getCodeSource().getLocation().toURI()).getParent();
- directory = directory.replace("%20", " ");
- System.out.println(directory);
- loadConfig();
- client = new DiscordClientBuilder(config.getToken()).build();
- client.getEventDispatcher().on(ReadyEvent.class).subscribe(readyEvent -> {
- Mono<Channel> botLogChannel = client.getChannelById(Snowflake.of(config.getBotLogChannelID()));
- });
- client.login().block();
- }
- private static void loadConfig(){
- File configFile = new File(directory, "config.json");
- if(!configFile.exists())copy(SnyprBot.class.getClassLoader().getResourceAsStream("config.json"), configFile);
- try{
- Gson gson = new Gson();
- JsonReader reader = new JsonReader(new FileReader(configFile));
- config = gson.fromJson(reader, Config.class);
- }catch (IOException e){
- e.printStackTrace();
- }
- }
- private static void copy(InputStream in, File file) {
- try {
- OutputStream out = new FileOutputStream(file);
- byte[] buf = new byte[1024];
- int len;
- while((len=in.read(buf))>0){
- out.write(buf,0,len);
- }
- out.close();
- in.close();
- } catch (Exception e) {
- e.printStackTrace();
- }
- }
- public static DiscordClient getClient() { return client; }
- public static Config getConfig(){
- return config;
- }
- public static String getDirectory(){
- return directory;
- }
- }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement