Skip to content

Latest commit

 

History

History
279 lines (266 loc) · 12.5 KB

model.md

File metadata and controls

279 lines (266 loc) · 12.5 KB

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