Как создать стикеры в Телеграмме самому на Айфоне

Стикеры в Telegram

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

Что такое стикеры

Стикеры являют собой маленькие картинки (наклейки), посредством которых можно выразить любые эмоции, задать тон общению и придать беседе особый колорит. В Telegram стикерпаки доступны полностью бесплатно, причём мессенджер позволяет также легко создавать свои коллекции и управлять ими. С версии 5.9 поддерживаются и анимированные стикеры.

Как сделать СТИКЕР Telegram из фотки В ПАРУ КЛИКОВ! На iOS 16 и новее ☝️

Все стикерпаки в Telegram публичные, но если не поделиться ссылкой на них, набор не увидят другие пользователи.

Требования к стикерам Telegram

Не всякую иллюстрацию можно залить в качестве стикера для Telegram. К картинкам независимо от того, в каком редакторе они предварительно создавались, предъявляются следующие требования:

  • Файл следует отправлять боту в формате PNG.
  • Картинка должна вписаться в квадрат 512х512 (одна сторона — 512 пикселей, другая — 512 или менее указанного значения).
  • Вес наклейки не должен превышать 350 КБ.
  • Фон — прозрачный.
  • Для лучшего отображения на любом фоне рекомендуется добавить белую обводку и тень.
  • Иллюстрации должны быть собственные, не защищённые авторским правом.

Изображения привязываются к определённой эмоции, для чего при создании коллекции боту нужно отправлять пары «смайлик-эмодзи и картинка». Максимум в наборе может быть 120 стикеров.

Стикеры для Telegram

Что касается анимированных наклеек, то к ним предъявляются такие требования:

  • Файл сохраняется в формате TGS.
  • Ограничения по размерам 512х512, изображение не должно выходить за края.
  • Длительность анимации составляет не более 3 секунд.
  • Вес не должен превышать 64 КБ.
  • Анимация делается зацикленной.
  • Все стикеры коллекции с одинаковым FPS (30 или 60).
  • В анимации не используются «Выражения» (Expressions) и «Эффекты» (Effects), не позволяющие сохранять наклейки в формате TGS.

Как создать стикеры

Сделать стикеры для Telegram можно как на компьютере, так и на телефоне, применяя специальный софт — штатный или сторонний. Это несложно, главное — выполнить обязательные требования, предъявленные к изображениям, иначе загрузить стикерпак не получится.

Как создать стикеры для Telegram на компьютере

Для создания наклеек можно применять программу Photoshop или другой графический редактор, в том числе онлайн-сервисы, например, Pixlr. Лучше, если изображение уже будет располагаться на прозрачном фоне, а указать размеры поможет и встроенное приложение операционной системы (в Windows это небезызвестный Paint). Подогнать габариты картинки можно, используя соответствующий инструмент на главной панели меню, открывающий окно для указания необходимого размера в пикселях. Формат также можно поменять в Paint, выбрав PNG при сохранении файла. Затем, используя бота для создания стикеров, результаты трудов можно отправить в Telegram.

Создание стикеров для Telegram с использованием Photoshop, как и в случае с любым другим редактором, не отличается сложностью, даже если раньше вы не имели дел с программой. Процесс подразумевает следующие действия:

  • Запускаем фоторедактор и загружаем исходное изображение в программу (или онлайн-сервис).
  • Путём перетягивания картинки и используя инструмент масштабирования, подготавливаем рабочее пространство.
  • Чтобы в фоторедакторе активировать поддержку прозрачности, разблокируем слой двойным щелчком по иконке в виде замка.
  • Вырезаем нужный элемент, используя один из инструментов выделения (например, «волшебную палочку», «прямолинейное лассо», «перо») и ластик. Выделяем объект удобным для вас инструментом, инвертируем выделенную область и стираем ластиком ненужный фон, альтернативный вариант — использование «волшебного ластика».
  • Оформляем картинку, добавив белую обводку и тень (опции доступны в стилях слоя), чтобы стикер эффектнее смотрелся, по желанию добавляем текст.
  • Для приложения Telegram сохраняем картинку с учётом требований (вписавшись в квадрат 512х512 и используя формат для сохранения PNG).

Аналогичные действия позволяют делать иллюстрации и в онлайн-сервисах, предлагающих практически те же возможности для создания подходящих для мессенджера картинок.

СОВЕТ. Отправленный ботом файл с примером подходящего изображения можно открыть в Photoshop и применить в качестве шаблона.

Как создать стикеры для Telegram на смартфоне

Мобильный софт предлагает аналогичные возможности для удаления фона и оформления стикера. Нужный формат, вес и размер картинки легко сделать, используя смартфон. Так, для устройств на базе Android можно использовать приложение Sticker Creator Ad, а для iPhone — Sticker Tools, причём принцип выполняемых работ не отличается:

  • Устанавливаем софт через магазин Google Play (или App Store в случае с iOS) стандартным способом.
  • Запускаем приложение, выбираем картинку из галереи смартфона.
  • Ждём обработки изображения программой и выбираем требуемую область. Следуя инструкциям, убираем фон (помним о лимите по размерам для стикеров Telegram).
  • Оформляем картинку по своему вкусу.
  • Сохраняем работу в формате PNG в галерею девайса. Теперь картинки, соответствующие всем условиям, осталось переслать боту для создания своего стикерпака (об этом ниже).
Еще по теме:  Можно ли написать заблокированному контакту в Телеграмме

Как сделать анимированные стикеры для Telegram

Подвижные картинки ещё более интересны, чем статичные изображения. Telegram поддерживает анимированные стекеры, а сделать их вы сможете и сами в программе Adobe After Effects посредством плагина Bodymovin-TG, позволяющего экспортировать анимацию в формат TGS (согласно требованиям Telegram, см. выше). Использоваться может любой редактор, обеспечивающий возможность экспорта векторных объектов в After Effects.

Чтобы установить плагин, нужно выполнить следующее:

  • Инсталлируем ZXP Installer с официального сайта https://zxpinstaller.com/.
    ZXP Installer для ПК
  • Качаем свежую версию bodymovin-TG (bodymovin-tg.zxp).
    bodymovin-TG для Пк
  • Переходим к ZXP Installer и перетягиваем дополнение bodymovin-tg.zxp.
  • Открываем After Effects и идём в меню «Правка» (Edit) — «Настройки» (Preferences) — Сценарии и выражения (Scripting https://nastroyvse.ru/programs/review/kak-sdelat-svoi-stikery-v-telegram.html» target=»_blank»]nastroyvse.ru[/mask_link]

    Фонд золотых цитат: как сгенерировать стикеры из сообщений в Telegram

    Все началось с одной из учебных групп в Telegram. Студенты там очень любят делать стикеры из сообщений своего преподавателя. Я выяснил, что делаются они в полуавтоматическом режиме: сообщение пересылается в бота, который рисует «пузырек» сообщения, а результат пересылается в официального стикер-бота.

    Схема рабочая, но напрашивается идея минимизировать количество пересылок. Тем более, что в Telegram существуют боты, создающие пользовательские стикерпаки. Рассказываю, как сделать такого бота без лишних телодвижений, и даю свое творение на тест. Если не хотите запариваться с созданием бота, но не против запечатлеть парочку своих золотых цитат для потомков, — прошу под кат.

    Концепт идеи прост: пользователь пересылает сообщение в диалог с ботом, бот создает стикер.

    Чтобы было интереснее, введем дополнительные ограничения:

    • никаких баз данных, даже встроенных;
    • никаких промежуточных файлов, стараемся делать все в памяти.
    • вся информация хранится в Telegram, у бота нет данных — не нужно думать о резервном копировании;
    • для запуска бота нужен только код и файл конфигурации;
    • бот может быть запущен даже на Raspberry Pi (кстати, сервер с этим одноплатником можно получить в Selectel в течение часа).

    Основа

    Итак, регистрируем нового бота или используем старого. Все операции с ними производятся через официального BotFather. Для начала хватит идентификатора бота (username) и токена для API.

    Представленный в статье код адаптирован для объяснения в контексте статьи. Ссылка на оригинальный исходный код будет в конце.

    Для Bot API уже есть обертка, названная python-telegram-bot. В статье используется версия 13.4.1. Создаем простой обработчик текстовых сообщений:

    def on_message_received(update: Update, context: CallbackContext): # Игнорируем все события, кроме получения сообщения if not update.message: return # Если идентификатор чата не равен идентификатору отправителя, # то бота включили в группу. Игнорируем. if update.message.chat_id != update.message.from_user.id: return # Синтетическое ограничение: хотим работать только с пересланными сбщ if not update.message.forward_from: update.message.reply_text(«Only forwarded messages supported!») return print(update.message)

    Создаем бота и регистрируем обработчик.

    import toml from telegram.ext import Updater, MessageHandler, Filters config = toml.load(‘dsb.toml’) bot = Updater( token=config[«telegram»][«token»] ) bot.dispatcher.add_handler( MessageHandler(Filters.update.message, on_message_received) ) bot.start_polling() bot.idle()

    Теперь боту можно переслать любое сообщение, и он выведет в stdout данные, которые ему доступны.

    Вывод обработчика сообщений без чувствительных данных

    < ‘message_id’: 391, ‘date’: 1640260315, ‘chat’: < ‘id’: 00000001, ‘type’: ‘private’, ‘username’: ‘someone-s-username’, ‘first_name’: ‘Пример’, ‘last_name’: ‘Примерыч’ >, ‘forward_from’: < ‘id’: 0000002, ‘first_name’: ‘Иван’, ‘is_bot’: False, ‘last_name’: ‘Иваныч’, ‘username’: ‘totally-not-a-bot’, ‘language_code’: ‘en’ >, ‘forward_date’: 1640259241, ‘text’: ‘пример!’, ‘entities’: [], ‘caption_entities’: [], ‘photo’: [], ‘new_chat_members’: [], ‘new_chat_photo’: [], ‘delete_chat_photo’: False, ‘group_chat_created’: False, ‘supergroup_chat_created’: False, ‘channel_chat_created’: False, ‘from’: < ‘id’: 00000001, ‘type’: ‘private’, ‘username’: ‘someone-s-username’, ‘first_name’: ‘Пример’, ‘last_name’: ‘Примерыч’, ‘language_code’: ‘ru’ >>

    В представленном выводе доступна следующая информация:

    • forward_from — информация об авторе пересланного сообщения;
    • text — текст пересланного сообщения.

    # получаем первую (текущую) аватарку пользователя result = context.bot.get_user_profile_photos( update.message.forward_from.id, limit=1 ) # type: UserProfilePhotos # Обрабатываем ситуацию, когда аватарки нет, или она скрыта настройками приватности if result.total_count > 0: file = context.bot.get_file(result.photos[0][0].file_id) # type: File

    Вызов get_user_profile_photos() возвращает двумерный массив записей типа File. Первое измерение задает количество аватарок у пользователя, но не больше limit. Второе измерение задает аватарку разных размеров. В нашем случае достаточно забрать первую попавшуюся картинку, но для оптимизации стоит сразу выбирать картинку подходящего разрешения.

    Объект file имеет метод download_as_bytearray(), что позволяет загрузить аватарку в память без использования промежуточных файлов.

    Теперь, когда есть необходимая информация, можно нарисовать «пузырек».

    Рисуем стикер

    Пример созданного изображения

    Для рисования используем библиотеку Pillow версии 8.4.0. Шрифт — OpenSans, такой же используется в официальных приложениях Telegram.

    Мессенджер накладывает ограничение на стикеры: как минимум одна сторона должна быть размером 512 пикселей. Так как мы генерируем сообщение, то можно зафиксировать ширину, а высоту рассчитывать в зависимости от количества текста.

    # Импортируем шрифт, кегль 26 OPEN_SANS = ImageFont.truetype(‘OpenSans.ttf’, 26) # Разбиваем сообщение на строки из расчета, # что в одной строке не больше 30 символов text = textwrap.wrap(update.message[«text»], width=30) # Получаем высоту шрифта font_height = OPEN_SANS.getsize(text[0])[1] # Рассчитываем высоту картинки height = font_height * (len(text) + 1) + 2*BUBBLE_PADDING if height > 512: raise OverflowError(«Image too big»)

    Функция textwrap.wrap() разбивает строку на массив строк, пытаясь сделать перенос по пробелам. Расчет высоты картинки прост:

    • отступ от начала — BUBBLE_PADDING, в моем случае 10px;
    • имя отправителя — font_height;
    • сообщение — font_height * len(text);
    • отступ до конца — BUBBLE_PADDING.

    # Скачиваем аватарку как массив байт data = file.download_as_bytearray() # Класс Image из Pillow умеет читать только из потоков, # создаем виртуальный байтовый поток avatar = Image.open(BytesIO(data)) # type: Image.Image # Аватарки в Телеграме квадратные, поэтому просто масштабируем # до желаемого размера size = (AVATAR_SIZE, AVATAR_SIZE) avatar = avatar.resize(size, Image.ANTIALIAS) # Создаем круглую маску mask = Image.new(‘L’, size, 0) draw = ImageDraw.Draw(mask) draw.ellipse((0, 0) + size, fill=255) # Заполняем прозрачным по маске avatar = ImageOps.fit(avatar, mask.size, centering=(0.5, 0.5)) avatar.putalpha(mask)

    Теперь у нас есть сообщение и аватарка. Создаем «холст» и начинаем рисовать. Обязательно выбираем цветовой режим RGBA и делаем прозрачный (alpha = 0) основным цветом «холста».

    # Создаем изображение img = Image.new(‘RGBA’, (width, height), color=(255, 255, 255, 0)) # Создаем холст, на котором рисуем d = ImageDraw.Draw(img) # Если есть аватарка – вставляем, если нет – рисуем синий круг if avatar: img.paste(self.avatar, (0, 0)) else: d.ellipse((0, 0, AVATAR_SIZE, AVATAR_SIZE), fill=»blue») # Рисуем черный пузырек d.rounded_rectangle((BUBBLE_X_START, 0, width, height), fill=»black», radius=BUBBLE_RADIUS) # Первая строка – розовый заголовок, имя d.text( (TEXT_X_START, BUBBLE_PADDING), update.message.forward_from.first_name, fill=»pink», font=OPEN_SANS ) # Вторая и последующие строки – текст сообщения offset = BUBBLE_PADDING + font_height for line in self._text: d.text((TEXT_X_START, offset), line, fill=»white», font=OPEN_SANS) offset += font_height

    Финальный штрих — сохранить изображение. Так как мы все держим в памяти, то сохраняем также в виртуальный байтовый поток.

    sticker = BytesIO() # Для прозрачности сохраняем в PNG img.save(sticker, ‘PNG’) # Отматываем поток на начало, чтобы из него можно было считать sticker.seek(0);

    Осталось совсем немного: загрузить стикер в Telegram и передать его пользователю.

    Заполнение набора стикеров

    Те, кто создавал собственные наборы, знают, что для всех операций со стикерами необходимо обращаться к боту Stickers. Однако, в Bot API есть набор вызовов для взаимодействия со стикерами, в том числе функция создания набора. Созданный ботом набор стикеров имеет следующие особенности:

    • уникальное имя набора (используется в ссылках вида https://t.me/addstickers/ ) обязательно должно заканчиваться на _by_%BOT_USERNAME%;
    • набор стикеров принадлежит пользователю и может быть отредактирован через бота Stickers;
    • для управления набором стикеров через бота требуется его уникальное имя и идентификатор пользователя.

    Имя бота в уникальном имени набора неявно используется для аутентификации действий бота. Так, зная идентификатор пользователя, произвести деструктивные действия с набором не получится.

    Эта «особенность» исправляется хэшированием. Мне показалось подходящим использовать UUIDv5, который использует SHA-1 для хэширования. Правда, UUIDv5 не соответствует сразу двум ограничениям Telegram:

    • может начинаться с цифры;
    • имеет запрещенные символы — дефисы.

    # id пользователя + соль sid = f»-» # Генерируем uuidv5 и конвертируем в строку uid = str(uuid.uuid5(uuid.NAMESPACE_X500, sid)) # Удаляем дефисы uid = uid.replace(«-«, «») # В качестве буквенного префикса используем s sticker_set_name = f»s_by_»

    Теперь у нас все есть, создаем набор с первым стикером.

    context.bot.add_sticker_to_set( user_id=update.message.from_user.id, name=sticker_set_name, emojis=DEFAULT_EMOJI, png_sticker=bio )

    Если функция вернула True, то стикерпак создан. Если мы хотим добавить еще один стикер, то сперва набор нужно найти.

    # get_sticker_set выбросит исключение, если набора нет. # Это можно использовать для определения, когда нужно создать набор. sticker_set = context.bot.get_sticker_set(sticker_set_name) # type: StickerSet # Наборы ограничены по 120 стикеров if len(sticker_set.stickers) >= 120: update.message.reply_text(«Sticker set is full») return # Добавляем! context.bot.add_sticker_to_set( user_id=update.message.from_user.id, name=sticker_set_name, emojis=DEFAULT_EMOJI, png_sticker=bio )

    Стикеры добавляются в набор мгновенно, но у пользователей отображаются в течение нескольких часов. Наиболее оперативный способ обновить набор — удалить из сохраненных наборов и добавить заново.

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

    sticker_set = context.bot.get_sticker_set(sticker_set_name) # type: StickerSet update.message.reply_sticker(sticker_set.stickers[-1])

    Вот и все, бот готов.

    Конечно, это далеко не продуктовый вариант, так как Emoji не поддерживаются, существует ограничение на 120 стикеров на человека и совершенно нет кастомизации сообщений. Но для начала сойдет.

    Заключение

    Еще один маленький шажок для автоматизации рутинных процессов. Генерация стикеров — не самый популярный случай, но, если вдруг захочется автоматизировать, теперь вы знаете как.

    Для быстрого тестирования можете использовать моего бота: ohmyquotebot (если что, он не будет жить вечно). Бот не отвечает на команду /start, так что не волнуйтесь и просто пересылайте ему сообщение, из которого хотите сделать стикер.

    Исходный код доступен на GitHub.

    Источник: habr.com

    Как сделать свои стикеры в Telegram?

    Специальные программы для обмена сообщениями существуют уже несколько десятилетий. Потребность как-то передавать свои эмоции возникла ещё на заре их существования. Поначалу смайлы представляли собой набор специальных знаков, которые могли означать улыбку, подмигивание, поцелуй или что-то ещё.

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

    И тогда в свет вышли стикеры. На русском языке долгое время их называли наклейками. Это тоже графические файлы, но уже более крупного размера. По сути, это нечто среднее между традиционными эмодзи и полноценными изображениями, скачанными из интернета. Часто в них изображаются различные герои мультфильмов или популярных фильмов.

    На сегодня в интернете можно скачать огромное количество наборов стикеров, способных передать самое огромное разнообразие эмоций и чувств.

    В мессенджере Telegram также реализована поддержка наборов стикеров. Но самая главная фишка этого приложения в отличие от конкурентов заключается в том, что приобщиться к их созданию можно, даже не имея какого-либо особенного опыта. Достаточно лишь загрузить нужные картинки в интернете, провести простейшую обработку с помощью графического редактора, а затем при помощи специального бота создать набор наклеек, которым можно будет делиться с другими пользователями Телеграма.

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

    Как создать собственные стикеры в Telegram

    Какие выдвигаются требования к рисункам? Поскольку мы будем пользоваться специальным ботом, он установил ряд ограничений:

    • формат файла должен быть только PNG;
    • разрешение должно быть точно 512х512, ни пикселем больше, ни пикселем меньше;
    • размер файла не должен превышать 350 килобайт.

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

    Подготовка изображений для стикеров

    Чтобы скачать картинки в нужном размере, можно выставить соответствующие параметры в поиске по картинкам в Яндекс и Google. Для этого введите нужный запрос, после этого в настройках поиска выставьте разрешение файла 512х512. Например, в Google эти параметры можно прописать в разделе «Инструменты», а в Яндексе — в поле «Размер» прямо под строкой поиска.

    Если не получается найти картинку нужного размера, воспользуйтесь любой программой – графическим редактором. Это может быть как стандартный Paint (в Windows), так и более продвинутый Photoshop. Кроме того, существует множество онлайн-редакторов с базовым набором функций. Если вы пользуетесь Windows 10 или Mac OS, приложение для просмотра фотографий имеет встроенный редактор, в котором можно обрезать фотографию до нужного размера. Перед этим нужно выставить соотношение сторон «квадрат».

    Если у вас есть некоторые навыки графического дизайна и рисования с помощью компьютера, можно нарисовать наклейки самому.

    Не забудьте, что файл нужно сохранять в формате PNG. В Фотошопе выбирать функцию «Сохранить для Web». Скопируйте все созданные картинки в одну папку, чтобы потом их было легче искать.

    Сохранение картинки для стикера Telegram

    Создание пакета стикеров, он же «стикер пак»

    Рассмотрим, как создать стикеры прямо через меню мессенджера. После того как все картинки подготовлены и сохранены в одной папке на компьютере, можно приступать к созданию наклеек в Telegram. Обратите внимание, что разработчики советуют выполнять эту операцию на компьютерной версии программы. Итак, приступим.

    Как удалить стикер из набора

    1. Используйте команду /delsticker, чтобы инициировать процесс удаления.
    2. Далее, робот предложит выбрать стикерпак из списка сохранённых. Нажав кнопку Select, выберите тот набор, в котором вы хотите удалить лишний стикер, после чего отправьте сам стикер.
    3. Вы сразу же получите ответ, что стикер был удалён, в течение часа он исчезнет у всех пользователей.

    Если же вы хотите удалить весь набор целиком, используйте команду /delpack. После того как вы выберете стикерпак, робот попросит вас отправить сообщение «Да, удалите этот набор».

    Заключение

    Создавать свои стикеры в мессенджере «Telegram» может абсолютно каждый пользователь, даже если у него отсутствуют навыки пользования специальными программами для рисования. С помощью специального бота в стикер можно превратить абсолютно любую картинку. В комментариях делитесь ссылками на собственные наборы наклеек в Телеграме.

    Источник: nopcproblem.ru

Рейтинг
( Пока оценок нет )
Загрузка ...