-
Notifications
You must be signed in to change notification settings - Fork 1
Installation
github-actions edited this page Jul 28, 2026
·
5 revisions
- Node.js (>= 18)
- curl
-
libtdjson — TDLib shared library (minimum version 1.8.64) —
libtdjson.so(Linux),libtdjson.dylib(macOS),tdjson.dll(Windows) -
snacks.nvim — optional, used for the chat picker with fuzzy search (falls back to
vim.ui.selectif not installed) -
ImageMagick — optional, required by snacks.nvim image module to display non-PNG images (e.g. JPEG photos). Install with
brew install imagemagickon macOS -
gh (GitHub CLI) — optional, required for
:TgPrand:TgIssuecommands
git clone https://github.com/tdlib/td.git
cd td
mkdir build && cd build
cmake -DCMAKE_BUILD_TYPE=Release \
-DCMAKE_INSTALL_PREFIX=~/.local \
-DCMAKE_CXX_FLAGS="-O2 -g0" \
..
cmake --build . --target install -j$(nproc)
ldconfig 2>/dev/null || true{
"ChuYanLon/telegram.nvim",
build = "npm i",
event = "VeryLazy",
dependencies = {
-- "folke/snacks.nvim", -- optional: enables fuzzy-find chat picker
},
keys = {
{ "<leader>tt", "<cmd>Tg<Cr>", desc = "Toggle Telegram" },
{ "<leader>tL", "<cmd>TgLogout<Cr>", desc = "Logout Telegram" },
{ "<leader>tp", "<cmd>TgPr<Cr>", desc = "Create PR" },
{ "<leader>ti", "<cmd>TgIssue<Cr>", desc = "Manage Issues" },
},
cmd = {
"Tg",
"TgLogout",
"TgPr",
"TgIssue",
},
opts = {
-- tdlib_path = "/path/to/libtdjson.so", -- optional: .so (Linux) / .dylib (macOS) / .dll (Windows)
-- proxy = "socks5://127.0.0.1:7890", -- optional: for regions where Telegram is blocked
},
}build = "npm i" installs Node.js dependencies automatically on first install.
The server auto-detects
libtdjsonon startup vialdconfig,LD_LIBRARY_PATH, and common paths. See Configuration for details.