nativescript-tglib
Telegram Client NativeScript plugin.
npm i --save nativescript-tglib
  • Version: 0.2.0
  • GitHub:
  • Downloads:
    • Last Day:   1
    • Last Week:  2
    • Last Month: 41

Nativescript Tglib apple

Nativescript Library for building Telegram clients

Installation

Describe your plugin installation steps. Ideally it would be something like:

tns plugin add nativescript-tglib

Features

  • Currently support for iOS
  • Android coming soon

APIs

tglib provide some useful methods that makes your Telegram app development easier.

Most API classes/methods can be found in the official TDLib documentation.

Authorizing an user

const client = new TDJSON({
apiId: 'YOUR_API_ID',
apiHash: 'YOUR_API_HASH',
auth: {
type: 'user',
value: 'YOUR_PHONE_NUMBER',
},
})

Authorizing a bot

const client = new TDJSON({
apiId: 'YOUR_API_ID',
apiHash: 'YOUR_API_HASH',
auth: {
type: 'bot',
value: 'YOUR_BOT_TOKEN',
},
})

Low Level APIs

client.ready

This promise is used for initializing tglib client and connect with Telegram.

await client.ready
client.registerCallback(key, callback) -> Void

This API is provided by tglib, you can use this API to register your function in order to receive callbacks.

The authorization process can be overridden here by registering td:getInput callback.

client.registerCallback('td:update', (update) => console.log(update))
client.registerCallback('td:error', (error) => console.error(error))
client.registerCallback('td:getInput', async (args) => {
const result = await getInputFromUser(args)
return result
})
client.fetch(query) -> Promise -> Object

This API is provided by tglib, you can use this API to send asynchronous message to Telegram and receive response.

const chats = await client.fetch({
'@type': 'getChats',
'offset_order': '9223372036854775807',
'offset_chat_id': 0,
'limit': 100,
})
client.send(query) -> Promise -> Object

This API is provided by TDLib, you can use this API to send asynchronous message to Telegram.

await client.send({
'@type': 'sendMessage',
'chat_id': -123456789,
'input_message_content': {
'@type': 'inputMessageText',
'text': {
'@type': 'formattedText',
'text': '👻',
},
},
})

License

Apache License Version 2.0, January 2004