Skip to content

Commit

Permalink
fixes for discord application commands
Browse files Browse the repository at this point in the history
  • Loading branch information
mcmonkey4eva committed May 22, 2022
1 parent a7c2279 commit baecfb8
Show file tree
Hide file tree
Showing 3 changed files with 23 additions and 7 deletions.
Expand Up @@ -239,11 +239,6 @@ else if (name == null) {
boolean isEnabled = enabled == null || enabled.asBoolean();
switch (commandInstructionEnum) {
case CREATE: {
if (description == null) {
Debug.echoError(scriptEntry, "Must specify a description!");
scriptEntry.setFinished(true);
return;
}
CommandData data;
switch (CoreUtilities.toLowerCase(type.asString())) {
case "message":
Expand All @@ -253,6 +248,11 @@ else if (name == null) {
data = Commands.user(name.asString());
break;
default:
if (description == null) {
Debug.echoError(scriptEntry, "Must specify a description!");
scriptEntry.setFinished(true);
return;
}
data = Commands.slash(name.asString(), description.asString());
break;
}
Expand Down
Expand Up @@ -91,6 +91,8 @@ public ObjectTag getContext(String name) {
result = new ElementTag(mapping.getAsString()); break;
case BOOLEAN: result = new ElementTag(mapping.getAsBoolean()); break;
case INTEGER: result = new ElementTag(mapping.getAsLong()); break;
case NUMBER: result = new ElementTag(mapping.getAsDouble()); break;
case ATTACHMENT: result = new ElementTag(mapping.getAsAttachment().getUrl()); break;
case CHANNEL: result = new DiscordChannelTag(botID, mapping.getAsMessageChannel()); break;
case MENTIONABLE: {
String mention = mapping.getAsMentionable().getAsMention();
Expand Down
Expand Up @@ -18,6 +18,7 @@
import com.denizenscript.denizencore.utilities.scheduling.OneTimeSchedulable;
import net.dv8tion.jda.api.entities.PrivateChannel;
import net.dv8tion.jda.api.interactions.Interaction;
import net.dv8tion.jda.api.interactions.commands.context.MessageContextInteraction;
import net.dv8tion.jda.api.interactions.commands.context.UserContextInteraction;

import java.util.HashMap;
Expand Down Expand Up @@ -200,20 +201,33 @@ public static void registerTags() {
return new DiscordUserTag(object.bot, object.interaction.getUser());
});


// <--[tag]
// @attribute <DiscordInteractionTag.target_user>
// @returns DiscordUserTag
// @plugin dDiscordBot
// @description
// Returns the user being targeted by the interaction.
// Returns the user being targeted by a USER application interaction.
// -->
tagProcessor.registerTag(DiscordUserTag.class, "target_user", (attribute, object) -> {
if (object.interaction instanceof UserContextInteraction) {
return new DiscordUserTag(object.bot, ((UserContextInteraction) object.interaction).getTarget());
}
return null;
});

// <--[tag]
// @attribute <DiscordInteractionTag.target_message>
// @returns DiscordMessageTag
// @plugin dDiscordBot
// @description
// Returns the message being targeted by a MESSAGE application interaction.
// -->
tagProcessor.registerTag(DiscordMessageTag.class, "target_message", (attribute, object) -> {
if (object.interaction instanceof MessageContextInteraction) {
return new DiscordMessageTag(object.bot, ((MessageContextInteraction) object.interaction).getTarget());
}
return null;
});
}

public static ObjectTagProcessor<DiscordInteractionTag> tagProcessor = new ObjectTagProcessor<>();
Expand Down

0 comments on commit baecfb8

Please sign in to comment.