Аватар в Телеграмм jif

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

image

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

Я начал сёрфить интернет и наткнулся на довольно удобный инструмент — telethon. Он как раз и позволял мне заходить в Telegram как юзер, а не как бот. Что ж, полагаю это был самый первый и самый большой шаг к цели. Далее давайте разберем как же именно воссоздать «часы» на нашей аватарке.

Как Поставить Аватарку в Телеграмм с Компьютера / Как в Telegram Добавить Фото Профиля

Шаг первый. Получить доступ к входу в Telegram из кода

Переходим по ссылке, вводим номер телефона, после чего получаем код подтверждения. Подробнее об этом написано тут. Итак, мы получаем оттуда две важные для нас вещи — это api_id и api_hash. Создаем файл config.py и вводим туда следующий код:

api_id = api_hash =

Теперь создаем файл main.py в котором пишем:

from telethon import TelegramClient, sync from .config import *

Важно, чтобы main.py и config.py были на одном файловом уровне, т.е. в одной папке иначе строка from .config import * даст ошибку. Класс TelegramClient — это именно то, что позволит нам войти в Telegram в качестве обычного пользователя. Далее в этом же файле пишем следующее:

client = TelegramClient(, api_id, api_hash) client.start()

Таким образом, можно считать, мы залогинились в Telegram. ИМЯ СЕССИИ можете выбрать любое, на свое усмотрение (например, «ананас»). Итак, мы подключились к телеграму. Теперь пора думать о фотографиях…

Шаг второй. Создаем источник фотографий с указанием времени

Пожалуй, этот шаг явился самым легким для меня, т.к. я уже долгое время разрабатывал различное ПО, использующее компьютерное зрение, а следовательно, работа с изображениями стала чем-то обыденным. Тут все просто — устанавливаем библиотеку opencv, позволяющую творить чудеса с фотографиями. Создаем файл utils.py и пишем в ней:

Еще по теме:  Как разводят в Телеграмме

def convert_time_to_string(dt): return f»:»

Данная функция нам нужна, чтобы на фотографии было указано время в формате Ч: ММ(были и другие способы сделать это, но я предпочел именно этот).

Итак, приступаем к созданию самих фотографий. Создаем файл generate_time_images.py и пишем в нем:

from .utils import * import cv2 import numpy as np from datetime import datetime, timedelta

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

def get_black_background(): return np.zeros((500, 500))

Теперь нужно будет пройтись циклом по каждой минуте в сутках и сгенерировать фотографию с указанием времени. Заранее создайте папку time_images/ куда будете сохранять фотографии. Итак, пишем:

start_time = datetime.strptime(«2019-01-01», «%Y-%m-%d») # Можете выбрать любую дату end_time = start_time + timedelta(days=1) def generate_image_with_text(text): image = get_black_background() font = cv2.FONT_HERSHEY_SIMPLEX cv2.putText(image, text, (int(image.shape[0]*0.35), int(image.shape[1]*0.5)), font, 1.5, (255, 255, 0), 2, cv2.LINE_AA) return image while start_time < end_time: text = convert_time_to_string(start_time) image = generate_image_with_text(text) cv2.imwrite(f»time_images/.jpg», image) start_time += timedelta(minutes=1)

Для создания колеекции фотографий осталось сделать только одно — запустить generate_time_images.py. После запуска мы видим, что в папке time_images/ появилось множество фотографий. Должны получиться примерно такие фотографии:

image

Шаг третий. Обновляем фото каждую минуту

У telethon есть очень удобная штука — называется UploadProfilePhotoRequest. Импортируем ее в наш ранее написанный main.py:

from telethon.tl.functions.photos import UploadProfilePhotoRequest, DeletePhotosRequest from datetime import datetime from .utils import *

Разумеется, мы не должны обновлять аватарку в каждый момент времени — достаточно делать это раз в минуту. Для этого мы должны знать момент, когда заканчивается старая минута и начинается новая — именно в этот момент мы и поменяем фотку. Пишем еще одну небольшую функцию в utils.py:

def time_has_changed(prev_time): return convert_time_to_string(datetime.now()) != prev_time

Да, да, мы передаем в нее строку со временем предыдущего обновления аватарки. Конечно, и тут были другие способы реализации, но писал я это все «на скорую руку», поэтому сильно об оптимизации не задумывался. Продолжаем заполнять наш main.py:

prev_update_time = «» while True: if time_has_changed(prev_update_time): prev_update_time = convert_time_to_string(datetime.now()) client(DeletePhotosRequest(client.get_profile_photos(‘me’))) file = client.upload_file(f»time_images/.jpg») client(UploadProfilePhotoRequest(file))

DeletePhotosRequest нам нужен для того, чтобы удалить предыдущие аватарки, чтобы создавался эффект, что мы не добавляем новое фото — оно меняется само собой. Для того, чтобы не перегружать процессор, можно добавить time.sleep(1) в конец цикла(разумеется, импортировав сперва time.py).

Готово! Запустите main.py и ваша аватарка превратится в часы. Как более оригинальный вариант, можете попробовать изменить текст на фотках, например, на такой:

image

UPDATE!

С момента написания данной статьи библиотека telethon стала полностью асинхронной, что вызвало необходимость полностью пересмотреть методы вызова функций в исходниках. В итоге я сел за код и кроме того, что переписал все через async-await на основе asyncio еще и оптимизировал пару вещей. К примеру, теперь не нужно создавать кучу файлов на жестком диске для их отправления — это было огромной и бесполезной тратой ресурсов, больше не буду так делать..
Вот ссылка на репозиторий. Необходимые инструкции по установке уже там.

Еще по теме:  Видно ли в Телеграмме кто поставил реакцию

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

Красивые картинки на аву в Телеграм — прикольные и классные

  • Красивые картинки на аву в Телеграм - прикольные и классные 1
  • Красивые картинки на аву в Телеграм - прикольные и классные 2
  • Красивые картинки на аву в Телеграм - прикольные и классные 3
  • Красивые картинки на аву в Телеграм - прикольные и классные 4
  • Красивые картинки на аву в Телеграм - прикольные и классные 5
  • Красивые картинки на аву в Телеграм - прикольные и классные 6
  • Красивые картинки на аву в Телеграм - прикольные и классные 7
  • Красивые картинки на аву в Телеграм - прикольные и классные 8
  • Красивые картинки на аву в Телеграм - прикольные и классные 9
  • Красивые картинки на аву в Телеграм - прикольные и классные 10
  • Красивые картинки на аву в Телеграм - прикольные и классные 11
  • Красивые картинки на аву в Телеграм - прикольные и классные 12
  • Красивые картинки на аву в Телеграм - прикольные и классные 13
  • Красивые картинки на аву в Телеграм - прикольные и классные 14

Затем при помощи дата-кабеля, Bluetooth или инфракрасного порта загрузите её себе на телефон.

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

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

Как добавить фото в Телеграмм

Журналист, копирайтер Основной автор интернет-ресурса 33seti.ru Стаж работы в СМИ – более 10 лет. Опыт заработка в интернете – с 2015 года.

Написано статей

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

Как загрузить фото в Телеграмм и отправить его в сообщении

Отправлять фото в сообщении можно разными способами. Самый простой и понятный – прикрепить файл в чате через скрепку. Сейчас покажу на своем примере в инструкции.

Но есть и другие методы, о них читайте немного ниже.

Инструкция как послать фото в сообщении в Telegram

Зайдите в чат. В правом нижнем углу рядом с пустой строкой для сообщения нажмите на иконку с изображением скрепки.

фото 2

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

фото 3

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

фото 4

Пересылать фото в чаты Телеграмма можно непосредственно из галереи телефона. Для этого нужно:

  1. Выделить фото.
  2. Нажать на кнопку «Отправить».
  3. И выбрать способ поделиться фото – в нашем случае, через Telegram.

Совет эксперта
Олег Симкин

SMM-специалист, RP-менеджер Эксперт сайта 33seti.ru Опыт работы в сфере социальных сетей – около 5 лет.

Совет эксперта

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

Гайд как добавить фото в Телеграм на аву

Фотку на аватарку в Телеге можно установить как через приложение в смартфоне, так и на компьютере.

На телефоне есть возможность выбрать один из двух способов загрузки фото на аву:

  • найти уже готовую в галерее смартфона;
  • или тут же сделать фото на фронтальную камеру (селфи).
Еще по теме:  Лучшие Телеграмм каналы о стиле

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

Инструкция как добавить фото в Telegram на смартфоне

Откройте главное меню приложения. Для этого на основном экране нажмите на кнопку-«гамбургер» в левом верхнем углу экрана.

фото 5

В шапке панели меню нажмите на кружок, предназначенный для аватарки. Или перейдите в раздел «Настройки».

фото 6

Под шапкой нажмите на ссылку «Выбрать фотографию».

фото 7

И найдите нужную в галерее. Или нажмите на первый квадратик с изображением фотокамеры. Так вы сможете сделать селфи.

фото 8

Если вы нашли фото в галерее, нужно нажать на него. А после этого в правом нижнем углу экрана тапнуть по голубой круглой кнопке с белой галочкой внутри.

фото 9

Этого достаточно, чтобы снимок оказался на аватарке.

фото 10

Когда вы добавите фото на аватар, то ссылочки «Выбрать фотографию» под шапкой больше не будет. И если вы захотите добавить или заменить старые снимки новыми, то действовать нужно будет немного иначе.

Руководство как добавить несколько фото в Телеграмм на аватарку

Как и в примере выше, сначала на главном экране нужно открыть основное меню управления аккаунтом.

фото 11

Затем тапнуть прямо по аватарке или перейти в настройки.

фото 12

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

фото 13

Развернется дополнительное меню. В нем нажмите на пункт «Выбрать фотографию». И загрузите файл из галереи.

фото 14

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

фото 15

Здесь тоже найдите пункт «Выбрать фотографию». И загрузите другой снимок.

фото 16

Совет эксперта
Олег Симкин

SMM-специалист, RP-менеджер Эксперт сайта 33seti.ru Опыт работы в сфере социальных сетей – около 5 лет.

Совет эксперта

Важно! После того, как добавите несколько фото в Телеграм, предыдущие снимки с аватарок никуда не денутся. Они так и останутся в карусели профиля. Чтобы они пропали, нужно каждое фото удалять отдельно.

Почему не загружаются фото в Телеграмме

В этом случае нужно проверить настройки телефона:

  • как установки мессенджера;
  • так и настройки смартфона.

Возможно, в каких-то установках стоит запрет на доступ приложения к галерее или памяти смартфона. Исправьте эту настройку. И попробуйте загрузить фото снова.

Другая распространенная причина – заполненная память телефона. Время от времени необходимо чистить кеш. Telegram отнимает немало ресурсов.

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

Если вы захотите спросить на эту или другую тему что-то еще – жду вас в ВК. А я на этом говорю вам до свидания! Ваша Саша.

Источник: 33seti.ru

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