Skip to content

Cleaning Service Messages

Telegram often sends service messages such as "X joined the chat", "X left the chat", "X pinned a message", or "X joined the voice chat". These typically show as little grey icons in the chat.

Some people find these messages to be disruptive, and want them gone. Which can be done using Rose! Simply enable the cleanservice functionality to remove those unwanted service messages.


Telegram sometimes stops sending service messages when the group reaches a certain size. This isn't Rose deleting the messages, it's just Telegram not sending them! At time of writing, those limits are: - 50 members: no more "X left the chat" service messages - 10 000 members: no more "X joined the chat" service messages


Service messages are sent by Telegram, NOT Rose! Cleanservice cannot be used to delete Rose's messages.

Enabling cleanservice

If you simply want Rose to delete all service messages, you can enable cleanservice using the following command:

/cleanservice on

Disabling cleanservice

On the other hand, to disable cleanservice, you can use:

/cleanservice off

Advanced cleanservice customisations

If you're looking to delete a specific type of service message but not others, you can also specify the individual service messages to be deleted. This can be done by using the types defined in the table below.

Service message types

Service Type Description
all All service messages (same as "on")
join When a new user joins, or is added. eg: 'X joined the chat'
leave When a user leaves, or is removed. eg: 'X left the chat'
other Miscellaneous items; such as successful Telegram payments, proximity alerts, webapp messages, or message auto deletion changes.
photo When the chat photo changes.
pin When a new message is pinned. eg: 'X pinned a message'
title When the chat title changes.
videochat When a video chat action occurs - eg starting, ending, scheduling, or adding members to the call.

The above list can also be obtained using the following command:


Customising which messages to clean

You can specify individual types to delete using the following command:

/cleanservice <type>

On the other hand, if you want to stop deleting a specific service message, use:

/nocleanservice <type>


If you want to delete all join, leave, and pin service messages, but not others, you would use the following command:

/cleanservice join leave pin