Skip to content

prtngn/ex_tdlib

 
 

Repository files navigation

Elixir TDLib

This elixir library binds telegram's TDLib, allowing you to interact with Telegram as a full-fledged client (not as a bot!). It ships :

Most of the interactions with this project are done via the ExTDLib module. Any structure used to interact with TDLib is defined under either ExTDLib.Object or ExTDLib.Method. You can create as many session as you want, but note that each of them launch a new instance of tdlib-json-cli via a port.

Installation

Add the following to your mix.exs :

def deps do
  [
    {:ex_tdlib, "~> 0.0.4"},
    {:tdlib_json_cli, git: "https://github.com/oott123/tdlib-json-cli", branch: "nightly", submodules: true, app: false, compile: false}
  ]
end

MacOS users:

Run mix deps.get and after go to deps/tdlib_json_cli and fix CMakeLists.txt. Remove set(CMAKE_EXE_LINKER_FLAGS " -static") and set target_link_libraries(tdlib_json_cli Td::TdJsonStatic)

Note that compiling this project will compile Telegram's TDLib (C++) itself, it's going to take a while and needs some depends. You can get more info here: tdlib-json-cli repo

Configuration

This library does not need configuration, however, the following options are available :

# Disable automatic handling of authentification and directly forward the
# incoming messages to the client
config :ex_tdlib, disable_handling: false

# Override default path of the telegram-json-cli binary
config :ex_tdlib, backend_binary: "/path/to/my/binary"

Usage / Example

A simple example can be found at https://github.com/prtngn/ex_telegram. Please refer to the ExTDLib module for proper documentation.

About

No description, website, or topics provided.

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Languages

  • Elixir 100.0%