Skip to content
This repository has been archived by the owner on Jun 13, 2023. It is now read-only.

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

Open
dmitriym09 opened this issue Mar 15, 2019 · 34 comments
Open

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

dmitriym09 opened this issue Mar 15, 2019 · 34 comments

Comments

@dmitriym09
Copy link
Contributor

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

@pepelsbey
Copy link
Member

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

@dmitriym09
Copy link
Contributor Author

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

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

@pepelsbey
Copy link
Member

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

@pepelsbey
Copy link
Member

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

@dmitriym09
Copy link
Contributor Author

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

@pepelsbey
Copy link
Member

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

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

@dmitriym09
Copy link
Contributor Author

dmitriym09 commented Mar 15, 2019

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

@dmitriym09
Copy link
Contributor Author

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

@pepelsbey
Copy link
Member

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

@dmitriym09
Copy link
Contributor Author

dmitriym09 commented Mar 15, 2019

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

@pepelsbey
Copy link
Member

pepelsbey commented Mar 15, 2019

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

@dmitriym09
Copy link
Contributor Author

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

@dmitriym09
Copy link
Contributor Author

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

@pepelsbey
Copy link
Member

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

@dmitriym09
Copy link
Contributor Author

dmitriym09 commented Mar 15, 2019

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

@dmitriym09
Copy link
Contributor Author

@dmitriym09
Copy link
Contributor Author

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

@dmitriym09
Copy link
Contributor Author

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

@pepelsbey
Copy link
Member

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

@dmitriym09
Copy link
Contributor Author

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

@pepelsbey
Copy link
Member

pepelsbey commented Mar 19, 2019

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

@dmitriym09
Copy link
Contributor Author

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

@pepelsbey
Copy link
Member

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

image

image

@dmitriym09
Copy link
Contributor Author

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

@dmitriym09
Copy link
Contributor Author

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

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

@m0rg0t
Copy link

m0rg0t commented May 19, 2020

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

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

image

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

@baitun
Copy link
Collaborator

baitun commented May 19, 2020

Хм, действительно...
@pepelsbey, выглядит, как будто после этого коммита 07d6a39, CI перестал работать

@pepelsbey
Copy link
Member

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

@pepelsbey
Copy link
Member

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

@m0rg0t
Copy link

m0rg0t commented Sep 27, 2020

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

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

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

@Manyaka
Copy link
Contributor

Manyaka commented Jan 13, 2021

Может, уже появилось время поправить то, что последнее событие в канале от 24 апреля 2020?

@pepelsbey
Copy link
Member

@Manyaka нужен активист, который возьмёт в руки решение проблем и разработку — попытки были, но до конца так и не дошли (

@dmitriym09
Copy link
Contributor Author

@Manyaka нужен активист, который возьмёт в руки решение проблем и разработку — попытки были, но до конца так и не дошли (

Весь код написан и тесты проходит. Проблема возникла - никто не захотел сделать код-ревью. На этом все и зависло.

@pepelsbey
Copy link
Member

Проблема возникла - никто не захотел сделать код-ревью

Никто не смог сделать код ревью: очень много кода, непонятно что именно он делает. Предлагаю вернуться в пулреквест и продолжить там.

Sign up for free to subscribe to this conversation on GitHub. Already have an account? Sign in.
Labels
None yet
Projects
None yet
Development

No branches or pull requests

5 participants