#discord-bot #telegram-bot #discord #telegram #channel #join #file

nightly bin+lib telecord

将 Telegram 聊天加入 Discord 频道的机器人

4 个版本

使用旧的 Rust 2015

0.1.3 2017 年 12 月 6 日
0.1.2 2017 年 12 月 5 日
0.1.1 2017 年 11 月 28 日
0.1.0 2017 年 11 月 28 日

#39 in #join

GPL-3.0 许可证

54KB
860

Telecord

Telecord 是一个机器人,可以将 Discord 消息翻译成 Telegram 消息(反之亦然)。

文档 Crates.io

当前状态

它工作正常

  • 从 Discord 向 Telegram 发送文本和媒体
  • 从 Telegram 向 Discord 发送文本和媒体

获取机器人

从二进制发布版

当前发布版 下载。如果没有适用于您的操作系统或架构的发布版,请参阅此说明中的 Crates.io 或从源代码 部分。

从 Crates.io

此项目需要 Rust Nightly 编译。如果您没有 Rustup,请在此处安装它。

以下命令将从 crates.io 下载 Telecord 的最新稳定版本,编译它,并将二进制文件安装到 ~/.cargo/bin/telecord

rustup run nightly cargo install telecord

从源代码

此项目需要 Rust Nightly 编译。如果您没有 Rustup,请在此处安装它。

git clone https://github.com/asonix/telecord.git

rustup install nightly
rustup run nightly cargo build --release

这将创建一个位于 ./target/release 的二进制文件,您可以使用 ./target/release/telecord 运行它,或者您可以将其复制到所需的位置。

用法

请确保您设置了正确的环境变量。您可以使用 export 或通过修改 .env 文件来实现。此 crate 中提供了一个示例 .env 文件,作为 .env.sample

DISCORD_BOT_TOKENTELEGRAM_BOT_TOKEN 的含义自明,但 CHAT_MAPPINGS 是由冒号分隔的元组组成的逗号分隔列表。环境变量 1234:abcd,5678:efgh 将 Telegram 聊天 1234 映射到 Discord 频道 abcd,并将 Telegram 聊天 5678 映射到 Discord 频道 efgh

设置环境变量后,您可以使用 ./path/to/your/telecord/binary 运行机器人。请注意,机器人必须被添加到它打算连接的 Discord 频道和 Telegram 聊天中,并且能够读取其中的消息。

在行内运行程序

TELEGRAM_BOT_TOKEN="your token" \
DISCORD_BOT_TOKEN="your token" \
CHAT_MAPPINGS="your mappings" \
RUST_LOG=telecord=info \
./path/to/your/telecord/binary

作为 SystemD 进程

请确保您有一个要运行机器人的用户和组。如果您没有,您可以用自己的用户运行它,或者创建一个新的用户和组。

[Unit]
Description=A bot to connect Telegram to Discord
After=network.target

[Service]
Type=simple
User=your-telecord-user
Group=your-telecord-group
Environment="TELEGRAM_BOT_TOKEN=YOUR_BOT_TOKEN"
Environment="DISCORD_BOT_TOKEN=YOUR_BOT_TOKEN"
Environment="CHAT_MAPPINGS=CHAT_ONE:CHANNEL_ONE,CHAT_TWO:CHANNEL_TWO"
Environment="RUST_LOG=telecord=info"
ExecStart=/path/to/your/telecord/binary
TimeoutSec=90
Restart=always

[Install]
WantedBy=default.target

在 Windows 上

使用 PowerShell 和 -msvc 版本

在 PowerShell 中,导航到包含 .exe 文件的文件夹,并运行以下命令

$env:RUST_LOG = "telecord=info"
$env:TELEGRAM_BOT_TOKEN = "YOUR_TELEGRAM_TOKEN"
$env:DISCORD_BOT_TOKEN = "YOUR_DISCORD_TOKEN"
$env:CHAT_MAPPINGS = "chat_one:channel_one,chat_two:channel_two"
.\telecord.exe
使用 MingW 和 -gnu 版本

在 bash 中,导航到包含 .exe 文件的文件夹,并运行以下命令

TELEGRAM_BOT_TOKEN="your token" \
DISCORD_BOT_TOKEN="your token" \
CHAT_MAPPINGS="your mappings" \
RUST_LOG=telecord=info \
./telecord.exe

许可证

Telecord 是免费软件:您可以在自由软件基金会发布的 GNU 通用公共许可证条款下重新分发它或修改它,无论是许可证的第 3 版,还是(根据您的选择)任何更高版本。

Telecord 的分发是希望它会有用,但没有任何保证;甚至没有关于适销性或针对特定目的的适用性的暗示性保证。有关详细信息,请参阅 GNU 通用公共许可证。此文件是 Telecord 的一部分

您应该已随 Telecord 收到一份 GNU 通用公共许可证副本;如果没有,请参阅 http://www.gnu.org/licenses/

依赖项

~28–39MB
~679K SLoC