telegram-ts-api
v1.1.1
Published
High level wrapper for node-telegram-bot-api
Downloads
18
Maintainers
Readme
Telegram API - TypeScript
How to start
- Install lib via github or npm
- Import lib via
import Telegram from "./src/Telegram";
- To set up your Telegram API key use
Telegram.launchBot(TELEGRAM_API);
where TELEGRAM_API is your bot token
- How to send messages?
- For sending message to specific user you should know his/her user_id
const user_id = 100000;
await Telegram.user(user_id).message(`Hello!`);
- How to use buttons?
3.1 Keyboard buttons
const button = Telegram.button('keyboard', {pageId: "Main", name: "Phone Number Get", layer: 0});
## Attributes
- pageId - (string or number): used to create specific space where the button is located
- layer - (number): row on the page where the button is located
- name - (string): button name
To force the button to process events, call the following code
const button = Telegram.button('keyboard', {pageId: "Main", name: "Phone Number Get", layer: 0});
button.click(async (msg: any) =>
{
const id = msg.from.id;
const name = msg.from.name;
// On event open another button page using 'messageWithData'
// Second argument 'true' is 'one_time_keyboard'
// If it's true after click event keyboard will close
await Telegram.user(id).messageWithData("hi", await Telegram.getKeyboardButtonPageById("Phone Number", true));
});
3.2 Inline buttons
const button = Telegram.button('keyboard', {pageId: "Main", name: "Phone Number Get", layer: 0});
## Attributes
- pageId - (string or number): used to create specific space where the button is located
- layer - (number): row on the page where the button is located
- name - (string): button name
To force the button to process events, call the following code
const button = Telegram.button('inline', {pageId: "Main", callback: "Main", name: "Phone Number Get", layer: 0});
button.click(async (msg: any) =>
{
const id = msg.from.id;
const name = msg.from.name;
await Telegram.user(userId).messageWithData("hi", await Telegram.getInlineButtonPageById("Main"));
});