Go Chat Bridge

Мультичат-бот для объединения Telegram и Discord.

Возможности

  • Пересылка сообщений между Telegram и Discord
  • Отображение имени отправителя в пересылаемых сообщениях
  • Поддержка медиафайлов (изображения, видео, документы)

Быстрый старт

  1. Клонируйте репозиторий:
    git clone <repo_url>
    cd turn-rox-bridge
    
  2. Установите зависимости:
    go mod tidy
    
  3. Создайте и настройте ботов/токены для платформ:
    • Telegram: получите токен у @BotFather
    • Discord: создайте приложение и получите токен
  4. Укажите переменные окружения:
    export TELEGRAM_TOKEN=...         # токен Telegram-бота
    export DISCORD_TOKEN=...          # токен Discord-бота
    export TELEGRAM_CHAT_ID=...       # id чата/канала Telegram
    export DISCORD_CHANNEL_ID=...     # id канала Discord
    export DISCORD_REACTION_CHANNEL_ID=...  # доп. канал Discord для дубля по реакции
    export TELEGRAM_DUPLICATE_REACTION=✍️   # какая реакция триггерит дубль
    
  5. Запустите приложение:
    go run .
    

Формат пересылаемых сообщений

  • [TG] user: текст — из Telegram
  • [DS] user: текст — из Discord

Пример .env

Создайте файл .env в корне проекта и заполните:

TELEGRAM_TOKEN=your_telegram_token
DISCORD_TOKEN=your_discord_token
TELEGRAM_CHAT_ID=-1001234567890
DISCORD_CHANNEL_ID=123456789012345678
DISCORD_REACTION_CHANNEL_ID=123456789012345679
TELEGRAM_DUPLICATE_REACTION=✍️

docker-compose автоматически подхватит эти переменные.

Дублирование по реакции Telegram

Если у Telegram-сообщения добавлена реакция, указанная в TELEGRAM_DUPLICATE_REACTION (по умолчанию ✍️), то это сообщение дополнительно отправляется в DISCORD_REACTION_CHANNEL_ID помимо основного DISCORD_CHANNEL_ID.

TODO

  • Поддержка вложений и файлов
  • Админ-команды
  • Логирование событий

Лицензия

MIT

S
Description
No description provided
Readme
11 MiB
Languages
Go 96.8%
Dockerfile 3.2%