> ## Documentation Index
> Fetch the complete documentation index at: https://wiki.petto.sbs/llms.txt
> Use this file to discover all available pages before exploring further.

# Message link embeds

> When someone posts the link of a message of the server, Petto shows what it says in an embed, only to people who can already see it. Off until you turn it on.

## Overview

When a member posts the link of a message of this server (`https://discord.com/channels/...`, copied with **Copy Message Link**), Petto answers with an embed of that message: who wrote it, its text, its first picture, its other files, any sticker, who it replies to, the channel and the time, and a **Jump to message** button. It is a way to bring a message into a conversation without sending people to scroll for it.

It is **off in every server** until a member with **Manage Server** turns it on. A server that never turns it on sees no change at all.

## Commands

```javascript Syntax theme={null}
!messagelinks
!messagelinks on
!messagelinks off
!messagelinks status
!messagelinks ignore <channel>
!messagelinks unignore <channel>
```

```javascript Example theme={null}
!messagelinks on
!messagelinks ignore #staff-chat
!messagelinks status
```

It needs **Manage Server**. `!messagelinks` also works as `!msglinks`, `!linkembed` and `!mlinks`, and as the slash command `/messagelinks`. With no subcommand it shows the status.

* **`on`** and **`off`** turn the feature on or off for the server. When you turn it on, Petto says if it lacks **Embed Links** in the channel you are in.
* **`status`** shows whether it is on, the ignored channels and the rules below.
* **`ignore`** stops Petto from opening links posted in that channel, and from opening messages that live in it. A thread is ignored when its channel is. Up to 50 channels.
* **`unignore`** takes a channel off that list.

The same switch and the list of ignored channels are in the dashboard: **Community**, **Settings**, the card **Message link embeds**.

## Who can see what

This feature shows the content of a message, so it follows strict rules, and when one of them is not met Petto does nothing and says nothing.

* **Only what the member who posted the link can already see.** Petto checks the permissions of that member in the linked channel (or thread): they need **View Channel** and **Read Message History** there. A private thread is shown only to someone who is in it or can manage threads.
* **Petto needs the same permissions** in the linked channel, and **Embed Links** and **Send Messages** where the link was posted. Without Embed Links it shows nothing and notes it once in its log.
* **Same server only.** A link to a message of another server is ignored.
* **NSFW channels** are never shown in a channel that is not NSFW.
* **Ignored channels** are not read and not shown, in either direction.

## What is left alone

* Links inside code (`` `like this` `` or a code block), inside a spoiler, or written as `<https://...>`, the way Discord asks for no preview.
* Links posted by a bot or a webhook, and links to system messages, to messages only the person who used a command could see, or to messages that were deleted.
* A link to the message that contains it.
* A message that has more than 3 links: only the first 3 are shown, in one answer.

## What the embed shows

* The name and the avatar of the author, with a link to the message.
* The text, cut at the limit of an embed. A message of a bot that only has an embed shows the title and the text of that embed.
* The first picture attached (or, if there is none, the first picture of an embed of the message) as the image. A picture sent as a spoiler is only listed as a link.
* The other files, and the other pictures of embeds, listed by name with their links.
* A note for each sticker, and a line for who the message replies to.
* The channel and the time in the footer, and the **Jump to message** button.

Videos, audio, polls and music are not played or drawn: a video is listed as a file.

## Limits and privacy

* At most **3 links per message** and one answer every **3 seconds in each channel**, so a flood of links cannot be used to spam. There is no other limit, and none depends on a plan.
* The answer is a reply to the message with the link, it **pings nobody** (not the author of the shown message, not the member who posted the link), and it never deletes or edits the member's message, even if it only has the link.
* Petto keeps nothing: it reads the one message that is linked, builds the embed and lets it go. Only the switch and the list of ignored channels are saved.

> [!NOTE]
>
> Changing the setting in the dashboard reaches the bot within a moment; with the command it is immediate.


This documentation is built and hosted on [Mintlify](https://mintlify.com), a developer documentation platform.