Skip to content

HelpFreedom/github-link-to-telegram

Repository files navigation

GitHub Link to Telegram

🇬🇧 English version

Расширение Chrome, которое находит на страницах ссылки на GitHub (как обычные ссылки, так и URL, написанные текстом) и добавляет рядом маленькую кнопку с самолётиком. Один клик — и ссылка опубликована в вашем Telegram-канале через вашего бота.

Демо: кнопки рядом со ссылками на GitHub на Hacker News и попап настроек

Возможности

  • Находит ссылки на github.com в элементах <a> и в обычном тексте.
  • Работает со ссылками-переходниками, например t.co в Twitter/X: если в видимом тексте ссылки виден github.com, расширение развернёт редирект и опубликует конечный GitHub-URL.
  • Следит за динамически подгружаемым контентом (SPA, бесконечные ленты) через MutationObserver, с защитой от конфликтов с другими расширениями (например, переводчиками страниц).
  • Кнопка становится зелёной при успехе и красной при ошибке (текст ошибки — во всплывающей подсказке кнопки).
  • Переключатель включения/отключения в попапе — применяется мгновенно во всех открытых вкладках.
  • На самом github.com кнопки не добавляются (иначе они были бы у каждой внутренней ссылки).

Настройка

  1. Создайте бота у @BotFather и скопируйте токен.
  2. Добавьте бота в канал администратором с правом публиковать сообщения.
  3. Задайте токен бота и ID канала:
    • либо в файле config.js (поля BOT_TOKEN и CHANNEL_ID),
    • либо кликнув по иконке расширения — в попапе можно задать оба значения (они имеют приоритет над config.js). Если нужно скопировать токен из другой программы, используйте «Открыть в отдельной вкладке»: в отличие от попапа, вкладка не закрывается при потере фокуса.

ID приватного канала выглядит примерно так: -1001234567890.

Установка

  1. Откройте chrome://extensions.
  2. Включите Режим разработчика (переключатель справа сверху).
  3. Нажмите Загрузить распакованное расширение и выберите эту папку.

Использование

Откройте любую страницу со ссылками на github.com — рядом с каждой появится маленькая круглая голубая кнопка с самолётиком. Клик — и ссылка опубликована в канале (в сообщении только сама ссылка).

Файлы

  • manifest.json — манифест расширения (Manifest V3)
  • config.js — файл настроек: токен бота и ID канала
  • content.js / content.css — поиск ссылок и кнопки на страницах
  • background.js — разворачивание переходников и отправка в Telegram Bot API
  • popup.html — всплывающее окно настроек (клик по иконке расширения)
  • options.html / options.js — страница настроек расширения
  • icons/ — иконки расширения

About

Chrome extension: one-click posting of GitHub links found on any page to a Telegram channel via a bot

Resources

Stars

Watchers

Forks

Releases

Packages

Contributors

Languages