> For the complete documentation index, see [llms.txt](https://assurancetourix.gitbook.io/assurancetourix/llms.txt). Markdown versions of documentation pages are available by appending `.md` to page URLs; this page is available as [Markdown](https://assurancetourix.gitbook.io/assurancetourix/customc/dshell/types.md).

# Types

***

### <mark style="color:yellow;">INT</mark> (interger)

All integers like 1000 or -13564

### <mark style="color:yellow;">FLOAT</mark> (floating number)

All float like 10.236 or -2544.364569

{% hint style="info" %}
The delimiter between interger part and float part is defined by a dot (**.**)
{% endhint %}

List operators :&#x20;

* `+`
* `-`
* `**` (power)
* `*` (multiplication)
* `%` (modulo)
* `//` (entire division. return an integer)
* `/` (division)

***

### <mark style="color:yellow;">BOOL</mark> (boolean)

Two boolean value :&#x20;

* True
* False

{% hint style="info" %}
This type ignore case (upper caracter). **`true`** and **`false`** work.
{% endhint %}

***

### <mark style="color:yellow;">NONE</mark> (nothing)

None value. It's used to make default value in some cases.

***

### <mark style="color:yellow;">STR</mark> (string)

Any text between quotation marks `"..."`

Text accept enter caracter,  even in a command:&#x20;

```
"Some text with
an enter caracter"
```

List operators :&#x20;

* `+` (concatenate an another string to the current string)
* `*` (concatenate x time the same string)

***

### <mark style="color:yellow;">LIST</mark> (list)

List of any type used in dshell langage.

To define a list :&#x20;

```
[1234, True, False, None, "some text"]
```

List define accept text with enter caracter :&#x20;

```
[True, "Some text with
an enter caracter", 1234]
```

You can define a list with var dshell command and call [functions ](broken://pages/CpoEqUSoJWtoQSRbbfC9)from the [ident](#ident-identificator) created

List operators :&#x20;

* `+` (merge the list to the current list)

***

### <mark style="color:yellow;">MENTION</mark> (all discord mention)

Any mention passed is autatically transformed to an [integer](#int-interger), except `@everyone` and `@here` who was interpreted like [string](#str-string)

***

### <mark style="color:yellow;">IDENT</mark> (identificator)

Ident is the most usefull in dshell langage. It's words contain information like variables.

You can create ident with the var command.

Some ident was reserved by the dshell interpreter :&#x20;

* `__ret__` -> get the current result of the last dshell command (spécified type in each command)

* `__COMMAND__` -> get the current result of the last *COMMAND*. *COMMAND* must be replace by a command name like `sm`, `cc`, `len`...

* `__guild__` -> actual guild ID ([INT](#int-interger))

* `__guild_name__` -> actual guild name ([STR](#str-string))

* `__guild_id__` -> actual guild ID (like \_\_guild\_\_) ([INT](#int-interger))

* `__guild_members__` -> list of all members ID (LIST -> [INT](#int-interger))

* `__guild_member_count__` -> number of members in the guild ([INT](#int-interger))

* `__guild_icon__` -> actual guild icon. If doesn't exist, return NONE ([STR ](#str-string)/ [NONE](#none-nothing))

* `__guild_owner_id__` -> actual guild owner ID ([INT](#int-interger))

* `__guild_description__` -> actual guild description ([STR](#str-string))

* `__guild_roles__` -> list of roles ID ([LIST ](#list-list)-> [INT](#int-interger))

* `__guild_role_count__` -> number of roles in the guild ([INT](#int-interger))

* `__guild_emojis__` -> list of emojis ID ([LIST ](#list-list)-> [INT](#int-interger))

* `__guild_emoji_count__` -> number of emojis in the guild ([INT](#int-interger))

* `__guild_channels__` -> list of any channel ID in the guild ([LIST ](#list-list)-> [INT](#int-interger))

* `__guild_text_channels__` -> list of text channels ID in the guild ([LIST ](#list-list)-> [INT](#int-interger))

* `__guild_voice_channels__` -> list of voice channels ID in the guild ([LIST ](#list-list)-> [INT](#int-interger))

* `__guild_categories__` -> list of categories channels ID in the guild ([LIST ](#list-list)-> [INT](#int-interger))

* `__guild_stage_channels__` -> list of stage channels ID in the guild ([LIST ](#list-list)-> [INT](#int-interger))

* `__guild_forum_channels__` -> list of forum channels ID in the guild ([LIST ](#list-list)-> [INT](#int-interger))

* `__guild_channels_count__` -> number of all channels in the guild ([INT](#int-interger))

* `__channel__` -> actual channel ID who the command was sent ([INT](#int-interger))

* `__channel_name__` -> actual channel name who the command was sent ([STR](#str-string))

* `__channel_type__` -> actual channel type if available ([STR ](#str-string)/ [NONE](#none-nothing))

* `__channel_id__` -> actual channel ID (like `__channel__`) ([INT](#int-interger))

* `__private_channel__` -> Return True if the current channel is private, else False ([BOOL](#bool-boolean))

* `__author__` -> actual author name of the command ([STR](#str-string))

* `__author_display_name__` -> actual author display name of the command ([STR](#str-string))

* `__author_avatar__` -> actual author avatar url of the command ([STR](#str-string)). If doesn't have, return [None](#none-nothing) value

* `__author_discriminator__` -> actual author discriminator (deprecated discord name) ([STR](#str-string))

* `__author_bot__` -> actual author was a bot ([BOOL](#bool-boolean))

* `__author_nick__` -> actual author nickname ([STR](#str-string)). If doesn't have, return [None](#none-nothing) value

* `__author_id__` -> actual author id ([INT](#int-interger))

* `__message__` -> actual message content ([STR](#str-string))

* `__message_content__` -> actual message content (like \_\_message\_\_) ([STR](#str-string))

* `__message_author__` -> actual message author ID ([INT](#int-interger))

* `__message_id__` -> actual message id ([INT](#int-interger))

* `__message_before__` -> overwritten if the "modification d'un message" event is triggered. Content message before editing. If used in another event/command, it's like `__message__` ([STR](#str-string))

* `__message_url__` -> actual message url if available ([STR ](#str-string)/ [NONE](#none-nothing))

* `__last_message__` -> last message ID of the current channel if available ([INT ](#int-interger)/ [NONE](#none-nothing))

{% hint style="info" %}
If ident was used since have information, it was considered like a [string](#str-string)
{% endhint %}

Ident can be used in [string](#str-string) value with the `$` caracter placed before the ident :&#x20;

```
var my_ident "some random text"  ## command to create an ident with a text

sm "my current ident is : $my_ident"  ## command to send a message to the current channel
```


---

# Agent Instructions
This documentation is published with GitBook. GitBook is the documentation platform designed so that both humans and AI agents can read, navigate, and reason over technical content effectively. Learn more at gitbook.com.

## Querying This Documentation
If you need additional information that is not directly available in this page, you can query the documentation dynamically by asking a question.

Perform an HTTP GET request on the current page URL with the `ask` query parameter, and the optional `goal` query parameter:

```
GET https://assurancetourix.gitbook.io/assurancetourix/customc/dshell/types.md?ask=<question>&goal=<endgoal>
```

`ask` is the immediate question: it should be specific, self-contained, and written in natural language.
`goal` is optional and describes the broader end goal you are ultimately trying to accomplish on behalf of the user. GitBook uses it to tailor the answer towards what is most useful for that goal.

The response will contain a direct answer to the question and relevant excerpts and sources from the documentation.

Use this mechanism when the answer is not explicitly present in the current page, you need clarification or additional context, or you want to retrieve related documentation sections.
