Skip to content

Commit 1db73e6

Browse files
author
EazyFTW
committed
Clean up, ServerLogs, and Banner Module.
1 parent 96b9eb2 commit 1db73e6

File tree

4 files changed

+136
-12
lines changed

4 files changed

+136
-12
lines changed
Lines changed: 38 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,38 @@
1+
package me.TechsCode.TechDiscordBot.logs;
2+
3+
import me.TechsCode.TechDiscordBot.TechDiscordBot;
4+
import me.TechsCode.TechDiscordBot.util.TechEmbedBuilder;
5+
6+
import java.awt.*;
7+
8+
public class ServerLogs {
9+
10+
private static final long CHANNEL_ID = 761382066633572373L;
11+
12+
public static boolean log(String msg) {
13+
return sendChannel("Log", msg, null);
14+
}
15+
16+
17+
public static boolean error(String error) {
18+
return sendChannel("Error", error, new Color(178,34,34));
19+
}
20+
21+
private static boolean sendChannel(String title, String msg, Color color) {
22+
try {
23+
TechDiscordBot
24+
.getJDA()
25+
.getTextChannelById(CHANNEL_ID)
26+
.sendMessage(
27+
new TechEmbedBuilder(title)
28+
.setText(msg)
29+
.setColor(color)
30+
.build()
31+
).queue();
32+
33+
return true;
34+
} catch (Exception ex) {
35+
return false;
36+
}
37+
}
38+
}
Lines changed: 62 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,62 @@
1+
package me.TechsCode.TechDiscordBot.module.modules;
2+
3+
import me.TechsCode.TechDiscordBot.TechDiscordBot;
4+
import me.TechsCode.TechDiscordBot.logs.ServerLogs;
5+
import me.TechsCode.TechDiscordBot.module.Module;
6+
import me.TechsCode.TechDiscordBot.objects.Requirement;
7+
import me.TechsCode.TechDiscordBot.util.Plugin;
8+
import net.dv8tion.jda.api.entities.Icon;
9+
10+
import java.util.Objects;
11+
import java.util.concurrent.TimeUnit;
12+
13+
public class BannerModule extends Module {
14+
15+
private Plugin[] plugins = Plugin.values();
16+
private int current = 0;
17+
18+
public BannerModule(TechDiscordBot bot) {
19+
super(bot);
20+
}
21+
22+
@Override
23+
public void onEnable() {
24+
new Thread(() -> {
25+
while(true) {
26+
updateBanner();
27+
28+
try {
29+
Thread.sleep(TimeUnit.MINUTES.toMillis(5L));
30+
} catch (InterruptedException e) {
31+
e.printStackTrace();
32+
}
33+
}
34+
}).start();
35+
}
36+
37+
public void updateBanner() {
38+
try {
39+
TechDiscordBot.getGuild().getManager().setBanner(Icon.from(Objects.requireNonNull(plugins[current].getBannerAsFile()))).queue();
40+
41+
current++;
42+
if(current >= plugins.length) current = 0;
43+
} catch (Exception ex) {
44+
ServerLogs.log(ex.getMessage());
45+
}
46+
}
47+
48+
@Override
49+
public void onDisable() {
50+
51+
}
52+
53+
@Override
54+
public String getName() {
55+
return "Banner";
56+
}
57+
58+
@Override
59+
public Requirement[] getRequirements() {
60+
return new Requirement[0];
61+
}
62+
}

src/main/java/me/TechsCode/TechDiscordBot/util/Plugin.java

Lines changed: 34 additions & 12 deletions
Original file line numberDiff line numberDiff line change
@@ -7,31 +7,35 @@
77
import me.TechsCode.TechDiscordBot.mysql.storage.Verification;
88
import net.dv8tion.jda.api.entities.*;
99

10+
import javax.imageio.ImageIO;
1011
import java.awt.*;
11-
import java.util.*;
12+
import java.awt.image.BufferedImage;
13+
import java.io.File;
14+
import java.io.IOException;
15+
import java.net.URL;
1216
import java.util.List;
17+
import java.util.*;
1318
import java.util.stream.Collectors;
1419

1520
public enum Plugin {
1621

17-
ULTRA_PERMISSIONS("Ultra Permissions","42678", "416194311080771596", "330053303050436608", new Color(0,235,229), "UltraPermissions", "https://ultrapermissions.com/wiki", "https://www.spigotmc.org/data/resource_icons/42/42678.jpg?75455775"),
18-
ULTRA_CUSTOMIZER("Ultra Customizer", "49330", "416194287567372298", "380133603683860480", new Color(184, 103, 243), "UltraCustomizer", "https://ultracustomizer.com/wiki", "https://www.spigotmc.org/data/resource_icons/49/49330.jpg?575757457475"),
19-
ULTRA_REGIONS("Ultra Regions", "58317", "465975554101739520", "465975795433734155", new Color(57, 135, 153), "UltraRegions", "https://ultraregions.com/wiki", "https://www.spigotmc.org/data/resource_icons/58/58317.jpg?5775757457"),
20-
ULTRA_PUNISHMENTS("Ultra Punishments", "63511", "531255363505487872", "531251918291599401", new Color(247, 119, 39), "UltraPunishments", "https://ultrapunishments.com/wiki", "https://www.spigotmc.org/data/resource_icons/63/63511.jpg?1597561836"),
21-
INSANE_SHOPS("Insane Shops", "67352", "531255363505487872", "576813543698202624", new Color(114, 185, 77), "InsaneShops", "https://insaneshops.com/wiki", "https://www.spigotmc.org/data/resource_icons/67/67352.jpg?1597561788"),
22-
ULTRA_ECONOMY("Ultra Economy", "83374", "749034791936196649", "737773631198986240", new Color(255, 198, 10), "UltraEconomy", "https://ultraeconomy.com/wiki", "https://www.spigotmc.org/data/resource_icons/83/83374.jpg?1598896895");
22+
ULTRA_PERMISSIONS("Ultra Permissions","42678", "416194311080771596", "330053303050436608", new Color(0,235,229), "UltraPermissions", "https://www.spigotmc.org/data/resource_icons/42/42678.jpg?75455775"),
23+
ULTRA_CUSTOMIZER("Ultra Customizer", "49330", "416194287567372298", "380133603683860480", new Color(184, 103, 243), "UltraCustomizer", "https://www.spigotmc.org/data/resource_icons/49/49330.jpg?575757457475"),
24+
ULTRA_REGIONS("Ultra Regions", "58317", "465975554101739520", "465975795433734155", new Color(57, 135, 153), "UltraRegions", "https://www.spigotmc.org/data/resource_icons/58/58317.jpg?5775757457"),
25+
ULTRA_PUNISHMENTS("Ultra Punishments", "63511", "531255363505487872", "531251918291599401", new Color(247, 119, 39), "UltraPunishments", "https://www.spigotmc.org/data/resource_icons/63/63511.jpg?1597561836"),
26+
INSANE_SHOPS("Insane Shops", "67352", "531255363505487872", "576813543698202624", new Color(114, 185, 77), "InsaneShops", "https://www.spigotmc.org/data/resource_icons/67/67352.jpg?1597561788"),
27+
ULTRA_ECONOMY("Ultra Economy", "83374", "749034791936196649", "737773631198986240", new Color(255, 198, 10), "UltraEconomy", "https://www.spigotmc.org/data/resource_icons/83/83374.jpg?1598896895");
2328

24-
private final String resourceId, channelId, roleName, roleId, emojiName, wiki, logo;
29+
private final String resourceId, channelId, roleName, roleId, emojiName, logo;
2530
private final Color color;
2631

27-
Plugin(String roleName, String resourceId, String roleId, String channelId, Color color, String emojiName, String wiki, String logo) {
32+
Plugin(String roleName, String resourceId, String roleId, String channelId, Color color, String emojiName, String logo) {
2833
this.roleName = roleName;
2934
this.resourceId = resourceId;
3035
this.channelId = channelId;
3136
this.roleId = roleId;
3237
this.color = color;
3338
this.emojiName = emojiName;
34-
this.wiki = wiki;
3539
this.logo = logo;
3640
}
3741

@@ -80,11 +84,29 @@ public String getRoleName() {
8084
}
8185

8286
public String getWiki() {
83-
return wiki;
87+
return "https://" + getRoleName().toLowerCase() + "/wiki";
8488
}
8589

8690
public boolean hasWiki() {
87-
return !wiki.isEmpty();
91+
return true;
92+
}
93+
94+
public String getBanner() {
95+
return "https://" + getRoleName().toLowerCase() + "/banner.png";
96+
}
97+
98+
public File getBannerAsFile() {
99+
try {
100+
BufferedImage image = ImageIO.read(new URL(getBanner()));
101+
File file = new File(getRoleName().toLowerCase() + "_banner.png");
102+
103+
ImageIO.write(image, "png", file);
104+
return file;
105+
} catch (IOException e) {
106+
e.printStackTrace();
107+
}
108+
109+
return null;
88110
}
89111

90112
public Resource getResource() {

src/main/java/me/TechsCode/TechDiscordBot/util/TechEmbedBuilder.java

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -100,6 +100,8 @@ public TechEmbedBuilder setThumbnail(String url) {
100100

101101
@Override
102102
public TechEmbedBuilder setColor(Color color) {
103+
if(color == null) return this;
104+
103105
super.setColor(color);
104106
return this;
105107
}

0 commit comments

Comments
 (0)