Model

Concept

Every script would need to be well defined while keeping their respective concept logic

Model

  • [📂] Basic (Every concepts of JavaScript and node.js there)

    • [📁] Variable (🔏)

    • [📁] Function (🔏 (Missing Block: [🧱] Return {any}) )

    • [📁] Custom Object

    • [📁] Loop

      • [🧱] Repeat [ Forever / Times {Integer} / While {Condition} ] {Scratch} (🔓)

      • [🧱] Count with {variable} from {number} to {number} with increment {number}

      • [🧱] For each item {Variable} in list {Array} {Scratch}

      • [🧱] [Break out/Continue with next iteration] of loop (🔒)

    • [📁] Logic

      • [🧱] [ If / Else if / Else ] do {Scratch}

      • [🧱] {Condition} [ = / != / > / < / >= / <= / and / or ] {Condition}

      • [🧱] {Condition} [and / or] {Condition}

      • [🧱] Not {Condition}

      • [🧱] [True / False]

      • [🧱] Null

      • [🧱] Test {argument} if true {value} if false {value}

      • [🧱] Is {value} a [ number / string ]

    • [📁] Math

      • [🧱] {number}

      • [🧱] {number} [ + / - / ÷ / * / ^] {number}

      • [🧱] [square root / absolute / -(negative number) / ln / log10 / e^ / 10^] {number}

      • [🧱] [ cos / sin / tan / arccos / arcsin / arctan ] {number}

      • [🧱] [ π / e / φ / square root(2) / square root(½) / ∞ ]

      • [🧱] {number} is [ even / odd / prime / whole / positive / negative / divisible by {number} ]

      • [🧱] Round [ up / down ] {number}

      • [🧱] [ sum / min / max / average / median / modes / standart deviation / random item ] of list {Array}

      • [🧱] Remainder of {number} ÷ {number}

      • [🧱] Constrain {number} low {number} high {number}

      • [🧱] Random integer from {number} to {number}

      • [🧱] Random fraction

    • [📁] List

      • [🧱] Create list ⚙️{item}

      • [🧱] Create list with item {any but objects} repeated {number} times

      • [🧱] Length of {array}

      • [🧱] is {tangible} empty

      • [🧱] List {array} contains {item}

      • [🧱] sort [ numeric / aplhabetic / alphabetic (ignore case) ] [ ascending / descending ] {array}

      • [🧱] Reverse {array}

      • [🧱] In list {array} find [ First / Last ] occurence of item {item}

      • [🧱] In list {array} [ Get / Get & Remove / Remove ] [ #{number} / #{number (from end)} / first / last /random ]

      • [🧱] In list {array} [ set / insert at ] [ #{number} / #{number (from end)} / first / last / random ] as {number}

      • [🧱] In list {array} get sub-list from [ #{number} / #{number} (from end) / first ] to [ #{number} / #{number} (from end) / last ]

      • [🧱] In list {array} push {item}

      • [🧱] Make [ List from text / Text from list ] {array} with delimiter {string}

    • [📁] Text

      • [🧱] {string} consider new lines

      • [🧱] Create text with ⚙️{any}

      • [🧱] Replace {string} with {string} in {string}

      • [🧱] is {tangible} empty

      • [🧱] reverse {string}

      • [🧱] New Line (\n)

      • [🧱] To [ Variable / array ] append text {string}

      • [🧱] Length of {string}

      • [🧱] {string} ends with {string}

      • [🧱] {string} starts with {string}

      • [🧱] {string} includes {string}

      • [🧱] {string} is empty

      • [🧱] In text {variable/array} find [ First / Last] occurence of text {string}

      • [🧱] In text {variable / array} get [Letter #{number} / Letter #{number _(from end} / First leter / Last leter / random letter ]

      • [🧱] In text {Variable / Array} get substring from [Letter #{number} / Letter #{number (from end)} / first letter ] to [Letter #{number} / Letter #{number (from end)} / Last letter ]

      • [🧱] To [ Uppercase / Lowercase / Title case] {string}

      • [🧱] Trim space from [ Both sides / Left side / Right side ] of {string}

      • [🧱] Count {string} in {string}

      • [🧱] Is {string} boolean

      • [🧱] Boolean from text {string}

      • [🧱] Does text {string} contain numbers

      • [🧱] Convert text {string} to number

    • [📁] Color

      • [🧱] {color}

      • [🧱] Random Color

      • [🧱] Color {Hex value}

      • [🧱] RGB color {number (red)} {number (green)} {number (blue)}

      • [🧱] Blend color 1 {color} with color 2 {color} ratio {number}

    • [📁] Database

      • [📁] Database

        • [🧱] Get {string} from the database

        • [🧱] Does {string} exist in the database

        • [🧱] Get all data from the database

        • [🧱] Set {string} to {string} in the database

        • [🧱] Delete {string} from the database

        • [🧱] Add {number} to {string} in database

        • [🧱] Substract {number} to {string} in database

        • [🧱] Delete all data from the database

      • [📁] Dootabase (awaiting for devs guidance to know what to do with it)

        • [🧱] Set current database to {string} .json

        • [🧱] Get {string} from dootabse

        • [🧱] Does {string} exist in dootabase

        • [🧱] Get all data from dootabase

        • [🧱] Set {string} to {string} in dootabase

        • [🧱] Delete {string} from dootabase

        • [🧱] In dootabase add {number} to {string}

        • [🧱] In dootabase substract {number} to {string}

        • [🧱] In dootabase multiply {string} by {number}

        • [🧱] In dootabase divide {string} by {number}

        • [🧱] Delete current dootabase

    • [📁] Custom Event

    • [📁] Terminal

      • [🧱] Try {Scratch} If Error {Scratch} (= Try Catch)

      • [🧱] Error

      • [🧱] Print {Any}

      • [🧱] Wait {Duration}

      • [🧱] Stop Script

      • [🧱] Do {scratch} and save output in {variable}

      • [🧱] Run Code {Any} (= Eval)

      • [🧱] Insert Code {Typing} (= Insert)

      • [🧱] Create Webserver with text {string}

  • [📂] Discord (Every concepts of Discord.js there)

    • [📁] Object

      • [📁] Guild

        • [🧱] {object -Guild-}

        • [🧱] Get {object -Guild-} [property]

        • [🧱] Set {object -Guild-} [property] to {parameter}

      • [📁] Member

        • [🧱] {object -Member-}

        • [🧱] Get {object -Member-} [property] with reason

        • [🧱] Set {object -Member-} [ nickname ] to {parameter}

      • [📁] User

        • [🧱] {object -User-}

        • [🧱] Get {object -User-} [property]

        • [🧱] Set {object -User-} [property] to {parameter}

      • [📁] Channel

        • [🧱] {object -Channel-}

        • [🧱] Get {object -Channel-} [property]

        • [🧱] Set {object -Channel-} [property] to {parameter}

      • [📁] Thread

        • [🧱] {object -Thread-}

        • [🧱] Get {object -Thread-} [property]

        • [🧱] Set {object -Thread-} [property] to {parameter}

      • [📁] Role

        • [🧱] {object -Role-}

        • [🧱] Get {object -Role-} [property]

        • [🧱] Set {object -Role-} [property] to {parameter}

      • [📁] Message

        • [🧱] {object -Message-}

        • [🧱] Get {object -Message-} [property]

        • [🧱] Set {object -Message-} [property] to {parameter}

      • [📁] Reaction

        • [🧱] {object -Reaction-}

        • [🧱] Get {object -Reaction-} [property]

        • [🧱] Set {object -Reaction-} [property] to {parameter}

      • [📁] Typing

        • [🧱] {object -Typing-}

        • [🧱] Get {object -Typing-} [property]

        • [🧱] Set {object -Typing-} [property] to {parameter}

      • [📁] Invite

        • [🧱] {object -Invite-}

        • [🧱] Get {object -Invite-} [property]

        • [🧱] Set {object -Invite-} [property] to {parameter}

      • [📁] Emoji

        • [🧱] {object -Emoji-}

        • [🧱] Get {object -Emoji-} [property]

        • [🧱] Set {object -Emoji-} [property] to {parameter}

      • [📁] Sticker

        • [🧱] {object -Sticker-}

        • [🧱] Get {object -Sticker-} [property]

        • [🧱] Set {object -Sticker-} [property] to {parameter}

      • [📁] Scheduled Event

        • [🧱] {object -Scheduled Event-}

        • [🧱] Get {object -Scheduled Event-} [property]

        • [🧱] Set {object -Scheduled Event-} [property] to {parameter}

      • [📁] Stage

        • [🧱] {object -Stage-}

        • [🧱] Get {object -Stage-} [property]

        • [🧱] Set {object -Stage-} [property] to {parameter}

      • [📁] Interaction

        • [🧱] {object -Interaction-}

        • [🧱] Get {object -Interaction-} [property]

        • [🧱] Set {object -Interaction-} [property] to {parameter}

      • [📁] API

        • [🧱] {object -API-}

        • [🧱] Get {object -API-} [property]

        • [🧱] Set {object -API-} [property] to {parameter}

      • [📁] Client

        • [🧱] {object -Client-}

        • [🧱] Get {object -Client-} [property]

        • [🧱] Set {object -Client-} [property] to {parameter}

      • [📁] Shard

        • [🧱] {object -Shard-}

        • [🧱] Get {object -Shard-} [property]

        • [🧱] Set {object -Shard-} [property] to {parameter}

    • [📁] Event

      • [📁] Guild

      • [📁] Member

      • [📁] User

      • [📁] Channel

      • [📁] Thread

      • [📁] Role

      • [📁] Message

      • [📁] Reaction

      • [📁] Typing

      • [📁] Invite

      • [📁] Emoji

      • [📁] Sticker

      • [📁] Scheduled Event

      • [📁] Stage

      • [📁] Interaction

      • [📁] API

      • [📁] Client

      • [📁] Shard

    • [📁] Action

      • [📁] Guild

      • [📁] Member

      • [📁] User

      • [📁] Channel

      • [📁] Thread

      • [📁] Role

      • [📁] Message

      • [📁] Reaction

      • [📁] Typing

      • [📁] Invite

      • [📁] Emoji

      • [📁] Sticker

      • [📁] Scheduled Event

      • [📁] Stage

      • [📁] Interaction

      • [📁] API

      • [📁] Client

        • [🧱] Connect the bot with the token {string}

        • [🧱] Set bot status to [ Online / Offline / Idle / Do Not Disturb ] custom status {string} type [ Listening / Watching / Competing / Playing ]

        • [🧱] Set status streaming url {string}

        • [🧱] Shutdown the bot

        • [🧱] Set bot [ username / avatar ] to {string}

      • [📁] Shard

  • [📁] Community (for "pre-marketplace" blocks before real marketplace release)

    • [📁] Message

    • [📁] Database

      • [📁] MongoDB

      • [📁] Firebase

    • [📁] Image Editing

    • [📁] Hosts

      • [📁] GitHub

      • [📁] Repl.it

  • [📁] Marketplace (where marketplace blocks will go)

  • [📁] Developing (only for dev, never released)

    • [📁] To Rework (moved from release Toolbox with above their previous location as label)

    • [📁] In Rework

    • [📁] To Deploy (to implement in release Toolbox)

Definitions

Categories

  • 📂 : Block Category: Defaultly Opened

  • 📁 : Block Category: Defaultly Closed

  • 🏷️ : Label (informative text in toolbox)

  • 🧱 : Block

  • 🔒 : Blockly: Locked (bound to blockly and cannot be modified unless customly reworked)

  • 🔏 : Blockly: Problem (Locked but might be customly reworked to better fit S4D (often annoted with its respective reason))

  • 🔓 : Blockly: Custom Reworked (formerly bound to blockly but have been customly reworked to better fit S4D)

Blocks Parameters

  • ⚙️ : Mutator

  • [ ] : Dropdown

  • { } : Input

  • / : Logical "or"

  • - - : Input Default Value: Block

  • ~ ~ : Input Default Value: Shadow

Wording

  • Tangible : Has a lenght

  • Color : "color" not "colour"

Last updated