Skip to content

Instantly share code, notes, and snippets.

@matmen
Last active September 12, 2024 20:24
Show Gist options
  • Save matmen/d4fa000110efe2944078fb8065dafd11 to your computer and use it in GitHub Desktop.
Save matmen/d4fa000110efe2944078fb8065dafd11 to your computer and use it in GitHub Desktop.

⚠️ This is not the documentation for ImageScript. You can find the ImageScript documentation here.


Image Tags

The following commands / statements are valid:

load <url> <imageName> - Loads the given URL and saves it as imageName

screenshot <url> <imageName> - Screenshots the given URL and saves it as imageName

resize <imageName> <width> <height> - Resizes the given image to the given width and height

contain <imageName> <width> <height> - Resizes the given image to be contained in the given dimensions, preserving its aspect ratio

cover <imageName> <width> <height> - Resizes the given image to cover the given dimensions, preserving its aspect ratio

fit <imageName> <width> <height> - Resizes the given image to be contained in the given dimensions without changing its bounding box aspect ratio

rotate <imageName> <degrees (0 - 360)> [rescale = true] - Rotates the given images by the given rotation

overlay <imageName> <overlayName> <x> <y> - Overlays the overlay image onto the given image at the given coordinates

explode <imageName> - Explodes the image

implode <imageName> - Implodes the image

magik <imageName> [iterations (1 - 10) = 1] [rescale = false] - Applies magik to the given image with the given iterations/delta

jpeg <imageName> <quality (1 - 100)> - JPEG-ifies the given image with the given quality

brightness <imageName> <brightness (-100 - 100)> - Modifies the given images brightness by the given value

contrast <imageName> <contrast (-100 - 100)> - Modifies the given images contrast by the given value

opacity <imageName> <alpha (0 - 100)> - Modifies the given images opacity by the given value

pixelate <imageName> <pixelSize (2+)> - Pixelates the given image with the given pixel size

greyscale <imageName> - Converts the given image to greyscale

invert <imageName> - Inverts the given image

tti <imageName> <size> <wrap width> <color> <text...> - Converts the given text to an image

ttil <imageName> <size> <wrap width> <color> <text...> - Converts the given text to an image (aligned left)

ttir <imageName> <size> <wrap width> <color> <text...> - Converts the given text to an image (aligned right)

skew <imageName> <angle> [vertical = false] - Skews the given image by the given angle [in the given direction]

get <imageName> <key (width, height)> <variableName> - Gets the width or the height of the given image and saves it into the given variable name (Note that variable names do not support numbers)

copy <imageName> <cloneName> - Clones the given image and saves it as the given clone name

render <imageName> - Renders and returns the given image and ends the script

Comments: You can add a comment by appending ## Comment Here to a line

Example Script: (.t istest)

{iscript:
load {if:{avatar:{arg:0}}|=||then:{arg:0}|else:{avatar:{arg:0}}} image            ## Load the image from the arguments (default to user's avatar)
load http://www.pngall.com/wp-content/uploads/2016/05/Christmas-Hat.png overlay ## Load a christmas hat overlay
magik image 2                                                                   ## Apply magik to the image twice
get image width w                                                               ## Save the images width as w
get image height h                                                              ## Save the images height as h
resize overlay (w/2) (h/2)                                                      ## Calculate the overlay's new size
overlay image overlay (w/2) 0                                                   ## Add the overlay to the image
render image                                                                    ## Render the image
}
@trueharuu
Copy link

jacher

@code913
Copy link

code913 commented Sep 1, 2022

jacher

@HamaHathan
Copy link

You've done it good, not going to lie, but I'm trying to handle iscript exceptions, (or check out imagescript which doesn't have its link responding for an SSL problem). Is there a way to prevent exceptions using exception handling? {Python: try: except:} did not work

@Jacbo1
Copy link

Jacbo1 commented Dec 26, 2023

Chrome doesn't trust the docs site you link to btw. It shows me the privacy error page for potentially malicious sites with the code NET::ERR_CERT_COMMON_NAME_INVALID

@ElPeppyWall
Copy link

ElPeppyWall commented Dec 26, 2023

Chrome doesn't trust the docs site you link to btw. It shows me the privacy error page for potentially malicious sites with the code NET::ERR_CERT_COMMON_NAME_INVALID

Pretty sure its some old imagescript documentation site that is no longer maintained so yeah, don't go in there

@matmen
Copy link
Author

matmen commented Dec 26, 2023

I've updated the links to the ImageScript docs

@ElPeppyWall
Copy link

I've updated the links to the ImageScript docs

I'm suprised you're still updating this documentation even after like 5 years, one question though, are those the only valid commands/statements or are there more that aren't here?

@matmen
Copy link
Author

matmen commented Dec 27, 2023

I'm not sure, NotSoBot doesn't use the original ImageTags parser anymore, it was rewritten a while ago. NSB probably has its own docs for image tags I'd assume.

@matmen
Copy link
Author

matmen commented Dec 27, 2023

Here's a list of commands/aliases for the {iscript} tags:
Screen_Shot_2023-06-25_at_6 28 43_PM-1

@SuppliedOrange
Copy link

jacker

@wubboxcap
Copy link

Here's a list of commands/aliases for the {iscript} tags: Screen_Shot_2023-06-25_at_6 28 43_PM-1

By using get how am I supposed to get the video length?

@matmen
Copy link
Author

matmen commented Sep 12, 2024

@cakedan
Copy link

cakedan commented Sep 12, 2024

There are defaults, MEDIA_NAMEw is width, MEDIA_NAMEh is height, MEDIA_NAMEd is duration.

But the values you can get are width, height, and duration (get MEDIA_NAME duration KEY for the length)

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment