UNPKG

telegram-ts-api

Version:

High level wrapper for node-telegram-bot-api

62 lines (51 loc) 2.31 kB
# Telegram API - TypeScript ## How to start 1) Install lib via github or npm - Import lib via `import Telegram from "./src/Telegram";` - To set up your <b>Telegram API key</b> use `Telegram.launchBot(TELEGRAM_API);` where TELEGRAM_API is your bot token 2) How to send messages? - For sending message to specific user you should know his/her user_id ```typescript const user_id = 100000; await Telegram.user(user_id).message(`Hello!`); ``` 3) How to use buttons? 3.1 Keyboard buttons ```typescript 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 ```typescript 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 ```typescript 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 ```typescript 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")); }); ```