# Get Emojis

> Get all emojis from a server.

- ID: `list_emojis`
- Type: Loop
- Category: [Emojis](https://inventor.bot/docs/reference/blocks/emojis.md)

- Loop block: write `for item := range list_emojis(Args{...}) { ... }` and read the current item's outputs from `item`. See loops.

**Inputs**

| Name | Required | Description | Value |
| --- | --- | --- | --- |
| `server_id` | yes | ID of the server to retrieve emojis from. |  |
| `body` |  | Blocks to run for each emoji. | blocks: `func() { ... }` |

**Outputs**

| Name | Description | Value |
| --- | --- | --- |
| `iteration_number` | Current iteration (1-based). | e.g. `"1"` |
| `total_iterations` | Total number of emojis. | e.g. `"5"` |
| `id` | ID of the emoji. |  |
| `name` | Name of the emoji. |  |
| `animated` | Whether the emoji is animated. |  |
| `available` | Whether the emoji is available for use. |  |
| `managed` | Whether the emoji is managed by an integration. |  |
| `requires_colons` | Whether the emoji requires colons. |  |
| `roles` | Comma-separated role IDs that can use the emoji. |  |
| `user_id` | ID of the emoji creator, if available. |  |
| `api_name` | API-ready emoji name (name:id or a:name:id). |  |

**Example**

```go
for emoji := range list_emojis(Args{server_id: trigger.server_id}) {
	send_text_message(Args{channel_id: trigger.channel_id, message_content: "Emoji ID: " + emoji.id})
}
```