calendar
calendar copied to clipboard
Телеграмм-канал с событиями
Предлагаю сделать телеграмм-канал с автопостингом всех событий, добавляемых в календарь (по хуку например). Как считаете, имеет ли это смысл и нужно ли это кому?
А давайте :) Я создал канал webstandards_events, давайте будем постить туда. Нужно только разобраться в формате.
На чем бэк же сделаю - не важно? Планирую на python - надеюсь не вызовет несогласия. Распространять планирую в docker. Сейчас я сделал у себя приватный репозиторий, в нем напишу тестовый бот в тестовый канал (имя отдельно сообщу) и запущу его на своих ресурсах. Тестовый будет сканировать наличие новых событий (как устаканется, можно навесить хуки). В сообщении думаю посылать название, сроки, ссылку и gps-координаты на карте места события. Сразу предложение - можно опционально указывать точное местоположение - над форматом подумаю.
Сроки - надеюсь к концу следующей недели постараюсь выкатить тест.
А нужен бэк? Мы можем наверное на Тревисе запускать сборку, как мы уже сейчас собираем календарь, и публиковать событие. Если оно там так может сработать.
Я бы конечно предпочёл всё на JS :) У нас больше шансов, что скрипт будет жить и его можно будет легко починить.
Ну js-так js:) Насчет тревиса нужно подумать. Я с ним плотно не работал, так что могу ошибаться. Ну в википедии написано "Программная составляющая сервиса также располагается[2] на GitHub’е, однако разработчики не рекомендуют использовать её в закрытых проектах". Есть свои хосты? Просто если использовать публичные, то как я понимаю, будет виден ключ, а это плохо. Возможно я не прав.
Мы уже деплоим календарь на наши хосты с помощью Тревиса. То есть все (зашифрованные) ключи уже розданы.
Посмотрите, как оно в этом репозитории устроено. Грубо говоря, если вы сможете локально написать npm-скрипт, который будет публиковать что-то в Телеграм, значит это сможет сделать и Тревис удалённо, после комита в мастер.
Ок, понял. В принципе бот - это скрипт, который и публикует что-то в телеграмм, но весит в фоне. Соответственно, я реализую npm-модуль, который отправляет событие в канал. А интеграцию с трэвисом думаю поможете. Вернее это вы и сможете только сделать, как имеющие доступ ))
Ну нужно иметь в виду ркн. В настойках скрипта можно будет передать прокси.
Скрипт будет запускаться вне юрисдикции РКН, на серверах Тревиса.
Ок. Как я понимаю удобнее всего будет мне выгрузить модуль на https://www.npmjs.com/, откуда вы его возьмете и внедрите?
Да, если брать модуль, то из npm. Или писать всё самостоятельно.
"И писать всё самостоятельно." - что имеется в виду? Нельзя использовать сторонние модули?
Или в смысле что сам модуль должен быть мной написан, а не попытка его свалить на вас?
Опечатка, поправил сообщение.
Ок, понятно. Набросал уже тестовый модуль. Надеюсь, на следующей неделе, доведу до состояния, когда можно опубликовать. И тогда уже обсудим.
https://github.com/dmitriym09/web-standards-ru-calendar-telegram
Вот сделал и опубликовал тестовую версию модуля. Пока что в реестр не выкладывал. На днях доведу до ума, документирую и подчищу код. Модуль сейчас рабочий - думаю понятен подход. Жду фидбека по удобству и возможности внедрения.
Добавил в реестр npm i -S web-standards-ru-calendar-telegram
, методы документировал. Жду фидбека
Ох, не успел написать, что публиковать в npm не нужно, это же очень узкий скрипт, который проще положить рядом, как уже лежит скрипт для сборки календаря в файл.
Могу запустить автопостинг на своих ресурсах, если дадите доступ моему боту. Потом как будет время настроите Трэвис и отключим мой бот, а пока он запустит все существующие события и будет следить за новыми.
Я тут подумал, что наверное имеет смысл перетащить все наши пакеты в npm-организацию. Так что завёл позвал туда. Давай опубликуем calendar-bot там? Скажи, если нужны будут дополнительные права.
Хочу перенести https://github.com/dmitriym09/calendar-bot в https://github.com/web-standards-ru/calendar-bot - не хватает прав
@dmitriym09 добавилось два события, но опубликовались дубликаты одного:


@pepelsbey проблема оказалась в том, что было быстро добавлено 2 коммита, и оба travis контейнера получили последнюю версия репозитория. Не продумал данный кейс. Думаю пути решения - пока в голову приходит только читать канал в боте и искать новые события каждый раз. Может еще кто что предложит? Пока просьба, между коммитами выдерживать паузу, чтобы успевал предыдущий отослаться.
@pepelsbey проблема решается отключением Auto Cancellation в travis (я уже отключил). Это заставит отрабатывать контейнер для каждого коммита не прерывая его даже если появились новые в процессе работы. Тесты показали, что работает. Будем посмотреть.
А для бота сделать читалку канала кстати нельзя - это нужно писать приложение, что сложнее.
Функционирует ли механизм автопостинга в канал в настоящее время?
Так как события в канале последние от 29 апреля, но новые события в том же мае добавлялись.
P.S. Также https://web-standards.ru/calendar.json в настоящий момент устаревший, без свежедобавленных событий.
Хм, действительно... @pepelsbey, выглядит, как будто после этого коммита https://github.com/web-standards-ru/calendar/commit/07d6a3918aaf2c7aefc2df8730558b78b774cd68, CI перестал работать
Да, мы переехали на новый сервер и пока публикация не работает. Буду чинить вечером.
Автодеплой снова работает, теперь на Actions, без Travis.
Вечер добрый!
Телеграмм канал с событиями пока до сих пор с апрельскими событиями, так что с публикацией потенциально проблема все ещё осталась