چطور یک کاربر را با استفاده از API ربات تلگرام محدود کنیم؟

restrict chat member telegram bot api
23 اسفند 1403


سلام! امروز می‌خواهیم درباره‌ی یکی از قابلیت‌های جالب API ربات تلگرام صحبت کنیم. همه ما می‌دانیم که تلگرام به عنوان یک پلتفرم ارتباطی بسیار محبوب است و ربات‌ها ابزارهای فوق‌العاده‌ای برای مدیریت گروه‌ها و کانال‌ها هستند. یکی از ویژگی‌های مهم ربات‌ها، توانایی محدود کردن اعضای یک گروه یا کانال است. این کار ممکن است به دلایل مختلفی انجام شود، مثلاً برای جلوگیری از اسپم یا رفتار نامناسب. بنابراین، با استفاده از متد restrictChatMember می‌توانیم این کار را انجام دهیم.



قبل از شروع، باید بدانید که برای استفاده از این API، شما به یک token منحصر به فرد نیاز دارید که از طریق بات‌فادر (BotFather) دریافت می‌کنید. این توکن به شما اجازه می‌دهد تا با ربات خود ارتباط برقرار کنید و دستورات مختلف را ارسال کنید. یکی از این دستورات که ما به آن توجه خواهیم کرد، متد restrictChatMember است. این متد به شما این امکان را می‌دهد که دسترسی یک کاربر خاص را در یک چت گروهی محدود کنید.



برای استفاده از این متد، شما باید آیدی گروه و آیدی کاربر را داشته باشید. همچنین، می‌توانید تنظیمات مختلفی مانند can_send_messages یا can_send_media_messages را نیز تعیین کنید تا مشخص کنید که کاربر چه محدودیت‌هایی خواهد داشت. مقداردهی این پارامترها کمک می‌کند تا کنترل بیشتری بر رفتار اعضای گروه داشته باشید.



حالا بیایید با هم یک نمونه کد زیبا ببینیم که چطور می‌توانیم از این متد استفاده کنیم. در این کد، ابتدا نیاز به تعیین token و سپس ارسال درخواست به API داریم. مطمئن شوید که کتابخانه مناسب را برای ارسال درخواست‌های HTTP به کار می‌برید.



const axios = require('axios');
const token = 'YOUR_BOT_TOKEN';

async function restrictMember(chatId, userId) {
const url = `https://api.telegram.org/bot${token}/restrictChatMember`;
const data = {
chat_id: chatId,
user_id: userId,
permissions: {
can_send_messages: false,
can_send_media_messages: false
}
};

try {
const response = await axios.post(url, data);
console.log(response.data);
} catch (error) {
console.error(error);
}
}

// استفاده از تابع
restrictMember('CHAT_ID', 'USER_ID');


توضیح کد


در خط اول ما با استفاده از require('axios') کتابخانه axios را برای ارسال درخواست‌های HTTP وارد می‌کنیم.

در خط دوم، توکن ربات خود را ذخیره می‌کنیم.

در تابع restrictMember، ابتدا آدرس URL برای متد restrictChatMember را تنظیم می‌کنیم.

سپس یک شیء data بسازید که شامل chat_id، user_id و permissions باشد.

داخل permissions مشخص می‌کنیم که کاربر محدود شده چه دسترسی‌هایی نخواهد داشت.

در نهایت، با استفاده از axios.post درخواست HTTP را ارسال می‌کنیم و نتیجه را در کنسول چاپ می‌کنیم.


سوالات متداول

؟

چطور می‌توانم دسترسی یک کاربر را به گروه محدود کنم؟

؟

آیا می‌توانم چندین کاربر را به صورت همزمان محدود کنم؟

؟

آیا می‌توانم محدودیت دسترسی‌ها را تغییر دهم؟