Содержание
- Как открыть календарь в Телеграмме
- Календарь в разделе «Медиа»
- Заявки на вступления в группы и каналы
- Цветовые темы
- Быстрые подписи к фото на iOS
- Обновление для iOS 15
- Эмодзи
- Быстрая прокрутка и календарь в «Медиа»
- Заявки на вступление в каналы и группы
- Глобальные цветовые темы на iOS
- Интерактивные эмодзи
- Другие новые функции
- Интро
- Реализация
- Получение всех событий из календаря
- Отправка в телеграм
- Заключение
Давайте поговорим про календарь в Телеграмм, ведь далеко не многие знают, что появилась такая функция как календарь в Telegram и как ей можно пользоваться.
Обычно этой функцией пользуются при нахождении интересующего медиа файла на интересных каналах Telegram, ведь вы не будите скачивать каждую фотографию, а только ту, которая интересна вам.
После очередного обновления в телеграмме начал работать календарь, что упрощает при его использовании нахождение нужной публикации ориентируясь на дату ее выпуска.
Еще одна фишка Telegram – календарь публикаций.
Как открыть календарь в Телеграмме
Давайте узнаем, как открывается календарь в телеграмме для просмотра даты публикации или нахождения публикации по примерной дате.
Для того чтобы открыть календарь в телеграмм делаем следующее:
- Зайдите на нужный канал в Telegram в раздел «Медиа».
- Выберите нужный фал или ткните в примерную дату публикации, которую вы ищите. В правом верхнем углу файла должна появится «галочка», для этого подержите на файле палец несколько секунд.
- Теперь в правом углу (вверху вашего устройства) нажмите на три вертикальные точки.
- У вас появится эта менюшка, на которой вы сможете указать какой файл выбрать фотографии или видео. Можно выбрать и оба варианта.
- Теперь нажмите на вкладку «Календарь».
- После чего у вас появится календарь в телеграмме.
Вот так просто открывается календарь в телеграмме! Даты в календаре располагаются по периодам публикаций.
Смотрите, как можно сохранять фото из Telegram в галерею устройства.
А вы пользуетесь календарем в Telegram?
Надеюсь, что эта инструкция по применению календаря в телеграмм, поможет вам при надобности пользоваться календарем в этом мессенджере.
Если вам помогает календарь в телеграмме находить нужные файлы, то напишите о своем применении и пользе этой функции.
Самый удобный мессенджер Telegram обновился на iOS. Добавили много полезного.
Календарь в разделе «Медиа»
Во-первых, появилась возможность менять сетку фото и быстро её прокручивать. Во-вторых, появился блок с датой, на который можно нажать и найти конкретный файл, если вы помните, когда его отправляли. Можно «ткнуть» в примерную дату и полистать в пределах пары дней, например. Интерфейс похож на архив сторис в Instagram:
Заявки на вступления в группы и каналы
Специальные пригласительные ссылки можно переименовывать, но эта информация будет видна только администраторам. Нужно для того, чтобы не запутаться.
Вступить в группу или канал пользователи смогут только после одобрения заявки администратором. Он сможет посмотреть публичные данные пользователя, который оставил заявку.
Цветовые темы
В прошлом обновлении темы можно было установить только для конкретных чатов, а теперь появилась опция изменить оформление всего приложения. Каждая тема доступна в светлом и тёмном оформлении. Блоки сообщений, фон и анимации перерисованы.
Быстрые подписи к фото на iOS
Непонятно почему, но возможность добавить фото к уже написанному тексту появилась только сейчас. В приложении на macOS опция доступна давно.
Работает так: написали какое-то сообщение, поняли, что нужно добавить фото, прикрепили его и текст не слетает. Наконец-то!
Обновление для iOS 15
В разделе настроек перерисовали дизайн в соответствии с новыми гайдлайнами Apple. Также улучшили интеграцию с уведомлениями, а раздел «Устройства» стал нагляднее благодаря иконкам и структурированной информации.
Эмодзи
Появились интерактивные эмодзи: 👻 👎 🤮 😂 💸 🎃. Чтобы просмотреть анимированную анимацию на весь экран, необходимо отправить один эмодзи в личный чат и нажать на него.
Источник: Домой Мессенджеры Telegram Telegram представил ноябрьские обновления: быстрая прокрутка и календарь в «Медиа», заявки на…
Telegram представил обновлённую версию приложения.
В новой версии появились ускоренная прокрутка и календарь для быстрой навигации по медиа из истории переписки, заявки на вступление в группы и каналы по пригласительным ссылкам и многое другое.
Читайте также: Как сделать массовую рассылку сообщений в Телеграм
Быстрая прокрутка в разделе «Медиа» в чатах
У каждого чата в Telegram есть раздел общих медиа, где можно быстро просмотреть все фотографии, видеозаписи и файлы, которые были в него отправлены. Теперь во вкладках «Медиа», «Файлы» и «Голосовые сообщения» сбоку появился новый блок с датой — её можно перетаскивать пальцем вверх-вниз, что позволяет быстрее прокручивать медиа.
Если свести или развести два пальца, можно изменить количество объектов, которое будет отображаться в каждом ряду.
Календарь в разделе «Медиа»
Общие медиа теперь можно открыть и в виде календаря. Для этого достаточно открыть новое меню в правом верхнем углу на вкладке «Медиа» – или просто нажать на блок с датой.
В меню также можно выбрать, какие материалы будут показаны на вкладке «Медиа» — только фотографии, только видеозаписи или и то и другое.
Для перехода в раздел с общими материалами нажмите на заголовок в любом чате и прокрутите страницу вниз.
Заявки на вступление в группы и каналы по пригласительным ссылкам
Теперь для групп и каналов можно создавать специальные пригласительные ссылки, вступление по которым возможно только после одобрения заявки администратором чата.
Пользователи, которые перейдут по ссылке, увидят кнопку для отправки заявки на вступление. Чтобы просмотреть новые заявки, администраторам достаточно нажать на новую панель под заголовком чата. Прежде чем решить, принять заявку или отклонить, администратор может просмотреть публичные данные пользователей — такие как фотографии и информацию О себе.
Чтобы не запутаться в пригласительных ссылках, теперь можно задавать им названия, которые будут видны только администраторам в настройках группы.
Глобальные цветовые темы на iOS
В прошлом обновлении появилось 8 новых цветовых тем для личных чатов. Теперь эти же темы можно применить и для всего приложения Telegram для iOS (в скором времени это станет доступно и пользователям Android). У каждой темы есть дневная и ночная версии, используются цветные градиенты для блоков сообщений и анимированные фоны с уникальными узорами.
Вы можете изменить любые элементы новых тем на свой вкус, например выбрать другие цвета или узор. Расширенные настройки можно найти в разделе «Оформление — Темы для чатов».
Время в пути до геопозиции на iOS
Через меню вложений можно отправить свою точную геопозицию или транслировать её в реальном времени. По нажатию на геопозицию открывается карта — и теперь Вы можете увидеть, как быстро удастся добраться до заданного места пешком, на автомобиле или на общественном транспорте. Чтобы построить маршрут или вызвать такси, нажмите на время, и геопозиция откроется в другом приложении.
Время в пути показывается как для точной геопозиции, так и при трансляции геопозиции в реальном времени.
Быстрые подписи к фотографиям на iOS
Текст, который пользователь набирает в строке сообщения, теперь автоматически преобразуется в подпись при прикреплении медиафайла.
Это работает и с облачными черновиками сообщений — так что Вы можете набрать текст на компьютере, а затем загрузить фотографию с телефона и быстро отправить её с нужной подписью.
Обновлённый раздел настроек для iOS 15
Разработчики обновили раздел настроек в приложении для iOS, чтобы он соответствовал стандартам дизайна, принятым в iOS 15. Были оптимизированы настройки оповещений и стикеров, а раздел Устройства стал нагляднее благодаря новым иконкам и более удобно структурированной информации. Вы можете нажать на любое из подключенных устройств, чтобы увидеть дополнительные данные или удалённо завершить сеанс.
Новые интерактивные эмодзи
Добавлены новые интерактивные эмодзи. Чтобы запустить полноэкранный эффект, достаточно отправить один из этих эмодзи отдельным сообщением в любой личный чат, а затем нажать на анимированную версию.
Если у собеседника открыт чат с Вами, он увидит эффекты в тот же самый момент, когда Вы нажали на эмодзи. Вибрация телефона также синхронизирована для обоих собеседников.
Ранее Telegram запустил свою рекламную платформу.
Больше статей по теме: 08 ноя в 2021 4.8K
В Telegram добавилось несколько новых функций, в том числе быстрая прокрутка и календарь в разделе «Медиа», цветовые темы на iOS, интерактивные эмодзи и заявки на вступления в группы. Об этом сообщается в официальном блоге мессенджера.
Быстрая прокрутка и календарь в «Медиа»
Теперь в чате с любым профилем есть возможность быстрого просмотра всех медиа – фотографий, видео, голосовых сообщений и файлов. В соответствующих вкладках появилась лента прокрутки с отображением месяца и года, и, если потянуть за нее, можно быстро перемещаться по любому из указанных разделов.
Еще можно посмотреть по датам все фото, видео и файлы, которые были отправлены ранее в чатах через раздел «Календарь». Перейти в него можно, нажав на иконку с месяцем и годом рядом с полосой прокрутки или открыв меню в правом верхнем углу вкладки.
Комьюнити теперь в Телеграм Подпишитесь и будьте в курсе последних IT-новостей
Заявки на вступление в каналы и группы
В каналах и чатах можно создавать отдельные ссылки-приглашения, вступление по которым возможно только после одобрения запроса администраторами. Перейдя по ссылке, пользователи увидят кнопку для подачи этой заявки, а админы смогут посмотреть подробную информацию о профиле, в том числе фотографии и данные в разделе «О себе». Кстати, количество запросов по ссылке будет отображаться у администратора прямо в чате, в верхней части.
Так, чтобы создать такую ссылку, нужно перейти в раздел «Управление каналом», далее выбрать «Пригласительные ссылки» и создать новую. Функция заработает, если переключить тумблер около пункта «Заявки на вступление».
Помимо этого, любую из уже существующих дополнительных ссылок можно переделать и включить режим заявок, а если ссылок несколько, то им можно давать названия, дабы другие админы не запутались.
Глобальные цветовые темы на iOS
Ранее разработчики добавили возможность изменения цветовых тем в конкретных чатах на устройствах Android и в десктопной версии приложения. Теперь же эта функция доступна и для пользователей смартфонов на iOS. Всего предусмотрено 8 вариантов тем с различными цветовыми градиентами и анимированными фонами с узорами, причем с дневной и ночной версиями.
Интерактивные эмодзи
В мессенджере уже есть интерактивные эмодзи, при нажатии на которые запускается полноэкранный эффект. В набор были добавлены новые варианты, причем часть из них связана с Хэллоуином (спойлер: если один из этих эмодзи просматривать на телефоне, вы услышите звук). Вдобавок, если у собеседника в данный момент открыт чат, то в окне статуса теперь будет показываться, что он смотрит определенное эмодзи.
Другие новые функции
Есть и другие интересные обновления – так, после отправки собственной геопозиции ее можно будет транслировать собеседнику в реальном времени. А если другой человек нажмет на эту геопозицию, он увидит карту и то, как скоро от своего местоположения он сможет добраться до вашей точки пешком, на машине или общественном транспорте.
На iOS также появилась функция быстрых подписей к фотографиям. Работает она так: если вы начнете набирать сообщение, а затем прикрепите вложение, то ранее набранный текст автоматически подставится в поле записи. Функция действует и на облачных черновиках сообщений, то есть если вы начнете набирать текст на компьютере, а затем через мобильное приложение прикрепите фото, подпись так же подставится.
И последнее – это обновление раздела с настройками на iOS 15. Разработчики подстроили его под стандарты дизайна обновленной системы, а именно оптимизировали настройки оповещений, стикеров и сделали более наглядным раздел «Устройства».
Если человек настраивает сервер, это не новость; новость – если сервер настраивает человека.Новый подкаст от Timeweb JavaScript * Tutorial
Интро
Некоторое время назад я столкнулась с проблемой ведения двух календарей: личного и рабочего. Точнее само ведение (планирование встреч, переносы, редактирование и т.п.) проблемы не вызывало, но я осознала, что в ежедневной суете у меня совершенно нет возможности / желания несколько раз залезать в календарь и проверять предстоящие встречи.
Естественно, я объединила оба календаря, дала права доступа через оба аккаунта на возможность видеть встречи друг друга, с учетом того, чтобы мой личный календарь не был виден аккаунтам, которые просматривают рабочий календарь, то бишь коллегам, заказчикам и прочим.
Но все равно я периодически пропускала уведомления о начале какого-либо события.
В общем, я пришла к тому, что мне лично очень удобно все делать через телеграм и было бы неплохо иметь бота, который присылал бы мне сообщение со ссылкой на встречу за 5-10 минут. Для меня лично это стало лучшим решением, которым я пользуюсь несколько месяцев и до сих пор не вижу дроубеков вообще.
Таким образом, я продолжаю пользоваться календарем: в личный календарь я вношу конфы и митинги по личным интересам, плюс онлайн-уроки; в рабочем планы строят обычно коллеги, что позволяет мне вообще его не открывать. Телеграм бот в свою очередь присылает полный план встреч на день и каждую отдельную встречу непосредственно перед началом из обоих календарей.
Реализация
Первым делом нужно обозначить видимость для обоих календарей. Для этого просто подписываемся на каждый из календарей из обоих аккаунтов по кнопке Добавить другой календарь
Далее выбираем Подписаться на календарь и вводим почту, на кого подписываемся. Я не буду подробно здесь останавливаться, возможно нужны дополнительные пермишены и подтверждения, но я уверена, что вы справитесь.
Как только видимость из обоих календарей настроена можно переходить к написанию кода. Моменты с созданием бота и проектом в App Script уже были обговорены здесь, поэтому сразу перейду к ключевым функциям.
Получение всех событий из календаря
В App Script есть класс CalendarApp
, в котором мы используем метод getCalendarById(calendar_id)
, calendar_id – это ваш gmail login.
Таким образом я сохраняю оба календаря в соответствующие переменные:
const calendar_ct = CalendarApp.getCalendarById(gmail_login_1) const calendar_ns = CalendarApp.getCalendarById(gmail_login_2)
Далее отфильтрую все события по дате, я хочу получить планы только на сегодня и использую метод getEventsForDay(date)
. Также записываю их в переменные
const now = new Date(); const events_ct = calendar_ct.getEventsForDay(now); const events_ns = calendar_ns.getEventsForDay(now);
Полученные массивы просто объединяем в один методом concat()
. При обращении к элементу массива мы увидим в консоли CalendarEvent
. Чтобы вычленить подробности из CalendarEvent
, нужно обратиться к каждому элементу и забрать нужную инфу, например, название, время начала, описание.
Для данного набора запрашиваемой информации мне нужно использовать методы getDescription(), getTitle(), getStartTime().
Помимо получения деталей события я их преобразую в нужный мне вид. Например, getStartTime()
возвращает мне дату целиком и возвращаемое время не соответствует моему часовому поясу. Учитывая, что я хочу получить только время вида чч:мм, я преобразую время следующим образом
start_time = new Date(start_time.getTime() + (6 * 60 * 60 * 1000)) //6 - разница во времени между NY и Berlin
С описанием из события в календаре тоже не все так просто. При выводе в консоль я получаю не текст или ссылку в виде текста, как я ожидала, а текст и ссылки заключенные в теги.
То есть описание из календаря как на картинке слева, в консоли может выглядеть как: Professor Sabine Lüder Link Gastgeber-Kennnummer: 348984
И проблема заключается в отправке в телеграм. Чтобы все обработалось гладко и сообщение выглядело примерно следующим образом
я применила замену (я просто остановилась на решении, которое работает, не вдаваясь в детали) :
const regExp = /<(?!/?a>|/?a href|/?br)[^>]+>/g; descr = descr.replace(regExp,'').replace(/ /g,`n`).replace(/ /g,' ');
Все выбранные и преобразованные данные я вставила в новый массив для дальнейшей работы уже с ним. Вся функция целиком ниже.
/** * The function gets all events for today from 2 calendars and sorts them * * @return {array} events_details_arr all sorted events for today */ function getEvents() { const calendar_ct = CalendarApp.getCalendarById(gmail_login_1) const calendar_ns = CalendarApp.getCalendarById(gmail_login_2) const now = new Date(); const events_ct = calendar_ct.getEventsForDay(now); const events_ns = calendar_ns.getEventsForDay(now); const events = events_ct.concat(events_ns); const regExp = /<(?!/?a>|/?a href|/?br)[^>]+>/g; const events_details_arr = new Array(); events.forEach((el) => { let descr = el.getDescription().toString(); const title = el.getTitle(); let start_time = el.getStartTime(); start_time = new Date(start_time.getTime() + (6 * 60 * 60 * 1000)) //6 - разница во времени между NY и Berlin if (descr === '') { events_details_arr.push([title,start_time]); } else { descr = descr.replace(regExp,'').replace(/ /g,`n`).replace(/ /g,' '); events_details_arr.push([title,start_time,`n${descr}`]); } }) bubble_sort(events_details_arr) return events_details_arr }
Да, здесь же я сортирую события по возрастанию времени их старта.
Отдельно я написала функцию, которая преобразует время в удобоваримый вид
/** * The function transforms the date into a string * * @param {date} date The date to be transformed * @return {array} time_str the time in the string form */ function time_to_string(date) { let h = new String(date.getHours()); let m = new String(date.getMinutes()); if (m.length == 1) { m = `0${m}` } const time_str = ` ${h}:${m}`; return time_str }
Отправка в телеграм
Наконец, функции отправки в чат с ботом. Я разделила отправку на 2 отдельные функции: 1-я отправляет одно событие в чат за 5-8 минут до начала, 2-я отправляет все события списком в одном сообщении по порядку следования.
function send_next_event() { const today_events_arr = getEvents(); const cur_time = new Date(new Date().getTime() + (6 * 60 * 60 * 1000)) //6 - разница во времени между NY и Berlin let msg = new String(); for (i=0; i 0.1) { today_events_arr[i][1] = time_to_string(today_events_arr[i][1]); if (msg == "") { msg = `${today_events_arr[i].flat()}` } else { msg = `${msg}n${today_events_arr[i].flat()}` } send(msg,chat_id_root,API); } } }
Функция send_next_event()
проверяет разницу между текущим временем и стартовым временем каждого из событий в массиве и отправляет сообщение в чат (send(msg,chat_id_root,API)
) примерно за 5 минут.
Понимаю, здесь очень странные манипуляции со значением времени, но вот так это выглядит в js. Я сама еще в этом плаваю, потому не хочу объяснять все детали, т.к. сама искала ответы онлайн касаемо этой части. В целом, идея была преобразовать время из 1.65286722566E12
во время вида 13:00
.
Функция для отправки всех событий представлена ниже.
function send_all_events() { const today_events_arr = getEvents(); let msg = new String(); if (today_events_arr.length !== 0) { today_events_arr.forEach((el,ind) => { el[1] = time_to_string(el[1]) if (msg == "") { msg = `${ind+1} ${el.flat()}` } else { msg = `${msg}n${ind+1} ${el.flat()}` } }) send(msg, chat_id_root, API); } else { send('В календаре нет планов', chat_id_root, API); } }
Функция активируется по триггеру каждое утро, а также я могу запустить ее по команде из бота.
Слева на скрине примеры сообщений, которые я получаю от бота в течение дня. При этом описание в календаре есть только у второго события.
Заключение
Вот такой Reminder bot уровня минимум спасает меня каждый день. Как обычно буду рада вашим комментам и вопросам. Весь код целиком есть на гите, который я вот только начала вести (https://github.com/Nadezhda95).
Всем добра и нет войне.
ли со статьей или есть что добавить?