Как зарабатыватьстикеры в Телеграмме

Стикеры в Telegram

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

Что такое стикеры и стикер-паки в Телеграмме?

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

Стикер – это небольшая наклейка без заднего фона, содержащая картинку, выражающую определенное отношение, подогнанная для пересылки в мессенджере. Первые стикеры появились в 2010 году, заменив стандартизированные эмодзи.

Для создания наклеек используются нарисованные картинки, коллажи или фрагменты фотографий. Рисунок может дополняться текстом, усиливая эффект восприятия эмоции.

Как и в других приложениях, стикеры в Telegram собраны в группы, объединенные общим героем или стилем. Такие группы называются стикер-паками.

Как я делаю стикеры для Telegram | Not DIY

Стикеры и стикер-паки в Телеграмме

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

  • Чтобы наклейку использовать при переписке необходимо изображение в формате PNG.
  • Размер стикера должен быть в пределах квадрата со стороной 512 пикселей, где одна из сторон может быть чуть меньше.
  • Хорошо, если наклейка будет иметь белую обводку и тень, тогда ее лучше будет видно.

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

В мае 15 года Телеграмм запустил программу, позволяющую пользователям самим создавать стикеры, подходящие для пересылки внутри мессенджера.

Для этого нужно подобрать изображения в формате PNG размером 512×512 количеством не более 120 картинок.

  • /newpack — создать новый стикер пак.
  • /addsticker — добавить стикер в существующий стикер пак.
  • /delsticker — удалить стикер в существующий стикер пак.
  • /ordersticker — поменять порядок стикеров в стикер паке.
  • /stats — получить статистику по стикеру
  • /top — получить лучшие стикеры / продвинуть стикер в топ.
  • /packstats — получить статистику по стикер паку.
  • /packtop — получить лучшие стикер паки / продвинуть стикер пак в топ.
  • /cancel — отмена текущей операции.

Приложения для телефона

Можно создавать стикеры на смартфоне, используя для этого специальные приложения.

Android

Для создания наклеек в Телеграмм на гаджетах с ОС Андроид в Google Play можно найти приложение, задав в поисковике запрос «стикеры для телеграмм». Среди предложенных приложений выбрать «Stickergram (Sticker Builder)» — бесплатную программу для создания и редактирования изображений в Телеграмм.

Программа проста в использовании и подходит для преобразования картинок или фотографий. Для создания стикера необходимо:

Как заработать на стикерах?

  • В открытом приложении активировать функцию «Создать стикер»;
  • Выбрать изображение с помощью одноименной строки;
  • Открыть подходящее изображение для редактирования и кадрировать его;
  • Очистить фон вокруг выбранного фрагмента;
  • Сделать обводку и добавить тень по желанию;
  • Завершить редактирование, сохранив результат.

iPhone

Для Айфона в App Store найти бесплатное приложение «Sticker Tools». После скачивания и установки программы на смартфон можно самостоятельно создавать пакеты стикеров, действуя следующим образом:

  • открыть выбранную картинку в приложении, импортировав ее с телефона;
  • выделить фрагмент, удалив лишний фон с помощью инструментов;
  • сделать текстовые вставки;
  • сохранить полученную картинку.
  • запустить бот, нажав на «Старт»;
  • ввести команду /newpack;
  • добавить в сообщение файл с изображением;
  • следом отправить смайлик с нужной эмоцией;
  • повторять процесс пока не добавятся все выбранные картинки и эмоции;
  • активировать /publish;
  • вставить имя для пакета в короткую ссылку (можно использовать только буквы латинского алфавита);
  • открыть ссылку на стикер-пак и добавить его.

Веб-сервисы

Для создания стикеров в веб-версии мессенджера лучше использовать фотошоп, запросив у бота в Телеграмм psd-шаблон.

Важно помнить, что полученную картинку нужно сохранять в формате png.

Создание из фотографий

Фотошоп – идеальная программа для создания стикеров из фотографий. Алгоритм действий такой:

  • Открыть фотошоп и создать файл размером 512×512;
  • Выбрать прозрачный фон;
  • Импортировать фотографию;
  • С помощью «быстрого выделения» обвести нужный фрагмент;
  • Выровнять контур, используя инструмент «Выделение и маска», далее «Радиус», «Сглаживание» и «Контрастность»»
  • Перенести копию выделенного фрагмента на новый слой;
  • Во вкладке «Слои» с помощью клавиш Ctrl + T выбрать «Перемещение»;
  • Уменьшить фрагмент, зажав Shift;
  • В «Параметрах наложения» сделать обводку и наложить тень;
  • С помощью инструмента «Текст» сделать надпись, добавив обводку и тень;
  • Нажать «Файл» и в выпавшем окне выбрать «Экспортировать» — «Быстрый экспорт в PNG»;
  • Сохранить результат.
Еще по теме:  Почему нет микрофона в Телеграмме

Как создать стикер-пак для продажи?

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

Как добавить свои стикеры пошагово?

  • Дать боту команду /newpack и указать задуманное название стикер-пака;
  • Выбрать и отправить картинку и соответствующую ей эмоцию. Повторять операцию пока не закончатся выбранные фрагменты в пределах 120 изображений;
  • Ввести команду /publish и указать короткое имя набора, набранное латинскими буквами длиной не менее 4-х знаков. Это обозначение будет использоваться в ссылке;
  • В случае ошибки весь процесс можно отменить командой /cancel;
  • Далее бот пришлет ссылку на пакет наклеек, которую можно будет отправить друзьям и в банк стикеров Телеграмм.

Как найти готовые telegram stickers?

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

Как найти готовые telegram stickers?

Как отправить стикер собеседнику?

Чтобы отправить картинку в чат, нужно в теле беседы нажать на «Смайлик» и в последней вкладке с изображением наклейки выбрать стикер-пак. Новый набор будет в верху списка.

Выбрав пакет наклеек, нажать кнопку «Добавить». Затем открыть набор и выбрать нужную эмоцию, кликнув по ней.

Стикеры в Telegram

Как перенести стикеры из Телеграмма в ВК и наоборот?

У пользователей мессенджера Telegram и соц.сети «ВКонтакте» есть возможность обмениваться наборами наклеек.

Процесс не легкий и проводится на компьютере:

  • В коллекции стикеров Телеграмм выбрать пакет и кликнуть на названии левой кнопкой мыши;
  • В открывшейся галерее выбрать стикер и нажать на него;
  • На развернутой картинке кликнуть правой кнопкой и в выпавшем меню выбрать «Исследовать элемент»;
  • В новом окне для разработчиков перейти в «Elements»;
  • Отыскать в списке html-тег img с идентификатором «lightboxImage»;
  • Сохранить адрес начальной картинки, расположенный после сочетания «src»;
  • Используя ссылку, открыть новую страницу с изображением и с помощью «Сохранить изображение как…», перенести картинку в отдельную папку.

Далее, присоединившись к группе «Стикеры Вконтакте» ((https://vk.com/vkstickers), вставить выбранные наклейки в тело колонки «Предложить новость». Коротко описать пакет и активировать кнопку.

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

В обратном порядке из соц.сети в Telegram процесс пройдет так:

  • Выбрать понравившийся пакет наклеек и перейти по ссылке типа https://vk.com/stickers/nazvanie;
  • Кликнув на картинке правой копкой мыши, открыть изображение на новой странице;
  • В адресе открывшегося окна , где «хххх» — имя определенной картинки, изменить 128 на 512;
  • Вызвать контекстное меню картинки и нажать «Сохранить как…».

Как удалить стикеры из Телеги?

Если набор стикеров разонравился, то его можно удалить.

Создателю

Автор стикер-пака может удалить свое творение, дав боту команду /delsticker и послав ненужную картинку. Команда /delpack и ссылка на пакет удалят набор полностью.

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

Пользователю

Для удаления стикеров в мобильной версии необходимо на вкладке выбора стикеров зайти в настройки и с помощью опций ( три вертикальных точки) выбрать удаление пакета.

В веб-версии на панели выбора наклеек перейти в настройки (шестеренка). В выпавшем списке отметить ненужные наборы, кликнув на корзину, и подтвердить удаление.

Еще один способ – это использовать крестик в верхнем углу возле названия стикерпака.

Источник: o-telegram.ru

Как получать донаты в Telegram, публикуя платные фото и видео

Как получать донаты в Telegram, публикуя платные фото и видео

Подписывайтесь на наш Телеграм

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

Как получать донаты в Telegram, публикуя платные фото и видео Как получать донаты в Telegram, публикуя платные фото и видео

Примечание 2: платные посты на iOS-устройствах в нативном формате (оплата непосредственно на карту владельца канала) не поддерживаются. Как сообщил Павел Дуров, ограничение связано с правилами App Store, поскольку любой вид монетизации внутри приложения обязан проходить через платёжную систему Apple с собственной комиссией 30%. В итоге было решено полностью отключить возможность, поэтому она вряд ли вернётся в будущем.

Важно: что требуется для подключения

Как получать донаты в Telegram, публикуя платные фото и видео Как получать донаты в Telegram, публикуя платные фото и видео Как получать донаты в Telegram, публикуя платные фото и видео Как получать донаты в Telegram, публикуя платные фото и видео

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

Еще по теме:  Боты для Телеграм для общения на русском

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

Фонд золотых цитат: как сгенерировать стикеры из сообщений в 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

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