Skip to content

Value Types

AsperTheDog edited this page May 7, 2022 · 4 revisions

Value nodes can carry different types of information.

Value list

In here a brief explanation of how each one is handled is provided.

Number

This one is pretty simple, the number value type can store numbers. These numbers can be of any size, positive, negative, decimal... There is a limit of around 10 decimals of precision but the size of the number itself is as big as your computer can handle (which is a lot, actually)

  • Color: blue
  • It's input can be connected to itself and the "any" type
  • It has initial default value, which is 0
  • You can use it in non constant variables

Text

This is also very straightforward. These values hold pieces of text, a simple "hello" or a full paragraph. There's no limit on the size of these text other than what your pc can handle (It may be able to handle full books or something like that but to be honest I haven't tested it)

  • Color: orange
  • It's input can be connected to itself, the "combo" type and the "any" type
  • It has initial default value, which is an empty piece of text
  • You can use it in non constant variables

Combo

This is a special one. Basically this value represents a fixed set of options an action can have. This is for example the different operators the Operation action can have. A combo variable doesn't have any possible value by itself since the options to choose from are determined by what it's connected to. When you connect a combo variable to a combo input the options will appear and you will be able to choose one of them.

  • Color: green
  • It's input can be connected to itself, the "text" type and the "any" type
  • It can't have initial value
  • You can not use it in non constant variables

Structure

This one is a complex type. Whenever the system has to give you several values in one single unit this type is used. The structure value type is composed of a group of variables connected to a "key". These variables han be of different types. An example would be a structure value type that has

  1. A number value with key "age"
  2. A text value with key "first name"
  3. A text value with key "last name"

In order to extract a field from a structure value the action ExtractValue must be used

  • Color: purple
  • It's input can be connected to itself and the "any" type
  • It can't have initial value
  • You can use it in non constant variables

Some structures in the system have a specific Name, these are premade objects that are used throughout the system, the fields are specified here

Any

This is the trump card value. Whenever something can be several types at the same time then the any type is used. WARNING This doesn't mean that the value doesn't have a type, it just means that the type is undefined and thus the system can't know which one is it before the program is actually executed. Nonetheless there's no need to worry, reading the action descriptions will always let you control which value will come out. An example of an output having the any type is the output of the action ExtractValue since what type the output will have depends on what type the field you extract from the structure has.

  • Color: white
  • It's input can be connected to all types
  • It can't have initial value
  • You can't make variables with this type at all

Boolean

This type can only store two possible values: True or False. This is the most basic value type in a computer: The yes or no, the 1 and 0, the true and false... It's as intuitive as it sounds, whenever you have to answer yes or no to things this is the type to go for.

  • Color: light blue
  • It's input can be connected to itself and the "any" type
  • It can't have initial value
  • You can use it in non constant variables

Datetime

This type will just hold a moment in time in the form of a pair of a date and a time. You can do a bunch of fancy stuff with this like determine when something has to be executed or look when something happened. Pretty cool huh?

  • Color: yellow
  • It's input can be connected to itself and the "any" type
  • It can't have initial value
  • You can use it in non constant variables

Defined Structures

Whenever you see a defined structure you will recognize it because it's first letter is Upper case as if it was a proper noun. These are the ones that exist in the system right now.

The objects are formated in the form

Name
 - key: valueType

Message

  • id: Number
  • content: Text
  • datetime: Datetime
  • reactions: Reaction List
  • author ID: Number
  • channel ID: Number

Reaction

  • emoji: Emoji
  • count: Number
  • message ID: Number

Channel

  • id: Number
  • created at: Datetime
  • name: Text
  • mention: Text
  • category ID: Number

Thread

  • id: Number
  • archived: Boolean
  • archive duration: Number
  • created at: Datetime
  • locked: Boolean
  • mention: Text
  • category ID: Number
  • owner ID: Number
  • parent ID: Number

Member

  • id: Number
  • avatar: Text
  • bot: Boolean
  • banner: Text
  • created date: Datetime
  • activity: Text
  • name: Text
  • nick: Text
  • discriminator: Text
  • identifier: Text
  • mention: Text
  • top role ID: Number

VoiceState

  • afk: Boolean
  • channel ID: Number
  • deaf: Boolean
  • mute: Boolean
  • requested: Boolean
  • self deaf: Boolean
  • self mute: Boolean
  • self stream: Boolean
  • self video: Boolean
  • suppress: Boolean

Guild

  • banner: Text
  • name: Text
  • id: Number
  • owner: Number
  • icon: Text
  • description: Text
  • max members: Number
  • member count: Number
  • afk channel: Number

Role

  • id: Number
  • created at: Datetime
  • mention: Text
  • name: Text
  • is admin: Boolean

Emoji

  • id: Number
  • name: Text

FullEmoji

  • id: Number
  • name: Text
  • animated: Boolean
  • from twitch: Boolean
  • created at: Datetime
  • url: Text

Sticker

  • id: Number
  • name: Text
  • created at: Datetime
  • url: Text
  • unicode: Text

Event

  • channel ID: Number
  • creator ID: Number
  • description: Text
  • id: Number
  • name: Text
  • user count: Number

Stage

  • channel ID: Number
  • id: Number
  • topic: Text

Invite

  • id: Number
  • created at: Datetime
  • expires at: Datetime
  • max uses: Number
  • max age: Number
  • temporary: Boolean
  • uses: Number
  • creator ID: Number
  • url: Text