Added Functionality

This commit is contained in:
Chris's Razer Blade 2021-04-19 11:16:27 -04:00
parent 84d1d3b89a
commit 699a2b4029
15 changed files with 176 additions and 85 deletions

View File

@ -1,2 +1,2 @@
#Tue Apr 13 20:12:38 EDT 2021
gradle.version=6.7
#Fri Apr 16 19:17:36 EDT 2021
gradle.version=7.0

Binary file not shown.

Binary file not shown.

Binary file not shown.

View File

@ -6,9 +6,9 @@
<GradleProjectSettings>
<option name="delegatedBuild" value="true" />
<option name="testRunner" value="GRADLE" />
<option name="distributionType" value="DEFAULT_WRAPPED" />
<option name="distributionType" value="LOCAL" />
<option name="externalProjectPath" value="$PROJECT_DIR$" />
<option name="gradleJvm" value="14 (2)" />
<option name="gradleJvm" value="14" />
<option name="modules">
<set>
<option value="$PROJECT_DIR$" />

View File

@ -7,7 +7,7 @@
<component name="FrameworkDetectionExcludesConfiguration">
<file type="web" url="file://$PROJECT_DIR$" />
</component>
<component name="ProjectRootManager" version="2" languageLevel="JDK_14" project-jdk-name="corretto-11" project-jdk-type="JavaSDK">
<component name="ProjectRootManager" version="2" languageLevel="JDK_14" project-jdk-name="14" project-jdk-type="JavaSDK">
<output url="file://$PROJECT_DIR$/out" />
</component>
</project>

Binary file not shown.

View File

@ -1,6 +1,8 @@
Main.java
Main
MusicBot.java
MusicBot
Constants.java
Constants
ServerMHl/WOL.java
ServerMHl.WOL
MusicBot.java
MusicBot
Main.java
Main

View File

@ -1,7 +1,7 @@
public class Constants {
public static final boolean TESTING_MODE = true;
// public static final boolean TESTING_MODE = true; /old and deprecated
public static final char ACTIVATOR = '`';
public static String TOKEN = "NzAwMzMxOTgxMjYyODE1MjQy.XphY-w.p51VEReWdh-kvlCNtWmvvFA_aBA";
public static final String TOKEN = "NzAwMzMxOTgxMjYyODE1MjQy.XphY-w.p51VEReWdh-kvlCNtWmvvFA_aBA";

View File

@ -1,4 +1,4 @@
import net.dv8tion.jda.api.AccountType;
import ServerMHl.WOL;
import net.dv8tion.jda.api.JDABuilder;
import net.dv8tion.jda.api.entities.Activity;
import net.dv8tion.jda.api.entities.Message;
@ -8,13 +8,15 @@ import net.dv8tion.jda.api.hooks.ListenerAdapter;
import net.dv8tion.jda.api.requests.GatewayIntent;
import javax.security.auth.login.LoginException;
import java.util.Scanner;
public class Main extends ListenerAdapter {
//Constructor
public static boolean islogEnabled = false; //default state
public static boolean testingMode = true;
public static void main(String[] args) throws LoginException {
JDABuilder builder = new JDABuilder(AccountType.BOT);
//JDABuilder builder = new JDABuilder(AccountType.BOT);
JDABuilder.createLight(Constants.TOKEN, GatewayIntent.GUILD_MESSAGES, GatewayIntent.DIRECT_MESSAGES)
.addEventListeners(new Main())
.setActivity(Activity.playing(getIsTestingMode()))
@ -43,96 +45,124 @@ public static boolean islogEnabled = false; //default state
@Override
public void onMessageReceived(MessageReceivedEvent event) {
Message msg = event.getMessage();
if(islogEnabled) { //enables / disables terminal output
if (islogEnabled) { //enables / disables terminal output
System.out.println("Message Received from " + event.getAuthor().getName() + " with the message: " + msg);
}
String content = msg.getContentRaw();
System.out.println(content);
MessageChannel channel = event.getChannel();
switch (content) {
case (Constants.ACTIVATOR + "test"): {
channel.sendMessage("Test Recieved!").queue();
}break;
case(Constants.ACTIVATOR + "cum"): {
channel.sendMessage("WELCOME TO THE CUM ZONE!").queue();
} break;
case (Constants.ACTIVATOR + "pingTime"): {
long time = System.currentTimeMillis();
channel.sendMessage("Pong!") /* => RestAction<Message> */
.queue(response /* => Message */ -> {
response.editMessageFormat("Pong: %d ms", System.currentTimeMillis() - time).queue();
});
}break;
case (Constants.ACTIVATOR + "c"): {
long time = System.currentTimeMillis();
channel.sendMessage("Pong!") /* => RestAction<Message> */
.queue(response /* => Message */ -> {
response.editMessageFormat("Pong: %d ms", System.currentTimeMillis() - time).queue();
});
}break;
case (Constants.ACTIVATOR + "u"): {
long time = System.currentTimeMillis();
channel.sendMessage("Pong!") /* => RestAction<Message> */
.queue(response /* => Message */ -> {
response.editMessageFormat("Pong: %d ms", System.currentTimeMillis() - time).queue();
});
}break;
case (Constants.ACTIVATOR + "m"): {
long time = System.currentTimeMillis();
channel.sendMessage("Pong!") /* => RestAction<Message> */
.queue(response /* => Message */ -> {
response.editMessageFormat("Pong: %d ms", System.currentTimeMillis() - time).queue();
});
}break;
case(Constants.ACTIVATOR + "disableLog"): {
if(!islogEnabled) //checks if logging is already disabled
channel.sendMessage("Logging is already Disabled").queue();
else {
islogEnabled = false;
channel.sendMessage("Logging is now Disabled").queue();
if (!event.getAuthor().getName().equals("CPEServerNotification")) {
switch (content) {
case (Constants.ACTIVATOR + "test"): {
channel.sendMessage("Test Received!").queue();
}
}break;
break;
case(Constants.ACTIVATOR + "enableLog"): {
if(islogEnabled) //checks if logging is already enabled
channel.sendMessage("Logging is already Enabled").queue();
else {
islogEnabled = true;
channel.sendMessage("Logging is now Enabled").queue();
case (Constants.ACTIVATOR + "cum"): {
channel.sendMessage("WELCOME TO THE CUM ZONE!").queue();
}
}break;
case(Constants.ACTIVATOR + "sudo killBot"): { //currently not working
System.out.println(event.getAuthor());// debug print
if(event.getAuthor().equals("ChrisPro Elite")){
channel.sendMessage("stopping bot").queue();
System.exit(0);
break;
case (Constants.ACTIVATOR + "pingTime"): {
long time = System.currentTimeMillis();
channel.sendMessage("Pong!") /* => RestAction<Message> */
.queue(response /* => Message */ -> {
response.editMessageFormat("Pong: %d ms", System.currentTimeMillis() - time).queue();
});
}
else{
channel.sendMessage("You are not Authorised to use sudo commands").queue();
break;
case (Constants.ACTIVATOR + "c"): {
WOL.wol("192.168.1.77", "90:B1:1C:26:23:34");
}
break;
case (Constants.ACTIVATOR + "penis"): {
channel.sendMessage("why did you cock block me?").queue();
}
break;
case (Constants.ACTIVATOR + "CUMMEY"): {
while(true){
channel.sendMessage("CUM ZONE").queue();
}
}
case (Constants.ACTIVATOR + "disableLog"): {
if (!islogEnabled) //checks if logging is already disabled
channel.sendMessage("Logging is already Disabled").queue();
else {
islogEnabled = false;
channel.sendMessage("Logging is now Disabled").queue();
}
}
break;
case (Constants.ACTIVATOR + "enableLog"): {
if (islogEnabled) //checks if logging is already enabled
channel.sendMessage("Logging is already Enabled").queue();
else {
islogEnabled = true;
channel.sendMessage("Logging is now Enabled").queue();
}
}
break;
case (Constants.ACTIVATOR + "enableTestingMode"): {
if (testingMode) //checks if logging is already enabled
channel.sendMessage("Testing Mode is already Enabled").queue();
else {
testingMode = true;
channel.sendMessage("Testing Mode is now Enabled").queue();
}
}
break;
case (Constants.ACTIVATOR + "disableTestingMode"): {
if (!testingMode) //checks if logging is already enabled
channel.sendMessage("Testing Mode is already disabled").queue();
else {
testingMode = false;
channel.sendMessage("Testing Mode is now disabled").queue();
}
}
break;
case (Constants.ACTIVATOR + "sudo killBot"): { //currently not working
System.out.println(event.getAuthor());// debug print
if (event.getAuthor().getName().equals("ChrisPro Elite")) {
channel.sendMessage("stopping bot").queue();
System.exit(0);
} else {
channel.sendMessage("You are not Authorised to use sudo commands").queue();
}
}
case(Constants.ACTIVATOR + "debug mode"):{
System.out.println(event.getChannel().getId());
}
default: { //broken
channel.sendMessage("Unknown Command").queue();
}
}
}
}
public static String getIsTestingMode(){
if(Constants.TESTING_MODE)
if(testingMode)
return "TESTING MODE";
else if(!Constants.TESTING_MODE)
return (Constants.ACTIVATOR + "to activate bot");
else
return "ERROR in Code";
else return (" ' " + Constants.ACTIVATOR +" ' to activate bot");
}
public static String consoleIn() {
Scanner scanner = new Scanner(System.in);
return scanner.nextLine();
}
//this shit doesnt work
// public static void sendMessageOnSameChannel(MessageReceivedEvent event, String message){
// MessageChannel channel = event.getChannel();

View File

@ -0,0 +1,59 @@
package ServerMHl;
import java.net.DatagramPacket;
import java.net.DatagramSocket;
import java.net.InetAddress;
public class WOL {
public static final int PORT = 9;
public static void wol(String ipStr, String macStr) {
try {
byte[] macBytes = getMacBytes(macStr);
byte[] bytes = new byte[6 + 16 * macBytes.length];
for (int i = 0; i < 6; i++) {
bytes[i] = (byte) 0xff;
}
for (int i = 6; i < bytes.length; i += macBytes.length) {
System.arraycopy(macBytes, 0, bytes, i, macBytes.length);
}
InetAddress address = InetAddress.getByName(ipStr);
DatagramPacket packet = new DatagramPacket(bytes, bytes.length, address, PORT);
DatagramSocket socket = new DatagramSocket();
socket.send(packet);
socket.close();
System.out.println("Wake-on-LAN packet sent.");
}
catch (Exception e) {
System.out.println("Failed to send Wake-on-LAN packet: + e");
}
}
private static byte[] getMacBytes(String macStr) throws IllegalArgumentException {
byte[] bytes = new byte[6];
String[] hex = macStr.split("(\\:|\\-)");
if (hex.length != 6) {
throw new IllegalArgumentException("Invalid MAC address.");
}
try {
for (int i = 0; i < 6; i++) {
bytes[i] = (byte) Integer.parseInt(hex[i], 16);
}
}
catch (NumberFormatException e) {
throw new IllegalArgumentException("Invalid hex digit in MAC address.");
}
return bytes;
}
}
//imported from https://gist.github.com/jumar/9200840