Sending Action Text Using Telegram Bot API

telegram bot api send chat action
26 May 2025

Introduction to the sendChatAction Method in Telegram Bot API


Dear friend, today we want to talk about the sendChatAction method from the Telegram Bot API. This method allows us to let the user know that our bot is currently performing a specific action, such as typing, recording audio, or sending a photo. This capability makes the user feel that the bot is processing their request and that the wait time will be shorter.


In fact, when we use sendChatAction, we can inform the user what action we are performing. For example, if your bot is busy processing data to send a desired message, this method might let the user know that the bot is typing. This way, the user is assured that the bot is active and waiting for a response.


However, why is it important to use this method? It’s because it enhances the interaction between the user and the bot, making it feel more engaging. If the user feels that the bot is active, they will likely expect a quicker response as well. Additionally, this action can significantly improve the user experience and create a more effective and engaging interaction.


In summary, using this method is very simple and can be accessed through the Telegram API. I suggest you definitely check this capability in your Telegram bot implementations to help improve the user experience.


Code Example


const TelegramBot = require('node-telegram-bot-api');
const token = 'YOUR_TELEGRAM_BOT_TOKEN';
const bot = new TelegramBot(token, { polling: true });

bot.on('message', (msg) => {
const chatId = msg.chat.id;
bot.sendChatAction(chatId, 'typing');
setTimeout(() => {
bot.sendMessage(chatId, 'Your message has been sent!');
}, 2000);
});

Code Explanation


const TelegramBot = require('node-telegram-bot-api');
This line imports the node-telegram-bot-api library for using Telegram bot features in your application.



const token = 'YOUR_TELEGRAM_BOT_TOKEN';
Here, you place your bot token which you received from BotFather in Telegram.



const bot = new TelegramBot(token, { polling: true });
This line initializes the bot using the specified token and sets it to the polling mode for receiving new messages.



bot.on('message', (msg) => {
This is an event for listening to incoming messages from users.



const chatId = msg.chat.id;
This line retrieves the chatId of the user sending the message to respond accordingly.



bot.sendChatAction(chatId, 'typing');
This line tells Telegram that the bot is typing, which is displayed to the user.



setTimeout(() => { bot.sendMessage(chatId, 'Your message has been sent!'); }, 2000);
This part informs the user, after a 2-second pause, that their message “Your message has been sent!” has been sent.


FAQ

?

What exactly does the sendChatAction method do?

?

How can I use sendChatAction in my Telegram bot?

?

Does using this method impact user experience?

?

When exactly should I use sendChatAction?