Documentation menu

Message formatting

Safe Markdown, fillings, and URL buttons for welcome and goodbye templates.

Greeting templates use a safe Markdown-style format. Raw HTML is shown as plain text, so a custom message cannot inject Telegram markup. Lucy validates templates when you save them with /setwelcome or /setgoodbye.

Text styles

You write Result
*bold* or **bold** bold
_italic_ italic
__underline__ underline
~strikethrough~ strikethrough
||spoiler|| spoiler
`code` inline code
```blocks``` preformatted block
> text quoted block
[label](https://…) inline link

Fillings

These placeholders expand when the message sends:

Filling Meaning
{first} First name
{last} Last name
{fullname} Full name
{username} @username when present
{mention} Clickable mention
{id} Numeric user id
{chatname} Group title

Unknown placeholders are rejected on save.

URL buttons

Put each button on its own template line:

[Rules](buttonurl://https://example.com/rules)

Append :same to place a button on the same row as the previous one:

[Chat](buttonurl://https://t.me/example:same)

Only these URL schemes are accepted for inline links and buttons:

  • http:
  • https:
  • tg:

Validation

Lucy rejects templates that include invalid placeholders, unsafe links, empty bodies, or text over Telegram’s length limit. Fix the template and run /setwelcome or /setgoodbye again. See also Greetings.