Настройка своего моста

API регистрация

Нужно зарегать своё приложение тут: register записываем/держим открытым, чтобы забрать api_id и api_hash для моста и может ещё адреса

Регистрация бота

Идём к папочке ботов BotFather
И создаём бота

/start
/newbot
Название бота - например Matrix Bridge
username бота - например example_matrix_bot

В итоге получите:

Done! Congratulations on your new bot. You will find it at t.me/example_bot. You can now add a description, about section and profile picture for your bot, see /help for a list of commands. By the way, when you've finished creating your cool bot, ping our Bot Support if you want a better username for it. Just make sure the bot is fully operational before you do this.

Use this token to access the HTTP API:
123456789:abcdefghijklmniopqrstuvwxyzABCDEFGH
Keep your token secure and store it safely, it can be used by anyone to control your bot.

For a description of the Bot API, see this page: https://core.telegram.org/bots/api

Отсюда нам нужно взять только  BOT TOKEN: 123456789:abcdefghijklmniopqrstuvwxyzABCDEFGH

/start - чтобы активировать бота

Установка софта

Покажу на примере установки в докере с docker-compose

version: "3"

services:
  synapse:
    image: matrixdotorg/synapse:latest
    restart: unless-stopped
    ports:
     - 8008:8008
    volumes:
     - ./synapse:/data

  turn:
    image: coturn/coturn:latest
    restart: unless-stopped
    user: 998:997
    ports:
     - 3478:3478
     - 3478:3478/udp
     - 5349:5349
     - 5349:5349/udp
     - 49160-49200:49160-49200/udp
    volumes:
     - ./turnserver.conf:/etc/coturn/turnserver.conf:ro
     - /path/to/file.crt:/etc/turn-cert/cert.crt
     - /path/to/file.key:/etc/turn-cert/private.key

  mautrix-telegram:
    container_name: mautrix-telegram
    image: dock.mau.dev/mautrix/telegram:latest
    restart: unless-stopped
    volumes:
    - ./mautrix-telegram:/data

Записали в docker-compose.yaml это всё и запускаем
docker-compose up -d

В папке ./mautrix-telegram появится файл config.yaml открываем его в любом редакторе с sudo, у меня это micro - sudo micro ./mautrix-telegram/config.yaml оставил только то, что следует менять, остальное можно не трогать

homeserver:
    # Меняем на свой, это адрес как подключиться к вашему серверу извне
    address: https://matrix.example.org 
    # Домен домашнего сервера (for MXIDs, etc).
    domain: matrix.example.org

appservice:
	# Адрес как внутри докера достучаться до моста из домашнего сервера, для docker-compose это название сервиса, что мы указали mautrix-telegram
    address: http://mautrix-telegram:29317
   
	# База будет самый простой sqlite, если есть постгресс, в официальном примере есть он, я использую sqlite
    database: sqlite:////data/filename.db
# Разрешения на использование моста.
# Допустимые значения:
#   relaybot - Использовать мост только через relaybot, без доступа к командам.
#       user - уровень Relaybot + доступ к командам для создания мостов.
#  puppeting - Уровень пользователя + вход с учетной записью Telegram.
#       full -Полный доступ к использованию моста, т.е. предыдущие уровни + вход в Matrix.
#      admin -Полный доступ для использования моста и некоторых дополнительных команд администрирования.
# Разрешенные ключи:
#        * - Все Matrix пользователи
#   domain - Все пользователи на этом домашнем сервере
#     mxid - Конкретный пользователь
# 
# Указываем, что все могут только просто писать без команд. 
# А так же назначаем себя админом, скопировать можно в описании своего профиля
permissions:
    "*": "relaybot"
    "@admin:matrix.example.org": "admin"

# Вот то что сохранили или оставили открым с самого начала
# Заполняем app_id, app_hash c первого шага, bot_token который получили от BotFather
telegram:
    api_id: 123456
    api_hash: secret_hash
    bot_token: bot_token

Сохраняемся - если всё успешно, то появиться файл - registration.yaml
копируем его в папку ./synapse можно с переименованием
sudo cp ./mautrix-telegram/registration.yaml ./synapse/registration_telegram.yaml

Далее заходим в настройки synapse - sudo micro ./synapse/homeserver находим закомментированный пункт app_service_config_files раскомментируем и добавляем наш файл.

app_service_config_files:
  - /data/registration_telegram.yaml

Перезапускаем всё docker-compose down && docker-compose up -d

В телеграме

  1. Добавляете бота которого создали в свой чат
  2. Назначаете администратором
  3. Пишете в чат команду /id бот ответит id команты, например -100004314

В Матриксе

  1. Создаёте комнату, которая будет чатом
  2. Приглашаете себе @telegrambot:ваш.matrix-server.com
  3. Пишем !tg bridge и далее id из телеграма, будет как то там !tg bridge -100004314
  4. Мост попросит подтверждения, отвечаем продолжить !tg continue

Полезные ссылки, источники
https://wiki.calculate-linux.org/matrix_telegram_bridge
https://docs.mau.fi/bridges/general/troubleshooting.html
https://docs.mau.fi/bridges/general/docker-setup