TL language parser for Elixir 

Parser generator based on TL schemas. Library version based on main TL schema (currently 57 layer), also contains service messages and official end-to-end (up to 23 layer).
Installation
-
Add
tlto your list of dependencies inmix.exs:
def deps do
[{:tl, "~> 57.0"}]
end-
Ensure
tlis started before your application:
def application do
[applications: [:tl]]
endUsage
Encoding:
iex> struct = %TL.MTProto.Ping{ping_id: 1}
iex> packet = TL.Serializer.encode(struct)
<<236, 119, 190, 122, 1, 0, 0, 0, 0, 0, 0, 0>>Decoding:
iex> packet = <<236, 119, 190, 122, 1, 0, 0, 0, 0, 0, 0, 0>>
iex> TL.Serializer.decode(packet)
{:ok, %TL.MTProto.Ping{ping_id: 1}}Contributing
- Fork it
-
Create your feature branch (
git checkout -b my-new-feature) -
Commit your changes (
git commit -am 'add some feature') -
Push to the branch (
git push origin my-new-feature) - Create new Pull Request