TDLib (Telegram Database library) bindings for Node.js
- Build the binary (https://github.com/tdlib/td#building)
npm i -S tglib
tglib provide some useful methods that makes your Telegram app development easier.
const client = new Client({
apiId: 'YOUR_API_ID',
apiHash: 'YOUR_API_HASH',
auth: {
type: 'user',
value: 'YOUR_PHONE_NUMBER',
},
})
const client = new Client({
apiId: 'YOUR_API_ID',
apiHash: 'YOUR_API_HASH',
auth: {
type: 'bot',
value: 'YOUR_BOT_TOKEN',
},
})
This promise is used for initializing tglib client and connect with Telegram.
await client.ready
Expand
This API is provided by tglib, you can use this API to attach an event listener for iterating updates.
client.on('_update', console.log.bind(console))
client.on('_error', console.error.bind(console))
Expand
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': '👻',
},
},
})
Expand
This API is provided by TDLib, you can use this API to execute synchronous action to Telegram.
await client._execute({
'@type': 'getTextEntities',
'text': '@telegram /test_command https://telegram.org telegram.me',
})
Expand
This API is provided by TDLib, you can use this API to destroy the client.
await client._destroy()
Expand
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,
})
tglib provides a collection of APIs that designed for ease of use and handiness. These APIs are located under client.tg
property.
Expand
This API is provided by tglib, you can use this API to send message to a chat. If the options
argument is specified, the function will combine your options with its default.
await client.sendTextMessage('123456789', 'Hello *World*', {
'parse_mode': 'markdown',
'disable_notification': true,
'clear_draft': false,
})
- TDLib binary
If you planning to build TDLib for Windows, please see here for more information.
- Node.js 10 preferred (minimum >= 9.0.0)
Note: If you are using Node.js 9.x, you may encounter a warning message
Warning: N-API is an experimental feature and could change at any time.
, this can be suppressed by upgrading to version 10.
tglib uses the same license as TDLib. See tdlib/td for more information.