SVG to TGS Анимация стикеров Telegram

кастомные эмодзи для telegram бота

Кастомные эмодзи и стикеры для Telegram-ботов

Пройдите путь от SVG-символа до Telegram custom_emoji_id и отделите подготовку графики от отправки сообщения своим ботом.

Подготовить SVG для бота

Файл TGS, идентификатор эмодзи и права бота решают разные задачи.

Подготовить SVG для бота Статичный векторный SVG. Встроенные изображения и живой текст не экспортируются как редактируемые слои.
Подготовить SVG для бота
Редактор в браузере Векторный SVG на входеПредпросмотр перед экспортомСкачивание TGS

Стикер — сообщение, эмодзи — часть текста

Отдельную реакцию бот отправляет через sendSticker. Значок рядом со словами «Задача выполнена» — кастомный эмодзи в тексте. Оба рисунка могут начинаться с SVG и TGS, но требуют разных типов набора и способов отправки. Уменьшение обычного стикера не превращает его в эмодзи.

Где появляется custom_emoji_id

В интеграции сервиса custom_emoji_id для бота копируется после успешного добавления в управляемый набор эмодзи. Pro создаёт или пополняет наборы сервиса и предоставляет предпросмотр обычных стикеров и эмодзи в Telegram. Предпросмотр нужен для оценки вида, а ID для интеграции берите из результата добавления. Произвольный пак здесь нельзя выбрать или переименовать.

Когда бот может использовать эмодзи в тексте

По текущим правилам Bot API сущности custom_emoji доступны ботам с дополнительными именами, приобретёнными на Fragment. Другой вариант — сообщения, которые бот напрямую отправляет в личные чаты, группы и супергруппы, если у владельца бота есть Telegram Premium. Это второе условие не следует переносить на каналы или inline-режим. Pro нашего сервиса не заменяет Telegram Premium и не выдаёт права Bot API.

Как это работает

От исходного SVG к эмодзи в сообщении бота

Пройдите путь от SVG-символа до Telegram custom_emoji_id и отделите подготовку графики от отправки сообщения своим ботом.

  1. Подготовьте один векторный символ

    Выберите понятное состояние: готово, ожидание или внимание. Переведите текст в контуры и замените растровые вставки вектором.

  2. Выберите SVG и войдите

    Конвертация и скачивание TGS бесплатны после входа через Telegram. При выборе SVG диагностическая копия отправляется сервису, включая выбор до входа; анимация и экспорт работают в браузере.

  3. Получите и проверьте TGS

    Выберите доступное движение, скачайте файл и проверьте его структуру. Оцените читаемость в строке текста: успешный экспорт не подтверждает корректность сообщения вашего бота.

  4. Добавьте кастомный эмодзи в набор

    Используйте соответствующее действие Pro либо официальный инструмент Telegram самостоятельно. Встроенные предпросмотр и добавление отправляют TGS через сервер сервиса в Telegram; обычное скачивание не создаёт custom_emoji_id.

  5. Скопируйте выданный идентификатор

    После успешного добавления в управляемый набор эмодзи скопируйте custom_emoji_id из ответа сервера. При ручном добавлении получите его для нужного элемента через getStickerSet.

  6. Отправьте тестовое сообщение своим ботом

    В коде бота передайте сущность custom_emoji с этим ID и обычным эмодзи в тексте как запасным отображением. Проверьте права бота и фактический результат в нужном типе чата.

Сценарии

Где подходит этот workflow

Готовьте векторную графику для стикеров, кастомных эмодзи и брендовых наборов Telegram.

Подтверждение операции

Добавьте значок рядом с понятным текстом; смысл сообщения должен сохраняться без кастомной графики.

Ожидание результата

Выберите спокойное движение, которое не мешает читать описание текущего состояния.

Отдельная реакция

Используйте обычный стикер и sendSticker, если рисунок должен занимать отдельное сообщение.

Формат

Не путайте файл, file_id и custom_emoji_id

TGS хранит анимацию, а custom_emoji_id указывает на зарегистрированный эмодзи Telegram. Это не имя файла, не file_id для передачи файла и не поле, которое нужно вычитать из содержимого TGS. Сохраняйте возвращённый ID строкой, без округления длинного числа.

Для TGS-эмодзи действует холст 512 × 512; правило 100 × 100 относится к PNG, WEBP и WEBM. Конвертер принимает SVG; готовые Lottie JSON и TGS не импортируются. Исправляйте SVG и заново экспортируйте графику, а после добавления проверяйте идентификатор нужной версии.

Советы и требования

Советы для ботов

  • Для запасного отображения используйте обычный эмодзи с тем же смыслом, желательно указанный для этого элемента набора.
  • Проверяйте не только предпросмотр сервиса, но и сообщение, отправленное вашим собственным ботом.
  • Сохраняйте соответствие между SVG, TGS, ссылкой на набор и custom_emoji_id.
  • Разделяйте ошибки: файл отклонён, ID отсутствует и бот не вправе использовать сущность — разные причины.

FAQ

Частые вопросы

Можно передать путь к TGS вместо custom_emoji_id?

Нет. Сущность в тексте ссылается на зарегистрированный кастомный эмодзи. Скачанный файл сначала нужно добавить в соответствующий набор.

Зачем оставлять обычный эмодзи в тексте?

Telegram использует его там, где кастомное отображение недоступно. Сообщение должно оставаться понятным и в таком виде; пустая подстановка не подходит.

Сервис настроит отправку сообщений моим ботом?

Нет. Здесь готовится графика и выполняются выбранные действия интеграции. Код вашего бота, его права и проверка доставки остаются отдельной задачей; принятие файла и отправка сообщения не гарантируются.

Начать

Подготовьте один символ для бота

Начните с читаемого SVG, затем отдельно проверьте регистрацию эмодзи и его использование в сообщении.

Подготовить SVG для бота