Предпосылкой к созданию шаблона уведомлений послужило то, что я постоянно забываю расписание занятий детей, а также то, что в календаре телефона итак уже куча разных записей.
Я не считаю, что у меня получилось элегантное решение, но между тем, оно прекрасно справляется с возложенной на него функцией.
Для начала на хосте нужно установить необходимые для работы библиотеки:
sudo apt-get install libxml2-dev libxslt1-dev zlib1g-dev
Затем в configuration.yaml включить календарь с доступом по CalDav:
calendar: — platform: caldav username: !secret nextcloud_username password: !secret nextcloud_password url: !secret nextcloud_url calendars: — english_d — dances_d — guitar_d days: 2
platform: — платформа, в данном случае CalDav, также возможно подключение GoogleCalendar;
username: — имя пользователя календаря;
password: — пароль пользователя календаря;
url: — адрес календаря, в Nextcloud имеет вид https://example.com/remote.php/dav/;
calendars: — подключаемые календари;
Календарь для Телеграм бота
days: — количество дней поиска предстоящих событий.
Также есть способ подключения с использованием фильтрации по названию события, но мне он не приглянулся.
Далее необходимо создать шаблон сенсора, который будет отслеживать предстоящие события:
— переменная, необходимая в автоматизации. Если значение сенсора будет false, автоматизация не сработает.
— если атрибут start_time возвращает значение отличное от none, то продолжается выполнение кода.
as_timestamp(state_attr(‘calendar.guitar_d’, ‘start_time’))-86400 %> — если текущее время больше, чем время предстоящего события (время события — 1 сутки), то продолжается выполнение кода. NB: Если событие в календаре запланировано, например, на 19:00, а уведомление о предстоящих событиях будет приходить в 18:00, то нужно будет исправить алгоритм.
— преобразует строку в значение времени.
> — перевод строки, чтобы сообщение не создавалось в одну строчку.
c <> до <> <> <<«U0001F483»>> — само тело сообщения и emoji.
— если переменная check не равна true, то значение сенсора будет false.
Дальше осталось создать автоматизацию, которая будет отправлять уведомления о предстоящих событиях в Телеграм, если значение сенсора не равно false:
— id: ‘1602182565495’ alias: Уведомление о расписании на завтра description: » trigger: — platform: time at: ’18:00:00′ condition: — condition: not conditions: — condition: state entity_id: sensor.calendar_notify state: ‘false’ action: — service: notify.telega data: message: ‘Расписание на завтра:> <>’ mode: single
Источник: sprut.ai
Как создать своего бота для Telegram за 10 минут
Без единой строчки кода!
Telegram — мессенджер, созданный Павлом Дуровым в 2013 году, которым пользуется свыше 100 миллионов человек во всем мире. Помимо переписки с живыми людьми в нем можно общаться с ботами, программами которые в ответ на запросы пользователя выдают какую-либо информацию. Примеры интересных ботов:
- Игра Что? Где? Когда?
- Поиск паролей от Wi-Fi
- Проверка штрафов ГИБДД
- Бот экспертно-поисковой системы Wolfram Alpha
- MyCookBot (вводите продукты, которые у вас есть и получаете рецепты блюд, которые можно из них приготовить)
Сейчас очень модно заводить Telegram-боты. У каждого крупного интернет-ресурса или крупной компании есть свой бот, в которых клиенты получают ответы на вопросы или читают новости. Если у вас есть свой сайт, группа в соцсети или просто интересная идея бота, то эта инструкция поможет вам с минимальным усилиями внести свой вклад в волшебный мир Telegram.
Есть два пути создания ботов. Первый — написать приложение с помощью Telegram API, а второй — воспользоваться сервисом для создания ботов. Один из таких, manybot.io, мы будем использовать в статье.
Устанавливаем Telegram
Инструкцию из статьи можно выполнить в версии Telegram для любой платформы:
- Android
- iOS
- Windows Phone
- Windows/Linux/OS X (по ссылке откроется версия для операционной системы с которой сидите)
- Веб-приложение
Сама я буду использовать версию для OS X, так как без полноценной клавиатуры создавать бота не совсем удобно.
Создаем бота
1. Набираем в поиске Manybot, кликаем на значок бота и нажимаем на кнопку Start:
2. Нажимаем на кнопку Добавить нового бота:
6. Вводим имя бота, которое будет отображаться при поиске и техническое имя бота, копируем полученный API-токен:
8. Указываем описание бота:
9. Бот готов:
10. Находим свой бот через поиск и начинаем пользоваться:
Создаем свою команду
В хорошем боте должны быть команды. Чтобы пользователь вводил запрос, а в ответ ему приходило что-то интересное/полезное. Вот инструкция, как создать простейшую команду:
1. Набираем /commands:
2. Набираем имя новой команды и текст, который она будет выдавать в ответ (при желании к тексту можно прикрепить файлы):
3. Нажимаем кнопку Сохранить и дожидаемся завершения создания команды:
Для того, чтобы отредактировать команду /hello надо набрать /commands, /hello:
Чтобы увидеть ответ команды, надо нажать кнопку Показать команду. К сожалению, я не нашла способа проверить как будет выглядеть бот в приложении у подписчиков, кроме как попросить кого-нибудь зайти со своего аккаунта и посмотреть:
Добавляем пункт в меню
При желании, для команды можно сделать кнопку в меню, которая будет ее запускать.
1. Набираем /commands:
2. Нажимаем на кнопку Настроить главное меню, а затем на кнопку Добавить пункт меню:
3. Выбираем из списка команду, которую хотим добавить в меню и указываем название для кнопки:
Включаем автопостинг из соцсетей
В ботах можно настроить трансляцию новостей из Twitter, Youtube, VK или RSS.
1. Набираем команду /autoposting:
2. Нажимаем кнопку с нужной соцсетью и указываем ссылку на страницу:
Создаем отложенный пост
В ботах Telegram можно отправлять сообщения, которые будут приходить всем его подписчикам. Вот инструкция, как создать такое сообщение и запланировать его отправку на определенное время:
1. Набираем команду /newpost:
2. Вводим текст поста и нажимаем на кнопку Отложить пост, указываем текущее время:
3. Указываем время поста и сохраняем пост:
Собираем данные
Еще с помощью ботов можно проводить опросы среди подписчиков:
1. Набираем /commands, выбираем пункт меню Создать команду и вводим имя для новой команды:
2. Нажимаем на кнопку Добавить вопрос, выбираем тип ответа и вводим текст вопроса:
3. Нажимаем на кнопку Сохранить и получаем уведомление об успешном создании команды:
4. Ответы на вопрос можно посмотреть в Главное меню-> Ответы на формы -> название команды:
Вот и все, что нужно знать, чтобы создать простейшего бота. Больше информации о функциях, которые может добалять manybot.io можно узнать, если набрать в своем боте команды /help.
Если нужно что-то посложнее
Возможности ботов Telegram гораздо шире, чем те которые есть у ботов, созданных на платформе code.telegram.org можно почитать подробнее о Telegram API и создании приложений на его основе.
Кстати, для расширения кругозора рекомендую статью 10 фактов о Telegram, которые ты не знаешь.
(22 голосов, общий рейтинг: 4.59 из 5)
Хочешь больше? Подпишись на наш Telegram.
Без единой строчки кода! Telegram — мессенджер, созданный Павлом Дуровым в 2013 году, которым пользуется свыше 100 миллионов человек во всем мире. Помимо переписки с живыми людьми в нем можно общаться с ботами, программами которые в ответ на запросы пользователя выдают какую-либо информацию. Примеры интересных ботов: Игра Что? Где? Когда? Поиск паролей от Wi-Fi Проверка.
- Telegram,
- полезный в быту софт
Источник: www.iphones.ru
Как в телеграм сделать календарь бота
МЕРОПРИЯТИЯ
Обмен опытом в тестировании: от стартапа до энтерпрайза
04 октября Онлайн Бесплатно
Комментарии
Популярные По порядку
Не удалось загрузить комментарии.
ЛУЧШИЕ СТАТЬИ ПО ТЕМЕ
ООП на Python: концепции, принципы и примеры реализации
Программирование на Python допускает различные методологии, но в его основе лежит объектный подход, поэтому работать в стиле ООП на Python очень просто.
3 самых важных сферы применения Python: возможности языка
Существует множество областей применения Python, но в некоторых он особенно хорош. Разбираемся, что же можно делать на этом ЯП.
Программирование на Python: от новичка до профессионала
Пошаговая инструкция для всех, кто хочет изучить программирование на Python (или программирование вообще), но не знает, куда сделать первый шаг.
Источник: proglib.io