آشنایی با متد sendChatAction در API ربات تلگرام
دوستای گلم، امروز میخوایم دربارهی متد sendChatAction
از API ربات تلگرام صحبت کنیم. این متد به ما اجازه میده تا به کاربر نشون بدیم که ربات ما در حال انجام یک عمل خاص مثل تایپ، ضبط صدا یا ارسال عکس هست. این قابلیت باعث میشه کاربر احساس کنه که ربات در حال پردازش درخواستش هست و زمان انتظار برایش کمتر احساس میشه.
در واقع زمانی که ما از sendChatAction
استفاده میکنیم، میتونیم به کاربر اعلام کنیم که در حال انجام چه کاری هستیم. مثلا اگر ربات شما مشغول پردازش دادهها برای ارسال یک پیام دلخواه هست، این متد میتونه به کاربر بگه که ربات داره تایپ میکنه. اینجوری کاربر مطمئن میشه که ربات فعال هست و منتظر جواب نیست.
اما چرا استفاده از این متد مهمه؟ به خاطر این که تعامل بین کاربر و ربات رو به طرز چشمگیری افزایش میده. اگر کاربر حس کنه که ربات در حال فعالیته، با حوصله بیشتری منتظر جواب خواهد ماند. همچنین، این کار باعث میشه که تجربه کاربری بهتری برای کاربران فراهم بشه و تعاملات پایدارتر و موثرتری حاصل بشه.
در نهایت، استفاده از این متد بسیار ساده و از طریق API تلگرام قابل دسترسی است. به شما پیشنهاد میکنم که حتماً این قابلیت رو در پروژههای رباتتون امتحان کنید تا به بهبود تجربه کاربری کمک کنید.
نمونه کد
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');
// برای مثال یک پیام پس از 2 ثانیه
setTimeout(() => {
bot.sendMessage(chatId, 'پیام شما ارسال شد!');
}, 2000);
});
توضیحات کد
const TelegramBot = require('node-telegram-bot-api');
با این خط ما کتابخانه node-telegram-bot-api رو برای استفاده از قابلیتهای ربات تلگرام وارد میکنیم.const token = 'YOUR_TELEGRAM_BOT_TOKEN';
در اینجا توکن ربات خودتون رو قرار میدید که از BotFather در تلگرام دریافت کردهاید.const bot = new TelegramBot(token, { polling: true });
این خط ربات رو با توکن مشخص شده راهاندازی میکنه و از حالت polling برای دریافت پیامهای جدید استفاده میکنه.bot.on('message', (msg) => {
در اینجا ما یک رویداد برای شنیدن پیامهای دریافتی از کاربران ثبت میکنیم.const chatId = msg.chat.id;
با این خط ما chatId کاربر صادرکننده پیام رو دریافت میکنیم تا بتوانیم به آن پاسخ بدهیم.bot.sendChatAction(chatId, 'typing');
این خط به تلگرام میگه که ربات در حال تایپ کردن هست و این وضعیت به کاربر نمایش داده میشه.setTimeout(() => { bot.sendMessage(chatId, 'پیام شما ارسال شد!'); }, 2000);
در اینجا ما به ربات میگیم که پس از 2 ثانیه پیام «پیام شما ارسال شد!» رو به کاربر بفرسته.