سلام! امروز میخواهیم دربارهی یکی از قابلیتهای جالب 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 را ارسال میکنیم و نتیجه را در کنسول چاپ میکنیم.