master -> greg dev #93

Merged
greg6775 merged 16 commits from master into greg-dev 2019-11-22 23:41:43 +01:00
5 changed files with 93 additions and 11 deletions
Showing only changes of commit 8b366f7f78 - Show all commits

View file

@ -57,6 +57,12 @@
<artifactId>discord-webhooks</artifactId>
<version>0.1.8</version>
</dependency>
<dependency>
<groupId>org.kohsuke</groupId>
<artifactId>github-api</artifactId>
<version>1.99</version>
</dependency>
</dependencies>
<repositories>

View file

@ -68,6 +68,7 @@ public class Hadder {
new EroticCommand(),
new RoleCommand(),
new RulesCommand(),
new FeedbackCommand(),
new LinkCommand()), config);
builder.addEventListeners(

View file

@ -0,0 +1,64 @@
package com.bbn.hadder.commands.misc;
/*
* @author Skidder / GregTCLTK
*/
import com.bbn.hadder.commands.Command;
import com.bbn.hadder.commands.CommandEvent;
import com.bbn.hadder.utils.EventWaiter;
import com.bbn.hadder.utils.MessageEditor;
import net.dv8tion.jda.api.EmbedBuilder;
import org.kohsuke.github.GHIssue;
import org.kohsuke.github.GHRepository;
import org.kohsuke.github.GitHub;
import java.io.IOException;
public class FeedbackCommand implements Command {
@Override
public void executed(String[] args, CommandEvent event) {
event.getTextChannel().sendMessage(new MessageEditor().setDefaultSettings(MessageEditor.MessageType.INFO, new EmbedBuilder()
.setTitle("Feedback Topic")
.setDescription("Please send me the feedback topic."))
.build()).queue();
new EventWaiter().newOnMessageEventWaiter(event1 -> {
String title = event1.getMessage().getContentDisplay();
event1.getChannel().sendMessage(new MessageEditor().setDefaultSettings(MessageEditor.MessageType.INFO, new EmbedBuilder()
.setTitle("Feedback Description")
.setDescription("Please send me the feedback description now."))
.build()).queue();
new EventWaiter().newOnMessageEventWaiter(event2 -> {
String description = event2.getMessage().getContentDisplay();
try {
GitHub connection = GitHub.connectUsingOAuth(event.getConfig().getGitHubToken());
GHRepository Hadder = connection.getOrganization("BigBotNetwork").getRepository("Hadder");
GHIssue issue = Hadder.createIssue(title).body("<strong>Feedback by " + event.getAuthor().getAsTag() + "</strong><br>" + description).create();
event.getTextChannel().sendMessage(new MessageEditor().setDefaultSettings(MessageEditor.MessageType.INFO, new EmbedBuilder()
.setTitle("Feedback successfully sent"))
.setDescription(issue.getHtmlUrl().toString())
.build()).queue();
} catch (IOException e) {
e.printStackTrace();
}
}, event.getJDA(), event.getAuthor());
}, event.getJDA(), event.getAuthor());
}
@Override
public String[] labels() {
return new String[]{"feedback"};
}
@Override
public String description() {
return "Sends feedback directly to the developers.";
}
@Override
public String usage() {
return "";
}
}

View file

@ -27,17 +27,18 @@ public class RulesCommand implements Command {
new EventWaiter().newOnMessageEventWaiter(event1 -> {
if (event1.getMessage().getMentionedChannels().size() > 0) {
TextChannel channel = event1.getMessage().getMentionedChannels().get(0);
event1.getChannel().sendMessage(new MessageEditor().setDefaultSettings(MessageEditor.MessageType.INFO, new EmbedBuilder()
.setTitle("Rules")
.setDescription("The channel was successfully set to " + channel.getName() + ". Please send me the rules now."))
.build()).queue();
new EventWaiter().newOnMessageEventWaiter(event2 -> {
String message = event2.getMessage().getContentDisplay();
event2.getChannel().sendMessage(new MessageEditor().setDefaultSettings(MessageEditor.MessageType.INFO, new EmbedBuilder()
.setTitle("Role to assign"))
.setDescription("The rules were successfully set. Please send me the name of the role which the user receives after he accepted the rules.")
if (channel.getGuild().getId().equals(event1.getGuild().getId())) {
event1.getChannel().sendMessage(new MessageEditor().setDefaultSettings(MessageEditor.MessageType.INFO, new EmbedBuilder()
.setTitle("Rules")
.setDescription("The channel was successfully set to " + channel.getName() + ". Please send me the rules now."))
.build()).queue();
new EventWaiter().newOnMessageEventWaiter(event3 -> {
new EventWaiter().newOnMessageEventWaiter(event2 -> {
String message = event2.getMessage().getContentDisplay();
event2.getChannel().sendMessage(new MessageEditor().setDefaultSettings(MessageEditor.MessageType.INFO, new EmbedBuilder()
.setTitle("Role to assign"))
.setDescription("The rules were successfully set. Please send me the name of the role which the user receives after he accepted the rules.")
.build()).queue();
new EventWaiter().newOnMessageEventWaiter(event3 -> {
Role role = event3.getGuild().getRolesByName(event3.getMessage().getContentRaw(), true).get(0);
if (event3.getGuild().getSelfMember().canInteract(role)) {
event3.getChannel().sendMessage(new MessageEditor().setDefaultSettings(MessageEditor.MessageType.INFO, new EmbedBuilder()
@ -54,8 +55,14 @@ public class RulesCommand implements Command {
EmbedBuilder builder = new EmbedBuilder();
event.getTextChannel().sendMessage(new MessageEditor().setDefaultSettings(MessageEditor.MessageType.NO_SELF_PERMISSION, builder).build()).queue();
}
}, event.getJDA(), event.getAuthor());
}, event.getJDA(), event.getAuthor());
}, event.getJDA(), event.getAuthor());
} else {
event.getTextChannel().sendMessage(new MessageEditor().setDefaultSettings(MessageEditor.MessageType.WARNING, new EmbedBuilder()
.setTitle("Wrong Guild")
.setDescription("The mentioned channel must be on this guid!"))
.build()).queue();
}
} else {
event.getTextChannel().sendMessage(new MessageEditor().setDefaultSettings(MessageEditor.MessageType.WARNING, new EmbedBuilder()
.setTitle("No Channel mentioned"))

View file

@ -94,6 +94,10 @@ public class Config {
return config.getJSONObject("Tokens").getString("Giphy");
}
public String getGitHubToken() {
return config.getJSONObject("Tokens").getString("GitHub");
}
public String getMythicalBotListToken() {
return config.getJSONObject("Tokens").getString("MythicalBotList");
}