From 727ad62a2044333a92a02ff4e3cd0b644d1a45da Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?G=C3=B6kdeniz?= Date: Thu, 17 Jan 2019 16:53:09 +0300 Subject: [PATCH] Add ability to store the message in variable for upload image effect --- elements/Vixio/-Vixio-code.sk | 27 ++++++++++++++++++++++---- elements/expressions/LinearGradient.sk | 2 +- 2 files changed, 24 insertions(+), 5 deletions(-) diff --git a/elements/Vixio/-Vixio-code.sk b/elements/Vixio/-Vixio-code.sk index 31b783f..198faa2 100644 --- a/elements/Vixio/-Vixio-code.sk +++ b/elements/Vixio/-Vixio-code.sk @@ -4,9 +4,12 @@ import: java.io.ByteArrayOutputStream javax.imageio.ImageIO + ch.njol.skript.lang.Variable + me.iblitzkriegi.vixio.Vixio me.iblitzkriegi.vixio.util.UpdatingMessage me.iblitzkriegi.vixio.util.Util as VixioUtil + me.iblitzkriegi.vixio.util.skript.SkriptUtil as VixioSkriptUtil net.dv8tion.jda.core.EmbedBuilder net.dv8tion.jda.core.MessageBuilder @@ -15,8 +18,18 @@ import: effect: patterns: - upload (image|img) %object% [with ([(format|file)] type|[file] format) %-string%] [with (message|embed) %-message/string%] to %user/channel% [with %bot/string%] - upload [the] [last[ly]] [(created|generated|received|taken)] (image|img) [with ([(format|file)] type|[file] format) %-string%] [with (message|embed) %-message/string%] to %user/channel% [with %bot/string%] + upload (image|img) %object% [with ([(format|file)] type|[file] format) %-string%] [with (message|embed) %-message/string%] to %user/channel% [with %bot/string%] [and store (it|the message) in %-objects%] + upload [the] [last[ly]] [(created|generated|received|taken)] (image|img) [with ([(format|file)] type|[file] format) %-string%] [with (message|embed) %-message/string%] to %user/channel% [with %bot/string%] [and store (it|the message) in %-objects%] + parse: + if matched pattern is 1: + set {_varExpr} to expression-6 + else: + set {_varExpr} to expression-5 + if {_varExpr} is set: + if {_varExpr} isn't instance of Variable: + imagesk parse error "'%{_varExpr}%' is not a variable." + stop + continue trigger: if matched pattern is 1: set {_image} to expression-1 @@ -57,7 +70,13 @@ effect: ImageIO.write({_image}, {_format}, {_os}) set {_is} to new ByteArrayInputStream({_os}.toByteArray()) if {_message} is set: - {_bindedChannel}.sendMessage({_message}).addFile({_is}, "image.%{_format}%").queue() + set {_resultingMessage} to {_bindedChannel}.sendMessage({_message}).addFile({_is}, "image.%{_format}%").complete(true) + else: + set {_resultingMessage} to {_bindedChannel}.sendFile({_is}, "image.%{_format}%").complete(true) + if matched pattern is 1: + set {_varExpr} to raw expression-6 else: - {_bindedChannel}.sendFile({_is}, "image.%{_format}%").queue() + set {_varExpr} to raw expression-5 + if {_varExpr} is set: + VixioUtil.storeInVar(VixioSkriptUtil.getVariableName({_varExpr}), {_varExpr}, UpdatingMessage.from({_resultingMessage}), event) continue \ No newline at end of file diff --git a/elements/expressions/LinearGradient.sk b/elements/expressions/LinearGradient.sk index 04016f3..bd0b9c6 100644 --- a/elements/expressions/LinearGradient.sk +++ b/elements/expressions/LinearGradient.sk @@ -29,4 +29,4 @@ expression [a] [new] [(1¦(repeating|repeated)|2¦(reflected|reflecting))] linea set {_method} to CycleMethod.REPEAT! else if parse mark is 2 or 8: set {_method} to CycleMethod.REFLECT! - return new LinearGradientPaint({_x1}, {_y1}, {_x2}, {_y2}, [{_fractions::*}], [{_colors::*}], {_method}) + return new LinearGradientPaint({_x1}, {_y1}, {_x2}, {_y2}, [{_fractions::*}], [{_colors::*}], {_method}) \ No newline at end of file