calendar icon indicating copy to clipboard operation
calendar copied to clipboard

Телеграмм-канал с событиями

Open dmitriym09 opened this issue 5 years ago • 34 comments

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

dmitriym09 avatar Mar 15 '19 06:03 dmitriym09

А давайте :) Я создал канал webstandards_events, давайте будем постить туда. Нужно только разобраться в формате.

pepelsbey avatar Mar 15 '19 11:03 pepelsbey

На чем бэк же сделаю - не важно? Планирую на python - надеюсь не вызовет несогласия. Распространять планирую в docker. Сейчас я сделал у себя приватный репозиторий, в нем напишу тестовый бот в тестовый канал (имя отдельно сообщу) и запущу его на своих ресурсах. Тестовый будет сканировать наличие новых событий (как устаканется, можно навесить хуки). В сообщении думаю посылать название, сроки, ссылку и gps-координаты на карте места события. Сразу предложение - можно опционально указывать точное местоположение - над форматом подумаю.

Сроки - надеюсь к концу следующей недели постараюсь выкатить тест.

dmitriym09 avatar Mar 15 '19 11:03 dmitriym09

А нужен бэк? Мы можем наверное на Тревисе запускать сборку, как мы уже сейчас собираем календарь, и публиковать событие. Если оно там так может сработать.

pepelsbey avatar Mar 15 '19 11:03 pepelsbey

Я бы конечно предпочёл всё на JS :) У нас больше шансов, что скрипт будет жить и его можно будет легко починить.

pepelsbey avatar Mar 15 '19 11:03 pepelsbey

Ну js-так js:) Насчет тревиса нужно подумать. Я с ним плотно не работал, так что могу ошибаться. Ну в википедии написано "Программная составляющая сервиса также располагается[2] на GitHub’е, однако разработчики не рекомендуют использовать её в закрытых проектах". Есть свои хосты? Просто если использовать публичные, то как я понимаю, будет виден ключ, а это плохо. Возможно я не прав.

dmitriym09 avatar Mar 15 '19 11:03 dmitriym09

Мы уже деплоим календарь на наши хосты с помощью Тревиса. То есть все (зашифрованные) ключи уже розданы.

Посмотрите, как оно в этом репозитории устроено. Грубо говоря, если вы сможете локально написать npm-скрипт, который будет публиковать что-то в Телеграм, значит это сможет сделать и Тревис удалённо, после комита в мастер.

pepelsbey avatar Mar 15 '19 11:03 pepelsbey

Ок, понял. В принципе бот - это скрипт, который и публикует что-то в телеграмм, но весит в фоне. Соответственно, я реализую npm-модуль, который отправляет событие в канал. А интеграцию с трэвисом думаю поможете. Вернее это вы и сможете только сделать, как имеющие доступ ))

dmitriym09 avatar Mar 15 '19 11:03 dmitriym09

Ну нужно иметь в виду ркн. В настойках скрипта можно будет передать прокси.

dmitriym09 avatar Mar 15 '19 11:03 dmitriym09

Скрипт будет запускаться вне юрисдикции РКН, на серверах Тревиса.

pepelsbey avatar Mar 15 '19 11:03 pepelsbey

Ок. Как я понимаю удобнее всего будет мне выгрузить модуль на https://www.npmjs.com/, откуда вы его возьмете и внедрите?

dmitriym09 avatar Mar 15 '19 11:03 dmitriym09

Да, если брать модуль, то из npm. Или писать всё самостоятельно.

pepelsbey avatar Mar 15 '19 13:03 pepelsbey

"И писать всё самостоятельно." - что имеется в виду? Нельзя использовать сторонние модули?

dmitriym09 avatar Mar 15 '19 13:03 dmitriym09

Или в смысле что сам модуль должен быть мной написан, а не попытка его свалить на вас?

dmitriym09 avatar Mar 15 '19 13:03 dmitriym09

Опечатка, поправил сообщение.

pepelsbey avatar Mar 15 '19 13:03 pepelsbey

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

dmitriym09 avatar Mar 15 '19 13:03 dmitriym09

https://github.com/dmitriym09/web-standards-ru-calendar-telegram

dmitriym09 avatar Mar 16 '19 19:03 dmitriym09

Вот сделал и опубликовал тестовую версию модуля. Пока что в реестр не выкладывал. На днях доведу до ума, документирую и подчищу код. Модуль сейчас рабочий - думаю понятен подход. Жду фидбека по удобству и возможности внедрения.

dmitriym09 avatar Mar 16 '19 19:03 dmitriym09

Добавил в реестр npm i -S web-standards-ru-calendar-telegram, методы документировал. Жду фидбека

dmitriym09 avatar Mar 17 '19 19:03 dmitriym09

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

pepelsbey avatar Mar 17 '19 19:03 pepelsbey

Могу запустить автопостинг на своих ресурсах, если дадите доступ моему боту. Потом как будет время настроите Трэвис и отключим мой бот, а пока он запустит все существующие события и будет следить за новыми.

dmitriym09 avatar Mar 18 '19 16:03 dmitriym09

Я тут подумал, что наверное имеет смысл перетащить все наши пакеты в npm-организацию. Так что завёл позвал туда. Давай опубликуем calendar-bot там? Скажи, если нужны будут дополнительные права.

pepelsbey avatar Mar 19 '19 10:03 pepelsbey

Хочу перенести https://github.com/dmitriym09/calendar-bot в https://github.com/web-standards-ru/calendar-bot - не хватает прав

dmitriym09 avatar Mar 23 '19 09:03 dmitriym09

@dmitriym09 добавилось два события, но опубликовались дубликаты одного:

image image

pepelsbey avatar Jun 09 '19 17:06 pepelsbey

@pepelsbey проблема оказалась в том, что было быстро добавлено 2 коммита, и оба travis контейнера получили последнюю версия репозитория. Не продумал данный кейс. Думаю пути решения - пока в голову приходит только читать канал в боте и искать новые события каждый раз. Может еще кто что предложит? Пока просьба, между коммитами выдерживать паузу, чтобы успевал предыдущий отослаться.

dmitriym09 avatar Jun 09 '19 19:06 dmitriym09

@pepelsbey проблема решается отключением Auto Cancellation в travis (я уже отключил). Это заставит отрабатывать контейнер для каждого коммита не прерывая его даже если появились новые в процессе работы. Тесты показали, что работает. Будем посмотреть.

А для бота сделать читалку канала кстати нельзя - это нужно писать приложение, что сложнее.

dmitriym09 avatar Jun 13 '19 20:06 dmitriym09

Функционирует ли механизм автопостинга в канал в настоящее время?

Так как события в канале последние от 29 апреля, но новые события в том же мае добавлялись.

image

P.S. Также https://web-standards.ru/calendar.json в настоящий момент устаревший, без свежедобавленных событий.

m0rg0t avatar May 19 '20 10:05 m0rg0t

Хм, действительно... @pepelsbey, выглядит, как будто после этого коммита https://github.com/web-standards-ru/calendar/commit/07d6a3918aaf2c7aefc2df8730558b78b774cd68, CI перестал работать

baitun avatar May 19 '20 11:05 baitun

Да, мы переехали на новый сервер и пока публикация не работает. Буду чинить вечером.

pepelsbey avatar May 19 '20 11:05 pepelsbey

Автодеплой снова работает, теперь на Actions, без Travis.

pepelsbey avatar May 19 '20 22:05 pepelsbey

Вечер добрый!

Телеграмм канал с событиями пока до сих пор с апрельскими событиями, так что с публикацией потенциально проблема все ещё осталась

0969AF40-608C-4A69-9EDF-74C862A30C33

m0rg0t avatar Sep 27 '20 19:09 m0rg0t