Skip to content

Commit

Permalink
Added more imports and variables to .eval
Browse files Browse the repository at this point in the history
Fixed problem where PrivateChannel wasn't already open upon retrieval for .help
  • Loading branch information
DV8FromTheWorld committed Dec 30, 2016
1 parent 68ae358 commit 369562d
Show file tree
Hide file tree
Showing 2 changed files with 19 additions and 2 deletions.
19 changes: 18 additions & 1 deletion src/main/java/net/dv8tion/discord/commands/EvalCommand.java
Original file line number Diff line number Diff line change
Expand Up @@ -16,6 +16,7 @@
package net.dv8tion.discord.commands;

import net.dv8tion.discord.Permissions;
import net.dv8tion.jda.core.entities.ChannelType;
import net.dv8tion.jda.core.events.message.MessageReceivedEvent;

import javax.script.ScriptEngine;
Expand All @@ -33,7 +34,16 @@ public EvalCommand()
engine = new ScriptEngineManager().getEngineByName("nashorn");
try
{
engine.eval("var imports = new JavaImporter(java.io, java.lang, java.util);");
engine.eval("var imports = new JavaImporter(" +
"java.io," +
"java.lang," +
"java.util," +
"Packages.net.dv8tion.jda.core," +
"Packages.net.dv8tion.jda.core.entities," +
"Packages.net.dv8tion.jda.core.entities.impl," +
"Packages.net.dv8tion.jda.core.managers," +
"Packages.net.dv8tion.jda.core.managers.impl," +
"Packages.net.dv8tion.jda.core.utils);");
}
catch (ScriptException e)
{
Expand All @@ -58,9 +68,16 @@ public void onCommand(MessageReceivedEvent e, String[] args)
try
{
engine.put("event", e);
engine.put("message", e.getMessage());
engine.put("channel", e.getChannel());
engine.put("args", args);
engine.put("api", e.getJDA());
if (e.isFromType(ChannelType.TEXT))
{
engine.put("guild", e.getGuild());
engine.put("member", e.getMember());
}

Object out = engine.eval(
"(function() {" +
"with (imports) {" +
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -55,7 +55,7 @@ public void onCommand(MessageReceivedEvent e, String[] args)
.append(": Help information was sent as a private message.")
.build()).queue();
}
sendPrivate(e.getAuthor().getPrivateChannel(), args);
sendPrivate(e.getAuthor().openPrivateChannel().complete(), args);
}

@Override
Expand Down

0 comments on commit 369562d

Please sign in to comment.