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
54KB
860 行
Telecord
Telecord 是一个机器人,可以将 Discord 消息翻译成 Telegram 消息(反之亦然)。
当前状态
它工作正常
- 从 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_TOKEN
和 TELEGRAM_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