安装好了 Synapse,但是Matrix中文用户太少,没有用武之地岂不是浪费。
这里请出第二位选手:mautrix-telegram,创建一个与 Telegram 的桥接。
安装 mautrix-telegram
软件安装简单,这里直接使用 pip 安装。
安装所需依赖。
su - mkdir /opt/venvs/mautrix-telegram/ useradd -d /opt/venvs/mautrix-telegram -s /bin/bash -r mautrix-telegram chown mautrix-telegram:root /opt/venvs/mautrix-telegram/ su - mautrix-telegram virtualenv -p /usr/bin/python3 . source ./bin/activate pip install --upgrade mautrix-telegram[all]
创建 mautrix-telegram 用户,安装 mautrix-telegram。
配置 mautrix-telegram
修改 config.yaml
数据库
大致同上篇。
CREATE DATABASE mautrix_telegram ENCODING 'UTF8' LC_COLLATE='C' LC_CTYPE='C' template=template0 OWNER mautrix_telegram_user;
pg_hba.conf 添加:
修改 config.yaml,将数据库由 sqlite 改为 postgres 。
#database: sqlite:///mautrix-telegram.db database: postgres://mautrix_telegram_user:[email protected]/mautrix_telegram
Telegram Token
打开 https://my.telegram.org/apps ,输入手机号登录。
登录后页面
登录后点击第一项 API development tools,按要求填写信息,提交后即可看到 api_id、api_hash。
将 api_id、api_hash 填入 config.yaml。
特别提醒:不要修改 bot_token 值,修改后可能造成验证出错。
杂项
homeserver.address填写 homeserver 连接地址。如果 mautrix-telegram 与 synapse 位于同一台机器,可直接填本地地址:http://localhost:8008。homeserver.domain填写server_name,就本例应为bgme.me。根据自己需要配置
bridge.permissions,若本项未设置,将无法启动。
生成 registration.yaml 并配置 homeserver.yaml
修改 homeserver.yaml,将 /opt/venvs/mautrix-telegram/registration.yaml 添加至 app_service_config_files 。
修改完毕后,重启 matrix-synapse.service 服务。
试运行 mautrix-telegram
尝试运行
如果正常运行没报错则 mautrix-telegram 配置完成。
后续
配置 systemd.service
创建 /etc/systemd/system/mautrix-telegram.service 内容如下:
[Unit] Description=A Matrix-Telegram hybrid puppeting/relaybot bridge After=network.target Wants=network.target [Service] Type=simple User=mautrix-telegram WorkingDirectory=/opt/venvs/mautrix-telegram ExecStart=/opt/venvs/mautrix-telegram/bin/python -m mautrix_telegram Restart=on-failure [Install] WantedBy=multi-user.target
启动并激活服务: