Skip to content

Commit bd810f9

Browse files
authored
Add files via upload
1 parent b8d40c0 commit bd810f9

File tree

22 files changed

+1280
-0
lines changed

22 files changed

+1280
-0
lines changed

addon.iml

Lines changed: 53 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,53 @@
1+
<?xml version="1.0" encoding="UTF-8"?>
2+
<module org.jetbrains.idea.maven.project.MavenProjectsManager.isMavenModule="true" type="JAVA_MODULE" version="4">
3+
<component name="NewModuleRootManager" LANGUAGE_LEVEL="JDK_1_8">
4+
<output url="file://$MODULE_DIR$/target/classes" />
5+
<output-test url="file://$MODULE_DIR$/target/test-classes" />
6+
<content url="file://$MODULE_DIR$">
7+
<sourceFolder url="file://$MODULE_DIR$/src/main/java" isTestSource="false" />
8+
<sourceFolder url="file://$MODULE_DIR$/src/main/resources" type="java-resource" />
9+
<excludeFolder url="file://$MODULE_DIR$/target" />
10+
</content>
11+
<orderEntry type="inheritedJdk" />
12+
<orderEntry type="sourceFolder" forTests="false" />
13+
<orderEntry type="library" name="Maven: com.github.drupijs.Drupi-JS:drupi:0.0.7" level="project" />
14+
<orderEntry type="library" scope="PROVIDED" name="Maven: org.spigotmc:spigot-api:1.8.8-R0.1-SNAPSHOT" level="project" />
15+
<orderEntry type="library" scope="PROVIDED" name="Maven: commons-lang:commons-lang:2.6" level="project" />
16+
<orderEntry type="library" scope="PROVIDED" name="Maven: com.googlecode.json-simple:json-simple:1.1.1" level="project" />
17+
<orderEntry type="library" scope="PROVIDED" name="Maven: junit:junit:4.10" level="project" />
18+
<orderEntry type="library" scope="PROVIDED" name="Maven: org.hamcrest:hamcrest-core:1.1" level="project" />
19+
<orderEntry type="library" scope="PROVIDED" name="Maven: com.google.guava:guava:17.0" level="project" />
20+
<orderEntry type="library" scope="PROVIDED" name="Maven: com.google.code.gson:gson:2.2.4" level="project" />
21+
<orderEntry type="library" scope="PROVIDED" name="Maven: org.avaje:ebean:2.8.1" level="project" />
22+
<orderEntry type="library" scope="PROVIDED" name="Maven: javax.persistence:persistence-api:1.0" level="project" />
23+
<orderEntry type="library" scope="PROVIDED" name="Maven: org.yaml:snakeyaml:1.15" level="project" />
24+
<orderEntry type="library" scope="PROVIDED" name="Maven: net.md-5:bungeecord-chat:1.8-SNAPSHOT" level="project" />
25+
<orderEntry type="library" scope="PROVIDED" name="Maven: org.bukkit:bukkit:1.8.8-R0.1-SNAPSHOT" level="project" />
26+
<orderEntry type="library" name="Maven: org.json:json:20180813" level="project" />
27+
<orderEntry type="library" name="Maven: net.dv8tion:JDA:3.8.3_462" level="project" />
28+
<orderEntry type="library" name="Maven: com.google.code.findbugs:jsr305:3.0.2" level="project" />
29+
<orderEntry type="library" name="Maven: org.jetbrains:annotations:16.0.1" level="project" />
30+
<orderEntry type="library" name="Maven: org.slf4j:slf4j-api:1.7.25" level="project" />
31+
<orderEntry type="library" name="Maven: com.neovisionaries:nv-websocket-client:2.5" level="project" />
32+
<orderEntry type="library" name="Maven: com.squareup.okhttp3:okhttp:3.13.0" level="project" />
33+
<orderEntry type="library" name="Maven: com.squareup.okio:okio:1.17.2" level="project" />
34+
<orderEntry type="library" name="Maven: club.minnced:opus-java-api:1.0.4" level="project" />
35+
<orderEntry type="library" scope="RUNTIME" name="Maven: net.java.dev.jna:jna:4.4.0" level="project" />
36+
<orderEntry type="library" name="Maven: club.minnced:opus-java-natives:1.0.4" level="project" />
37+
<orderEntry type="library" scope="RUNTIME" name="Maven: org.apache.commons:commons-collections4:4.1" level="project" />
38+
<orderEntry type="library" scope="RUNTIME" name="Maven: net.sf.trove4j:trove4j:3.0.3" level="project" />
39+
<orderEntry type="library" name="Maven: com.sedmelluq:lavaplayer:1.3.13" level="project" />
40+
<orderEntry type="library" name="Maven: com.sedmelluq:lava-common:1.1.0" level="project" />
41+
<orderEntry type="library" name="Maven: com.sedmelluq:lavaplayer-natives:1.3.13" level="project" />
42+
<orderEntry type="library" name="Maven: org.apache.httpcomponents:httpclient:4.5.6" level="project" />
43+
<orderEntry type="library" name="Maven: org.apache.httpcomponents:httpcore:4.4.10" level="project" />
44+
<orderEntry type="library" name="Maven: commons-logging:commons-logging:1.2" level="project" />
45+
<orderEntry type="library" name="Maven: commons-codec:commons-codec:1.10" level="project" />
46+
<orderEntry type="library" name="Maven: commons-io:commons-io:2.6" level="project" />
47+
<orderEntry type="library" name="Maven: com.fasterxml.jackson.core:jackson-core:2.9.8" level="project" />
48+
<orderEntry type="library" name="Maven: com.fasterxml.jackson.core:jackson-databind:2.9.8" level="project" />
49+
<orderEntry type="library" name="Maven: com.fasterxml.jackson.core:jackson-annotations:2.9.0" level="project" />
50+
<orderEntry type="library" name="Maven: org.jsoup:jsoup:1.11.3" level="project" />
51+
<orderEntry type="library" name="Maven: net.iharder:base64:2.3.9" level="project" />
52+
</component>
53+
</module>

dependency-reduced-pom.xml

Lines changed: 113 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,113 @@
1+
<?xml version="1.0" encoding="UTF-8"?>
2+
<project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/maven-v4_0_0.xsd">
3+
<modelVersion>4.0.0</modelVersion>
4+
<groupId>drupi.xyz</groupId>
5+
<artifactId>addon</artifactId>
6+
<version>1.0-SNAPSHOT</version>
7+
<build>
8+
<plugins>
9+
<plugin>
10+
<artifactId>maven-shade-plugin</artifactId>
11+
<version>3.1.0</version>
12+
<executions>
13+
<execution>
14+
<phase>package</phase>
15+
<goals>
16+
<goal>shade</goal>
17+
</goals>
18+
</execution>
19+
</executions>
20+
</plugin>
21+
</plugins>
22+
</build>
23+
<repositories>
24+
<repository>
25+
<id>spigot-repo</id>
26+
<url>https://hub.spigotmc.org/nexus/content/repositories/snapshots/</url>
27+
</repository>
28+
<repository>
29+
<id>jitpack.io</id>
30+
<url>https://jitpack.io</url>
31+
</repository>
32+
<repository>
33+
<id>jcenter</id>
34+
<name>jcenter-bintray</name>
35+
<url>http://jcenter.bintray.com</url>
36+
</repository>
37+
</repositories>
38+
<dependencies>
39+
<dependency>
40+
<groupId>org.spigotmc</groupId>
41+
<artifactId>spigot-api</artifactId>
42+
<version>1.8.8-R0.1-SNAPSHOT</version>
43+
<scope>provided</scope>
44+
<exclusions>
45+
<exclusion>
46+
<artifactId>commons-lang</artifactId>
47+
<groupId>commons-lang</groupId>
48+
</exclusion>
49+
<exclusion>
50+
<artifactId>json-simple</artifactId>
51+
<groupId>com.googlecode.json-simple</groupId>
52+
</exclusion>
53+
<exclusion>
54+
<artifactId>guava</artifactId>
55+
<groupId>com.google.guava</groupId>
56+
</exclusion>
57+
<exclusion>
58+
<artifactId>gson</artifactId>
59+
<groupId>com.google.code.gson</groupId>
60+
</exclusion>
61+
<exclusion>
62+
<artifactId>ebean</artifactId>
63+
<groupId>org.avaje</groupId>
64+
</exclusion>
65+
<exclusion>
66+
<artifactId>snakeyaml</artifactId>
67+
<groupId>org.yaml</groupId>
68+
</exclusion>
69+
<exclusion>
70+
<artifactId>bungeecord-chat</artifactId>
71+
<groupId>net.md-5</groupId>
72+
</exclusion>
73+
</exclusions>
74+
</dependency>
75+
<dependency>
76+
<groupId>org.bukkit</groupId>
77+
<artifactId>bukkit</artifactId>
78+
<version>1.8.8-R0.1-SNAPSHOT</version>
79+
<scope>provided</scope>
80+
<exclusions>
81+
<exclusion>
82+
<artifactId>commons-lang</artifactId>
83+
<groupId>commons-lang</groupId>
84+
</exclusion>
85+
<exclusion>
86+
<artifactId>json-simple</artifactId>
87+
<groupId>com.googlecode.json-simple</groupId>
88+
</exclusion>
89+
<exclusion>
90+
<artifactId>guava</artifactId>
91+
<groupId>com.google.guava</groupId>
92+
</exclusion>
93+
<exclusion>
94+
<artifactId>gson</artifactId>
95+
<groupId>com.google.code.gson</groupId>
96+
</exclusion>
97+
<exclusion>
98+
<artifactId>ebean</artifactId>
99+
<groupId>org.avaje</groupId>
100+
</exclusion>
101+
<exclusion>
102+
<artifactId>snakeyaml</artifactId>
103+
<groupId>org.yaml</groupId>
104+
</exclusion>
105+
</exclusions>
106+
</dependency>
107+
</dependencies>
108+
<properties>
109+
<maven.compiler.target>1.8</maven.compiler.target>
110+
<maven.compiler.source>1.8</maven.compiler.source>
111+
</properties>
112+
</project>
113+

pom.xml

Lines changed: 84 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,84 @@
1+
<?xml version="1.0" encoding="UTF-8"?>
2+
<project xmlns="http://maven.apache.org/POM/4.0.0"
3+
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
4+
xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd">
5+
<modelVersion>4.0.0</modelVersion>
6+
7+
<groupId>drupi.xyz</groupId>
8+
<artifactId>addon</artifactId>
9+
<version>1.0-SNAPSHOT</version>
10+
<properties>
11+
<maven.compiler.source>1.8</maven.compiler.source>
12+
<maven.compiler.target>1.8</maven.compiler.target>
13+
</properties>
14+
15+
<repositories>
16+
<repository>
17+
<id>spigot-repo</id>
18+
<url>https://hub.spigotmc.org/nexus/content/repositories/snapshots/</url>
19+
</repository>
20+
<repository>
21+
<id>jitpack.io</id>
22+
<url>https://jitpack.io</url>
23+
</repository>
24+
<repository>
25+
<id>jcenter</id>
26+
<name>jcenter-bintray</name>
27+
<url>http://jcenter.bintray.com</url>
28+
</repository>
29+
</repositories>
30+
<dependencies>
31+
<!-- Drupi API Start -->
32+
<dependency>
33+
<groupId>com.github.drupijs.Drupi-JS</groupId>
34+
<artifactId>drupi</artifactId>
35+
<version>LATEST</version>
36+
</dependency>
37+
<!-- Drupi API End -->
38+
<dependency>
39+
<groupId>org.spigotmc</groupId>
40+
<artifactId>spigot-api</artifactId>
41+
<version>1.8.8-R0.1-SNAPSHOT</version>
42+
<type>jar</type>
43+
<scope>provided</scope>
44+
</dependency>
45+
<dependency>
46+
<groupId>org.bukkit</groupId>
47+
<artifactId>bukkit</artifactId>
48+
<version>1.8.8-R0.1-SNAPSHOT</version>
49+
<scope>provided</scope>
50+
</dependency>
51+
<dependency>
52+
<groupId>org.json</groupId>
53+
<artifactId>json</artifactId>
54+
<version>20180813</version>
55+
</dependency>
56+
<dependency>
57+
<groupId>net.dv8tion</groupId>
58+
<artifactId>JDA</artifactId>
59+
<version>3.8.3_462</version>
60+
</dependency>
61+
<dependency>
62+
<groupId>com.sedmelluq</groupId>
63+
<artifactId>lavaplayer</artifactId>
64+
<version>1.3.13</version>
65+
</dependency>
66+
</dependencies>
67+
<build>
68+
<plugins>
69+
<plugin>
70+
<groupId>org.apache.maven.plugins</groupId>
71+
<artifactId>maven-shade-plugin</artifactId>
72+
<version>3.1.0</version>
73+
<executions>
74+
<execution>
75+
<phase>package</phase>
76+
<goals>
77+
<goal>shade</goal>
78+
</goals>
79+
</execution>
80+
</executions>
81+
</plugin>
82+
</plugins>
83+
</build>
84+
</project>
Lines changed: 69 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,69 @@
1+
package hundeklemmen.addon.discord.bot;
2+
3+
import hundeklemmen.addon.discord.bot.events.basic;
4+
import hundeklemmen.addon.discord.bot.events.channel.text;
5+
import hundeklemmen.addon.discord.bot.events.channel.voice;
6+
import hundeklemmen.addon.discord.bot.events.guild.guild;
7+
import hundeklemmen.addon.discord.bot.events.message.priv;
8+
import hundeklemmen.addon.discord.bot.events.message.react;
9+
import hundeklemmen.addon.discord.bot.events.user.user;
10+
import hundeklemmen.addon.discord.bot.music.PlayerManager;
11+
import hundeklemmen.addon.main;
12+
import net.dv8tion.jda.core.AccountType;
13+
import net.dv8tion.jda.core.JDA;
14+
import net.dv8tion.jda.core.JDABuilder;
15+
import net.dv8tion.jda.core.entities.Game;
16+
17+
import javax.security.auth.login.LoginException;
18+
19+
public class bot {
20+
21+
private main plugin;
22+
23+
public bot(main plugin){
24+
this.plugin = plugin;
25+
}
26+
27+
public JDA create(String name, String token){
28+
if(main.discordBots.containsKey(name)){
29+
return main.discordBots.get(name);
30+
} else {
31+
try {
32+
JDA client = new JDABuilder(AccountType.BOT).setToken(token)
33+
.addEventListener(new text(name))
34+
.addEventListener(new voice(name))
35+
.addEventListener(new guild(name))
36+
.addEventListener(new hundeklemmen.addon.discord.bot.events.guild.voice(name))
37+
.addEventListener(new hundeklemmen.addon.discord.bot.events.message.guild(name))
38+
.addEventListener(new hundeklemmen.addon.discord.bot.events.message.main(name))
39+
.addEventListener(new priv(name))
40+
.addEventListener(new react(name))
41+
.addEventListener(new user(name))
42+
.addEventListener(new basic(name))
43+
.build().awaitReady();
44+
main.discordBots.put(name, client);
45+
return client;
46+
} catch (LoginException | InterruptedException e) {
47+
e.printStackTrace();
48+
}
49+
}
50+
return null;
51+
}
52+
53+
public PlayerManager getPlayerManager(){
54+
return PlayerManager.getInstance();
55+
}
56+
57+
public Game listening(String text){
58+
return Game.listening(text);
59+
}
60+
public Game playing(String text){
61+
return Game.playing(text);
62+
}
63+
public Game streaming(String text, String url){
64+
return Game.streaming(text, url);
65+
}
66+
public Game watching(String text){
67+
return Game.watching(text);
68+
}
69+
}
Lines changed: 48 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,48 @@
1+
package hundeklemmen.addon.discord.bot.events;
2+
3+
import hundeklemmen.addon.main;
4+
import net.dv8tion.jda.core.events.DisconnectEvent;
5+
import net.dv8tion.jda.core.events.ReadyEvent;
6+
import net.dv8tion.jda.core.events.ShutdownEvent;
7+
import net.dv8tion.jda.core.hooks.ListenerAdapter;
8+
9+
import javax.script.Invocable;
10+
11+
public class basic extends ListenerAdapter {
12+
13+
private String botName;
14+
15+
public basic(String name){
16+
this.botName = name;
17+
}
18+
19+
@Override
20+
public void onReady(ReadyEvent event){
21+
callMessageEvent(event, event.getClass().getSimpleName());
22+
}
23+
24+
25+
@Override
26+
public void onDisconnect(DisconnectEvent event){
27+
callMessageEvent(event, event.getClass().getSimpleName());
28+
}
29+
30+
@Override
31+
public void onShutdown(ShutdownEvent event){
32+
callMessageEvent(event, event.getClass().getSimpleName());
33+
}
34+
35+
public void callMessageEvent(Object event, String functionName){
36+
functionName = "discord_"+botName+"_" + functionName;
37+
if (hundeklemmen.main.engine.get(functionName) == null) {
38+
return;
39+
}
40+
try {
41+
((Invocable) hundeklemmen.main.engine).invokeFunction(functionName, event);
42+
} catch (final Exception se) {
43+
hundeklemmen.main.instance.getLogger().warning("Error while calling " + functionName);
44+
se.printStackTrace();
45+
}
46+
}
47+
48+
}

0 commit comments

Comments
 (0)