Как сделать напоминание в телеграмме

от admin

Простая напоминалка в Telegram

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

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

Для меня главным требованием к таким напоминалкам является простота установки напоминания, иначе говоря, возможность ввода напоминания своими словами. Например, «через 20 минут перезвонить коллеге» или «завтра в 15 в налоговую». Важно также, чтобы напоминалка умела откладывать напоминания.

Подобную напоминалку я как-то искал под Linux и, не найдя, написал сам. А для Windows я всем советовал похожую программку XMinder.

Время прошло, возможностей для разработки и реализации таких напоминалок стало больше.
И одна из таких возможностей — боты в Telegram.

Я подумал, было бы здорово найти такого бота, который бы принимал запросы на напоминания, написанные своими словами, и отправлял бы в установленное время соответствующие сообщения. Но такого бота, который бы понимал простой русский язык, я не нашел и написал своего.

Бот называется @remindmemegabot. Реализован на языке Golang с использованием библиотек tgbotapi и at и развернут на сервере под управлением Linux.

РемайндМиМегаБот умеет работать с часовыми поясами и понимает команды, написанные простыми словами, например:

  • через 15 минут позвонить руководителю
  • через час подготовить отчет
  • проверить платеж через два дня
  • завтра в 10 оплатить услуги
  • в среду в 11:15 в налоговую
  • подготовиться к мероприятию в субботу вечером
  • в 8 вечера доделать работу
  • 23 мая в 15-10 на почту
  • 17.04.2018 в 9 поздравить коллегу с днем рождения
  • каждый день в 18 домой
  • каждую среду в 17-30 на тренировку
  • каждое 30 мая подарок на годовщину

Напоминания можно отложить на 15 минут, час, 2 часа или любое другое время.

Особенно удобно пользоваться ботом на десктопном приложении Telegram

Update:
25.04.2017 в 18:41 по московскому времени бот обновился. Теперь он стал стабильнее.

10 функций Telegram, которые облегчат вам жизнь

Фото: Shutterstock

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

Запуск видеозвонка в Telegram

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

Запуск видеозвонка из профиля

Данные о вызовах хранятся в отдельном разделе. Для устройств на Android все просто: раздел «Звонки» находится в левом боковом меню. Для устройств на iOS этот раздел нужно включить. Для этого перейдите в «Настройки» → «Недавние звонки» и активируйте ползунок для «Вкладка «Звонки».

Раздел «Звонки» на устройстве Android

Отложенная отправка сообщений

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

Чтобы отправить сообщение с отложенной доставкой, напишите текст и зажмите значок отправки. В открывшемся меню выберите «Отправить позже». Как раз здесь вы можете задать дату и время отправки сообщения.

Отправка отложенного сообщения

Настройка даты и времени отложенного сообщения

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

Переход в раздел с отложенными сообщениями

Отправка сообщений без звука для получателя

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

Отправка сообщения без звука для получателя

Группировка диалогов по папкам

Долгое время пользователям не хватало в Telegram возможности разложить все «по полочкам»: разделить личные и рабочие чаты, а также групповые чаты и публичные каналы. Теперь эта функция доступна в приложении. Чтобы навести в чатах порядок, перейдите в раздел «Настройки» → «Папки». Далее нажмите на «Создать новую папку», придумайте ей название и добавьте в нее нужные чаты.

Переход в раздел «Папки»

Создание новой папки

Таймкоды на видео

Таймкоды для видео — еще одна малоизвестная и при этом очень удобная фишка в Telegram. Например, вы отправляете своему собеседнику видео, но хотите, чтобы он посмотрел его с определенной минуты. Чтобы не заставлять пользователя самому перематывать видео, просто добавьте время, с которого нужно смотреть. Например, «смотреть с 3:02». Приложение автоматически начнет проигрывать видео с этого момента.

Функция таймкода в Telegram

Несколько аккаунтов в одном приложении

Telegram дает еще одну классную возможность: быстро переключаться между разными аккаунтами. Это может пригодиться, если вы, например, хотите жестко разделить рабочее и личное общение. Чтобы настроить эту функцию для устройств на Android, достаточно перейти в левое боковое меню и выбрать пункт «Добавить аккаунт». Для устройств на iOS необходимо перейти в «Настройки», нажать на «Изменить» в правом верхнем углу и добавить новый аккаунт.

Добавление еще одного аккаунта в рамках одного приложения на Android

Напоминания самому себе

Вы можете отправлять напоминания не только другим пользователям, но и самому себе. Для других пользователей это работает через отложенные сообщения, а вам для этого пригодится раздел «Избранное». Избранное — это что-то вроде чата с самим собой. Сообщения в этом чате видите только вы. Этот раздел удобно использовать в качестве облачного хранилища, куда вы можете пересылать важные сообщения, делать заметки, отправлять фото и видео.

Чтобы создать напоминание, перейдите в раздел «Избранное» и напишите сообщение. Зажмите значок отправки сообщения и в появившемся меню выберите «Задать напоминание». Далее вам нужно настроить нужную дату и время. В назначенное время напоминание придет вам в Telegram в виде обычного сообщения.

Настройка напоминания в Telegram

Настройка отображения имени при пересылке сообщений

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

Читать:
Как узнать id в телеграмме

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

Настройка отображения имени при пересылке сообщений

Секретные чаты и самоуничтожающиеся файлы

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

Создание секретного чата с пользователем

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

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

Хештеги в чатах

Хештеги в Telegram — это инструмент, который помогает быстро найти какие-то важные сообщения. Они работают так, что выводят отдельным списком все сообщения, в котором присутствует хэштег. Еще хештеги — это удобный способ сортировать данные в разделе Избранное. Если вы активно используете Избранное для хранения важных заметок, фотографий и прочих файлов, то хештеги как раз помогут вам не запутаться. Проставлять хештеги довольно просто: добавьте к тексту сообщения решетку и ключевое слово для поиска без пробела, #воттак.

Как сделать напоминание в телеграмме

Будь в курсе последних новостей из мира гаджетов и технологий

Как устанавливать напоминания через Telegram? Календарь больше не нужен

Олег

Telegram

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

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

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

Бот «Умный планировщик» — понимает с полуслова

Нужно быстро куда-то записывать напоминания, которые будут потом вам сами присылать уведомления? Да так, чтобы можно было писать обычным человеческим языком, а вас при этом прекрасно понимали? Мне тоже, поэтому я написал бота под это дело.

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

Забегая вперёд, скажу, что этого удалось добиться, как и также парочки других приятных особенностей:

  1. Бот понимает слова с ошибками.
  2. Бот понимает голосовые сообщения.
  3. Бот умеет прикреплять файлы к напоминаниям.
  4. Бот может быть интегрирован в вашу Trello доску.

Если вам не терпится опробовать бота прямо сейчас, то вот ссылка на него.

Для всех остальных, кому интересно как 16-ти летний школьник смог написать его, я расскажу небольшую историю разработки и о том, как устроена система парсинга напоминаний внутри «Умного планировщика».

Бот был написан на Node.js. Почему? Просто потому что javascript в данный момент является одним из самых популярных языков программирования. Я также думал попробовать написать бота на Python или php, но я остановился на js, так как он обладает схожим синтаксисом с знакомым мне C++.

Первая версия «Умного планировщика» работала иначе, но служила для одной и той же цели — создания напоминаний из естественной речи. Я хотел проверить имеет ли право на жизнь эта идея, и для этого я опубликовал статью про бота на Хабрахабре. Получив положительные отзывы, я решил продолжить разрабатывать бота.

Я не буду рассказывать вам как работала эта «кривая» и топорная версия, которая была создана почти год назад. Лучше перейдём сразу к текущей стабильной версии.

Алгоритм работы бота следующий:

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

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

Для повышения безопасности я добавил шифровку текста напоминаний при помощи встроенной в Node.js библиотеки crypto.

Выбор СУБД PostgreSQL обусловлен тем, что она бесплатна и изначально интегрирована в платформу Heroku, на которой хостится бот. В базе данных всего 3 таблицы: Пользователи, Чаты и Напоминания.

Также мною была с нуля написан ORM интерфейс для базы данных. Я знаю, что наверняка кто-то это уже сделал, но я хотел попробовать сделать это сам и, таким образом, уменьшить количество зависимостей.

Процесс обработки сообщений пользователя разделён на два этапа: работу с числами и распознавание введённого напоминания.

Прежде чем приступать к распознаванию времени, нам сначала нужно заменить все слова в строке, записанные в виде слов, реальными числами. Для этого я написал npm библиотеку parse-word-to-number. Она берёт строку и возвращает строку, в которой все возможные слова были заменены числами.
Для соотнесения фильтруемых слов из исходной строки с подходящими словами из словаря я использовал расстояние Дамерау-Левенштайна. Это позволяет библиотеке понимать слова, написанные с ошибками.

Похожие статьи