{"id":15134029,"url":"https://github.com/develol/ts-bot-lite","last_synced_at":"2026-01-20T03:01:41.020Z","repository":{"id":146273503,"uuid":"549504553","full_name":"develol/ts-bot-lite","owner":"develol","description":"[TypeScript] NodeJS module of messenger bots (Telegram, VK and Viber)","archived":false,"fork":false,"pushed_at":"2022-10-17T13:34:50.000Z","size":50,"stargazers_count":1,"open_issues_count":0,"forks_count":0,"subscribers_count":1,"default_branch":"main","last_synced_at":"2025-04-05T22:42:07.421Z","etag":null,"topics":["api","bot","bots","nodejs","telegram","tg","tgbot","typescript","viber","viber-bot","vk","vk-api","vk-bot","vkapi","vkontakte","vkontakte-api"],"latest_commit_sha":null,"homepage":"","language":"TypeScript","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"mit","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/develol.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":null,"license":"LICENSE","code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null,"governance":null,"roadmap":null,"authors":null,"dei":null,"publiccode":null,"codemeta":null}},"created_at":"2022-10-11T09:32:40.000Z","updated_at":"2022-10-22T17:12:55.000Z","dependencies_parsed_at":null,"dependency_job_id":"40e62e17-e8af-4395-8bfc-a42cfa9b4751","html_url":"https://github.com/develol/ts-bot-lite","commit_stats":{"total_commits":19,"total_committers":2,"mean_commits":9.5,"dds":"0.21052631578947367","last_synced_commit":"698348bf4c3889c559cb0f3d43a9bdadce9f37de"},"previous_names":[],"tags_count":0,"template":false,"template_full_name":null,"purl":"pkg:github/develol/ts-bot-lite","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/develol%2Fts-bot-lite","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/develol%2Fts-bot-lite/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/develol%2Fts-bot-lite/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/develol%2Fts-bot-lite/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/develol","download_url":"https://codeload.github.com/develol/ts-bot-lite/tar.gz/refs/heads/main","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/develol%2Fts-bot-lite/sbom","scorecard":null,"host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":286080680,"owners_count":28594958,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2026-01-20T02:08:49.799Z","status":"ssl_error","status_checked_at":"2026-01-20T02:08:44.148Z","response_time":117,"last_error":"SSL_read: unexpected eof while reading","robots_txt_status":"success","robots_txt_updated_at":"2025-07-24T06:49:26.215Z","robots_txt_url":"https://github.com/robots.txt","online":false,"can_crawl_api":true,"host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":["api","bot","bots","nodejs","telegram","tg","tgbot","typescript","viber","viber-bot","vk","vk-api","vk-bot","vkapi","vkontakte","vkontakte-api"],"created_at":"2024-09-26T05:02:07.754Z","updated_at":"2026-01-20T03:01:41.003Z","avatar_url":"https://github.com/develol.png","language":"TypeScript","funding_links":[],"categories":[],"sub_categories":[],"readme":"# ts-bot-lite\n[TypeScript] NodeJS module of messenger bots (Telegram, VK and Viber)\\\n**[Example](https://github.com/develol/ts-bot-lite-example)**\n\n***Node.js v18.2.0+***\\\n***TypeScript v4.8.0+***\n\n- [Getting started](#getting-started)\n- [Sender of requests](#sender-of-requests)\n  - [Initialization](#initialization)\n  - [Create keyboard](#create-keyboard)\n  - [Text message formatting](#text-message-formatting)\n  - [Send a text message](#send-a-text-message)\n  - [Send an image](#send-an-image)\n  - [Send a file](#send-a-file)\n  - [Send a location](#send-a-location)\n  - [Get user information](#get-user-information)\n  - [Custom request (by official Bot API)](#custom-request-by-official-bot-api)\n- [Receiving messages](#receiving-messages)\n\n## Getting started\n1. Cloning this repository and...\n```\nnpm i --save \u003cpath_to_repository\u003e/ts-bot-lite\n```\n2. Import module\n```typescript\n//Importing a module\nimport * as botLite from 'ts-bot-lite';\n```\n## Sender of requests\n### Initialization\n```typescript\n// Object declaration for Telegram\nlet requesterTelegram = new botLite.RequestTelegram({\n    token: '\u003capi_key\u003e'\n});\n```\n```typescript\n// Object declaration for VK\nlet requesterVK = new botLite.RequestVK({\n    token: '\u003capi_key\u003e'\n});\n```\n```typescript\n// Object declaration for Viber\nlet requesterViber = new botLite.RequestViber({\n    token: '\u003capi_key\u003e'\n});\n```\n### Create keyboard\n```typescript\nlet keyboards = new botLite.Keyboard({\n  keyboard: [[\n    '\u003cbutton_1_1\u003e', \n    '\u003cbutton_1_2\u003e',\n    ...\n    '\u003cbutton_1_n\u003e'\n  ],\n    ...\n  [\n    '\u003cbutton_n_1\u003e', \n    '\u003cbutton_n_2\u003e', \n    ...\n    '\u003cbutton_n_n\u003e'\n  ]]\n});\n```\n### Text message formatting\n```typescript\n// Formatting HTML text\nlet textHTML = new botLite.Texter({\n  markup: 'html',\n  text:   '\u003cb\u003ebold\u003c/b\u003e\u003cbr\u003e\u003ci\u003eitalic\u003c/i\u003e\u003cbr\u003e\u003ccode\u003ecode\u003c/code\u003e\u003cbr\u003e\u003cs\u003estrike\u003c/s\u003e'\n});\n```\n```typescript\n// Formatting Markdown text\nlet textMarkdown = new botLite.Texter({\n  markup: 'markdown',\n  text:   '*bold*\\r\\n_italic_\\r\\n`code`\\r\\n```code```\\r\\n~strike~'\n});\n```\n```typescript\n// Custom text\nlet textCustom = 'bold\\r\\nitalic\\r\\ncode\\r\\ncode\\r\\nstrike';\n```\n### Send a text message\n#### Code\n```typescript\n// Send a text message (Telegram) and console.log(\u003cresponse\u003e)\nrequesterTelegram.sendText({\n  user:     '\u003cuser_id\u003e', \n  keyboard: keyboards.telegram(), \n  text:     textHTML.telegram() // or textMarkdown.telegram() or textCustom\n}).then((r:any) =\u003e console.log(r));\n```\n```typescript\n// Send a text message (VK) and console.log(\u003cresponse\u003e)\nrequesterVK.sendText({\n  user:     '\u003cuser_id\u003e', \n  keyboard: keyboards.vk(), \n  text:     textCustom.vk() // or textMarkdown.vk() or textCustom\n}).then((r:any) =\u003e console.log(r));\n```\n```typescript\n// Send a text message (Viber) and console.log(\u003cresponse\u003e)\nrequesterViber.sendText({\n  user:     '\u003cuser_id\u003e', \n  keyboard: keyboards.viber(), \n  text:     textCustom.viber() // or textMarkdown.viber() or textCustom\n}).then((r:any) =\u003e console.log(r));\n```\n#### Response\n```yaml\n{\n  ok: true,\n  messenger: '\u003cmessenger\u003e', # telegram or vk or viber\n  mask: 'send',\n  date: \u003cdate_and_time\u003e, # Unix-time format\n  statusText: { \n    ok: true, \n    messageId: \u003cmessage_id\u003e\n  }\n}\n```\n### Send an image\n#### Code\n```typescript\n// Send an image (Telegram) and console.log(\u003cresponse\u003e)\nrequesterTelegram.sendPhoto({\n  user:     '\u003cuser_id\u003e', \n  keyboard: keyboards.telegram(), \n  text:     textHTML.telegram(), // or textMarkdown.telegram() or textCustom\n  url:      '\u003cimage_link\u003e' // https://example.org/image.png\n}).then((r:any) =\u003e console.log(r));\n```\n```typescript\n// Send an image (VK) and console.log(\u003cresponse\u003e)\nrequesterVK.sendPhoto({\n  user:     '\u003cuser_id\u003e', \n  keyboard: keyboards.vk(), \n  text:     textCustom.vk(), // or textMarkdown.vk() or textCustom\n  url:      '\u003cimage_link\u003e' // https://example.org/image.png\n}).then((r:any) =\u003e console.log(r));\n```\n```typescript\n// Send an image (Viber) and console.log(\u003cresponse\u003e)\nrequesterViber.sendPhoto({\n  user:     '\u003cuser_id\u003e', \n  keyboard: keyboards.viber(), \n  text:     textCustom.viber(), // or textMarkdown.viber() or textCustom\n  url:      '\u003cimage_link\u003e' // https://example.org/image.png\n}).then((r:any) =\u003e console.log(r));\n```\n#### Response\n```yaml\n{\n  ok: true,\n  messenger: '\u003cmessenger\u003e', # telegram or vk or viber\n  mask: 'send',\n  date: \u003cdate_and_time\u003e, # Unix-time format\n  statusText: { \n    ok:        true, \n    messageId: \u003cmessage_id\u003e\n  }\n}\n```\n### Send a file\n#### Code\n```typescript\n// Send a file (Telegram) and console.log(\u003cresponse\u003e)\nrequesterTelegram.sendFile({\n  user:     '\u003cuser_id\u003e', \n  keyboard: keyboards.telegram(), \n  url:      '\u003cfile_link\u003e' // https://example.org/file.txt\n}).then((r:any) =\u003e console.log(r));\n```\n```typescript\n// Send a file (VK) and console.log(\u003cresponse\u003e)\nrequesterVK.sendFile({\n  user:     '\u003cuser_id\u003e', \n  keyboard: keyboards.vk(), \n  url:      '\u003cfile_link\u003e' // https://example.org/file.txt\n}).then((r:any) =\u003e console.log(r));\n```\n```typescript\n// Send a file (Viber) and console.log(\u003cresponse\u003e)\nrequesterViber.sendFile({\n  user:     '\u003cuser_id\u003e', \n  keyboard: keyboards.viber(), \n  url:      '\u003cfile_link\u003e' // https://example.org/file.txt\n}).then((r:any) =\u003e console.log(r));\n```\n#### Response\n```yaml\n{\n  ok: true,\n  messenger: '\u003cmessenger\u003e', # telegram or vk or viber\n  mask: 'send',\n  date: \u003cdate_and_time\u003e, # Unix-time format\n  statusText: { \n    ok: true, \n    messageId: \u003cmessage_id\u003e\n  }\n}\n```\n### Send a location\n#### Code\n```typescript\n// Send a location (Telegram) and console.log(\u003cresponse\u003e)\nrequesterTelegram.sendLocation({\n  user:      '\u003cuser_id\u003e', \n  keyboard:  keyboards.telegram(), \n  latitude:  '\u003clatitude\u003e', \n  longitude: '\u003clongitude\u003e'\n}).then((r:any) =\u003e console.log(r));\n```\n```typescript\n// Send a location (VK) and console.log(\u003cresponse\u003e)\nrequesterVK.sendLocation({\n  user:      '\u003cuser_id\u003e', \n  keyboard:  keyboards.vk(), \n  latitude:  '\u003clatitude\u003e', \n  longitude: '\u003clongitude\u003e'\n}).then((r:any) =\u003e console.log(r));\n```\n```typescript\n// Send a location (Viber) and console.log(\u003cresponse\u003e)\nrequesterViber.sendLocation({\n  user:      '\u003cuser_id\u003e', \n  keyboard:  keyboards.viber(), \n  latitude:  '\u003clatitude\u003e', \n  longitude: '\u003clongitude\u003e'\n}).then((r:any) =\u003e console.log(r));\n```\n#### Response\n```yaml\n{\n  ok: true,\n  messenger: '\u003cmessenger\u003e', # telegram or vk or viber\n  mask: 'send',\n  date: \u003cdate_and_time\u003e, # Unix-time format\n  statusText: { \n    ok: true, \n    messageId: \u003cmessage_id\u003e\n  }\n}\n```\n### Get user information\n#### Code\n```typescript\n// Get user information (Telegram) and console.log(\u003cresponse\u003e)\nrequesterTelegram.getUserInfo({\n  user: '\u003cuser_id\u003e'\n}).then((r:any) =\u003e console.log(r));\n```\n```typescript\n// Get user information (VK) and console.log(\u003cresponse\u003e)\nrequesterVK.getUserInfo({\n  user: '\u003cuser_id\u003e'\n}).then((r:any) =\u003e console.log(r));\n```\n```typescript\n// Get user information (Viber) and console.log(\u003cresponse\u003e)\nrequesterViber.getUserInfo({\n  user: '\u003cuser_id\u003e'\n}).then((r:any) =\u003e console.log(r));\n```\n#### Response\n```yaml\n{\n  ok: true,\n  messenger: '\u003cmessenger\u003e', # telegram or vk or viber\n  mask: 'getUserInfo',\n  date: \u003cdate_and_time\u003e, # Unix-time format\n  statusText: {\n    ok: true,\n    userName: '\u003cusername\u003e',\n    firstName: \u003cfirst_name\u003e,\n    lastName: \u003clast_name\u003e\n  }\n}\n```\n### Custom request (by official Bot API)\n\n- [Telegram API](https://core.telegram.org/bots/api)\n- [VK API](https://dev.vk.com/api/bots/getting-started)\n- [Viber API](https://developers.viber.com/docs/api/rest-bot-api/)\n\n#### Code\n```typescript\n// Custom request (Telegram) and console.log(\u003cresponse\u003e)\nrequesterTelegram.fetchSender({\n  param: {\n    \u003cparameter_1\u003e:'\u003cvalue_1\u003e',\n    \u003cparameter_2\u003e:'\u003cvalue_2\u003e',\n    ...\n    \u003cparameter_n\u003e:'\u003cvalue_n\u003e'\n  },\n  page:         '\u003cmethod\u003e',\n  responseType: 'custom'\n}).then((r:any) =\u003e console.log(r));\n```\n```typescript\n// Custom request (VK) and console.log(\u003cresponse\u003e)\nrequesterVK.fetchSender({\n  param: {\n    \u003cparameter_1\u003e:'\u003cvalue_1\u003e',\n    \u003cparameter_2\u003e:'\u003cvalue_2\u003e',\n    ...\n    \u003cparameter_n\u003e:'\u003cvalue_n\u003e'\n  },\n  page:         '\u003cmethod\u003e',\n  responseType: 'custom'\n}).then((r:any) =\u003e console.log(r));\n```\n```typescript\n// Custom request (Viber) and console.log(\u003cresponse\u003e)\nrequesterViber.fetchSender({\n  param: {\n    \u003cparameter_1\u003e:'\u003cvalue_1\u003e',\n    \u003cparameter_2\u003e:'\u003cvalue_2\u003e',\n    ...\n    \u003cparameter_n\u003e:'\u003cvalue_n\u003e'\n  },\n  page:         '\u003cmethod\u003e',\n  responseType: 'custom'\n}).then((r:any) =\u003e console.log(r));\n```\n#### Response\n```yaml\n{\n  ok: true,\n  messenger: '\u003cmessenger\u003e', # telegram or vk or viber\n  mask: 'custom',\n  date: \u003cdate_and_time\u003e, # Unix-time format\n  statusText: {\n    \u003cresponse_to_request\u003e\n  }\n}\n```\n## Receiving messages\n_This module is under development_\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fdevelol%2Fts-bot-lite","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fdevelol%2Fts-bot-lite","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fdevelol%2Fts-bot-lite/lists"}