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"
Links
Last updated