DiSky - Create your own Discord bot easily!

  • Welcome to skUnity!

    Welcome to skUnity! This is a forum where members of the Skript community can communicate and interact. Skript Resource Creators can post their Resources for all to see and use.

    If you haven't done so already, feel free to join our official Discord server to expand your level of interaction with the comminuty!

    Now, what are you waiting for? Join the community now!

SkyCraft78

New Member
May 18, 2019
3
7
3
France, Yvelines
itsthesky.info
What is DiSky?
DiSky is a Skript addon, which allows you to create, manage and edit Discord's bots.
It provides more than 400 different syntaxes, such as:

  • Creating entities (roles, channels, categories, etc.)
  • Editing existing entities
  • Send advanced messages with embeds, components, or attachments
  • Several's utilities syntaxes to let developers make their bot faster and easier.
  • It fully supports Slash commands, including option types, sub-commands, groups, and auto-completion arguments.
  • And much, much more!
Useful links

Requirements

  • Skript 2.6.0 or higher
  • Spigot/Paper/Any fork of them 1.13.0 or higher
Note: Even if DiSky is based only on Skript, some features require Bukkit's or Spigot's API. The 1.13+ version is a more recommended version than a requirement.

Incompatibilities

  • DiscordSRV (it uses an older version of JDA that DiSky is not based on)
  • any other JDA-compiled plugin doesn't have JDA 5 as JDA version.
Small Examples

Bot loading & Slash Commands

This has to be put OUTSIDE any triggers! (not inside an 'on load' for example)

Code:
define new bot named "My Bot":
    token: "ultra-private-token"
    intents: default intents
    on guild ready:
        send "I'm ready to serve %event-guild% sir!" to console

        send "Setting up commands..." to console
        set {_cmd} to new slash command named "test" with description "Test command"

        add new required string option named "argument" with description "example argument" to options of {_cmd}
        add new integer option named "pls" with description "example optional number argument" to options of {_cmd}

        update {_cmd} locally in event-guild

    on ready:
        send "Hello world, the bot has been loaded and is ready to use!" to console

Message Components

Code:
discord command components:
    prefixes: !
    trigger:
        set {_buttons} to new components row
        add new link button with url "http://disky.itsthesky.info/" named "DiSky Website" with reaction "smile" to components of {_buttons}
        add new danger button with url "button-id-here" named "Dangerous!" with reaction "joy" to components of {_buttons}
        add new success button with url "cant-have-two-same-id" named "Green :D" with reaction "disky" to components of {_buttons}
        add new disabled secondary button with url "no-space-allowed-either" named "I'm disabled" with reaction "sob" to components of {_buttons}

        set {_dropdownRow} to new components row
        set {_dropdown} to new dropdown with id "unique-id-here-too"

        set min range of {_dropdown} to 1
        set max range of {_dropdown} to 2

        add new option with value "value" named "First Choice" with description "The first and NOT default choice of the dropdown" with reaction "smile" to options of {_dropdown}

        add new default option with value "value-2" named "Second Choice" with description "This one is selected by default!" with reaction "wave" to options of {_dropdown}
        add new option with value "value-3" named "Third Choice" with description "You only can select one or two choice, not more!" with reaction "joy" to options of dropdown
        add new option with value "value-4" named "Fourth Choice" with description "And yes, custom emote are also supported :D" with reaction "disky" to options of {_dropdown}
        add new option with value "value-5" named "Fifth Choice" with description "Each option have a name, description and emote." with reaction "rocket" to options of {_dropdown}
        add new option with value "value-6" named "Sixth Choice" with description "Choices? You can have up to 25 per dropdown!" with reaction "zap" to options of {_dropdown}
        add new option with value "value-7" named "Seventh Choice" with description "Also limited with 50 characters per description." with reaction "ice_cube" to options of {_dropdown}

        add {_dropdown} to components of {_dropdownRow}

        reply with "*Components ...*" with components {_buttons} and {_dropdownRow}

on button click:
    set {_id} to event-string # get back the unique ID defined above.
    {_id} is "button-id-here", "cant-have-two-same-id" or "no-space-allowed-either"

    defer the interaction # avoid the 'interaction failed' message

on dropdown click:
    set {_id} to event-string # get back the unique ID defined above.
    {_id} is "unique-id-here-too"

    reply with "Selected values: %selected values%" # replying will defer the interaction

Constantly updated

DiSky aim to be updated when a new feature is available to Discord. After some days before it's actually stable, new elements will be added into DiSky to provide more functionality.
 
I've been using this plugin for a while now, and while it might be difficult to get started it is hands down one of the best addons to Skript I've ever added and used. It's a step up from other addons like Vixio and while it's wiki/docs could use some work, it's definitely improving day by day and I recommend the addon to anyone who has a discord for their minecraft server.

TLDR; 5/5, recommend it for anyone, could use improvement on the docs but good support in their discord
 
SkyCraft78 updated DiSky - Create your own Discord bot easily! with a new update entry:

Automod Creation is here!

Hello there
This pre-release update introduces support for **creating and editing auto-moderation rules**, supporting triggers, filters, and more!

> ⚠️ I am a bit overbooked lately, so the second part of this update (including managing already-created rules) will come later on, sorry!

**AutoMod Documentation:** <https://disky.me/wiki/basic-stuff/automod/>

Read the rest of this update entry...