Skip to content
This repository has been archived by the owner on Oct 12, 2021. It is now read-only.

Yardanico/telenim

master
Switch branches/tags

Name already in use

A tag already exists with the provided branch name. Many Git commands accept both tag and branch names, so creating this branch may cause unexpected behavior. Are you sure you want to create this branch?
Code

Latest commit

 

Git stats

Files

Permalink
Failed to load latest commit information.
Type
Name
Latest commit message
Commit time
 
 
src
 
 
 
 
 
 
 
 
 
 

⚠️ Archived - please contribute to https://github.com/nimgram/nimgram instead

telenim

This library (will be) a high-level TDLib wrapper for Nim.

As of now it's in a pretty rough shape, but some stuff already works:

  • Parsing TDLib TL schema objects into Nim types (see src/tdgen.nim)
  • Using TDLib asynchronously (it runs in a separate thread)
  • Parsing TDLib TL schema functions into Nim procedures
  • Helper procedures for accessing common fields of TDLib objects
  • High-level hand-written procedures for common bot operations

To run the examples/userbot.nim example, you need:

  • Config file in examples/config.json
{
  "phone": "+123124214",
  "password": "2fa password if you have one",
  "api_id": "api id of your telegram app",
  "api_hash": "api hash"
}
  • Compile with --threads:on (config.nims in examples folder already does that)
  • libtdjson.so (or libtdjson.so.1.6.0) in lib folder. If you want to run telenim with another TDLib version, you'll have to run tdgen.nim on td_api.tl from that TDLib version and then (for now) you also have to modify the generated tdlib_types.nim file to fix some invalid code.
  • mathexpr Nim library (for now it's just used as an example command for the userbot)

About

A high-level async TDLib wrapper for Nim

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Languages