https://github.com/develol/ts-bot-lite
[TypeScript] NodeJS module of messenger bots (Telegram, VK and Viber)
https://github.com/develol/ts-bot-lite
api bot bots nodejs telegram tg tgbot typescript viber viber-bot vk vk-api vk-bot vkapi vkontakte vkontakte-api
Last synced: about 2 months ago
JSON representation
[TypeScript] NodeJS module of messenger bots (Telegram, VK and Viber)
- Host: GitHub
- URL: https://github.com/develol/ts-bot-lite
- Owner: develol
- License: mit
- Created: 2022-10-11T09:32:40.000Z (over 2 years ago)
- Default Branch: main
- Last Pushed: 2022-10-17T13:34:50.000Z (over 2 years ago)
- Last Synced: 2025-02-19T05:34:44.375Z (3 months ago)
- Topics: api, bot, bots, nodejs, telegram, tg, tgbot, typescript, viber, viber-bot, vk, vk-api, vk-bot, vkapi, vkontakte, vkontakte-api
- Language: TypeScript
- Homepage:
- Size: 48.8 KB
- Stars: 1
- Watchers: 1
- Forks: 0
- Open Issues: 0
-
Metadata Files:
- Readme: README.md
- License: LICENSE
Awesome Lists containing this project
README
# ts-bot-lite
[TypeScript] NodeJS module of messenger bots (Telegram, VK and Viber)\
**[Example](https://github.com/develol/ts-bot-lite-example)*****Node.js v18.2.0+***\
***TypeScript v4.8.0+***- [Getting started](#getting-started)
- [Sender of requests](#sender-of-requests)
- [Initialization](#initialization)
- [Create keyboard](#create-keyboard)
- [Text message formatting](#text-message-formatting)
- [Send a text message](#send-a-text-message)
- [Send an image](#send-an-image)
- [Send a file](#send-a-file)
- [Send a location](#send-a-location)
- [Get user information](#get-user-information)
- [Custom request (by official Bot API)](#custom-request-by-official-bot-api)
- [Receiving messages](#receiving-messages)## Getting started
1. Cloning this repository and...
```
npm i --save /ts-bot-lite
```
2. Import module
```typescript
//Importing a module
import * as botLite from 'ts-bot-lite';
```
## Sender of requests
### Initialization
```typescript
// Object declaration for Telegram
let requesterTelegram = new botLite.RequestTelegram({
token: ''
});
```
```typescript
// Object declaration for VK
let requesterVK = new botLite.RequestVK({
token: ''
});
```
```typescript
// Object declaration for Viber
let requesterViber = new botLite.RequestViber({
token: ''
});
```
### Create keyboard
```typescript
let keyboards = new botLite.Keyboard({
keyboard: [[
'',
'',
...
''
],
...
[
'',
'',
...
''
]]
});
```
### Text message formatting
```typescript
// Formatting HTML text
let textHTML = new botLite.Texter({
markup: 'html',
text: 'bold
italiccode
strike'
});
```
```typescript
// Formatting Markdown text
let textMarkdown = new botLite.Texter({
markup: 'markdown',
text: '*bold*\r\n_italic_\r\n`code`\r\n```code```\r\n~strike~'
});
```
```typescript
// Custom text
let textCustom = 'bold\r\nitalic\r\ncode\r\ncode\r\nstrike';
```
### Send a text message
#### Code
```typescript
// Send a text message (Telegram) and console.log()
requesterTelegram.sendText({
user: '',
keyboard: keyboards.telegram(),
text: textHTML.telegram() // or textMarkdown.telegram() or textCustom
}).then((r:any) => console.log(r));
```
```typescript
// Send a text message (VK) and console.log()
requesterVK.sendText({
user: '',
keyboard: keyboards.vk(),
text: textCustom.vk() // or textMarkdown.vk() or textCustom
}).then((r:any) => console.log(r));
```
```typescript
// Send a text message (Viber) and console.log()
requesterViber.sendText({
user: '',
keyboard: keyboards.viber(),
text: textCustom.viber() // or textMarkdown.viber() or textCustom
}).then((r:any) => console.log(r));
```
#### Response
```yaml
{
ok: true,
messenger: '', # telegram or vk or viber
mask: 'send',
date: , # Unix-time format
statusText: {
ok: true,
messageId:
}
}
```
### Send an image
#### Code
```typescript
// Send an image (Telegram) and console.log()
requesterTelegram.sendPhoto({
user: '',
keyboard: keyboards.telegram(),
text: textHTML.telegram(), // or textMarkdown.telegram() or textCustom
url: '' // https://example.org/image.png
}).then((r:any) => console.log(r));
```
```typescript
// Send an image (VK) and console.log()
requesterVK.sendPhoto({
user: '',
keyboard: keyboards.vk(),
text: textCustom.vk(), // or textMarkdown.vk() or textCustom
url: '' // https://example.org/image.png
}).then((r:any) => console.log(r));
```
```typescript
// Send an image (Viber) and console.log()
requesterViber.sendPhoto({
user: '',
keyboard: keyboards.viber(),
text: textCustom.viber(), // or textMarkdown.viber() or textCustom
url: '' // https://example.org/image.png
}).then((r:any) => console.log(r));
```
#### Response
```yaml
{
ok: true,
messenger: '', # telegram or vk or viber
mask: 'send',
date: , # Unix-time format
statusText: {
ok: true,
messageId:
}
}
```
### Send a file
#### Code
```typescript
// Send a file (Telegram) and console.log()
requesterTelegram.sendFile({
user: '',
keyboard: keyboards.telegram(),
url: '' // https://example.org/file.txt
}).then((r:any) => console.log(r));
```
```typescript
// Send a file (VK) and console.log()
requesterVK.sendFile({
user: '',
keyboard: keyboards.vk(),
url: '' // https://example.org/file.txt
}).then((r:any) => console.log(r));
```
```typescript
// Send a file (Viber) and console.log()
requesterViber.sendFile({
user: '',
keyboard: keyboards.viber(),
url: '' // https://example.org/file.txt
}).then((r:any) => console.log(r));
```
#### Response
```yaml
{
ok: true,
messenger: '', # telegram or vk or viber
mask: 'send',
date: , # Unix-time format
statusText: {
ok: true,
messageId:
}
}
```
### Send a location
#### Code
```typescript
// Send a location (Telegram) and console.log()
requesterTelegram.sendLocation({
user: '',
keyboard: keyboards.telegram(),
latitude: '',
longitude: ''
}).then((r:any) => console.log(r));
```
```typescript
// Send a location (VK) and console.log()
requesterVK.sendLocation({
user: '',
keyboard: keyboards.vk(),
latitude: '',
longitude: ''
}).then((r:any) => console.log(r));
```
```typescript
// Send a location (Viber) and console.log()
requesterViber.sendLocation({
user: '',
keyboard: keyboards.viber(),
latitude: '',
longitude: ''
}).then((r:any) => console.log(r));
```
#### Response
```yaml
{
ok: true,
messenger: '', # telegram or vk or viber
mask: 'send',
date: , # Unix-time format
statusText: {
ok: true,
messageId:
}
}
```
### Get user information
#### Code
```typescript
// Get user information (Telegram) and console.log()
requesterTelegram.getUserInfo({
user: ''
}).then((r:any) => console.log(r));
```
```typescript
// Get user information (VK) and console.log()
requesterVK.getUserInfo({
user: ''
}).then((r:any) => console.log(r));
```
```typescript
// Get user information (Viber) and console.log()
requesterViber.getUserInfo({
user: ''
}).then((r:any) => console.log(r));
```
#### Response
```yaml
{
ok: true,
messenger: '', # telegram or vk or viber
mask: 'getUserInfo',
date: , # Unix-time format
statusText: {
ok: true,
userName: '',
firstName: ,
lastName:
}
}
```
### Custom request (by official Bot API)- [Telegram API](https://core.telegram.org/bots/api)
- [VK API](https://dev.vk.com/api/bots/getting-started)
- [Viber API](https://developers.viber.com/docs/api/rest-bot-api/)#### Code
```typescript
// Custom request (Telegram) and console.log()
requesterTelegram.fetchSender({
param: {
:'',
:'',
...
:''
},
page: '',
responseType: 'custom'
}).then((r:any) => console.log(r));
```
```typescript
// Custom request (VK) and console.log()
requesterVK.fetchSender({
param: {
:'',
:'',
...
:''
},
page: '',
responseType: 'custom'
}).then((r:any) => console.log(r));
```
```typescript
// Custom request (Viber) and console.log()
requesterViber.fetchSender({
param: {
:'',
:'',
...
:''
},
page: '',
responseType: 'custom'
}).then((r:any) => console.log(r));
```
#### Response
```yaml
{
ok: true,
messenger: '', # telegram or vk or viber
mask: 'custom',
date: , # Unix-time format
statusText: {
}
}
```
## Receiving messages
_This module is under development_