شما این محصولات را انتخاب کرده اید

سبد خرید

id: 1309
بازدید: 1248

درخواست های زیادی برای آموزش قفل کردن کانال روی ربات تلگرامی بود برای همین خواستیم این آموزش رو برای شما که با زبان برنامه نویسی PHP هست قرار بدیم تا بتونید با استفاده از این آموزش هر چند تا کانال یا گروه تلگرامی که خواستید روی ربات های تلگرامی خودتون قفل کنید، حتی توی این آموزش یاد میگیرید که کانال ها یا گروه های خصوصی رو هم قفل کنید.

آخرین آموزش هامون رو میتونید از این لینک ببینید.

فهرست مطالب

قفل کردن ربات روی کانال یعنی چه ؟

قفل کردن ربات روی کانال یعنی اینکه هرکسی که بخواد از ربات استفاده کنه باید حتما توی اون کانالی که شما تعیین کردید عضو بشه و تا وقتی که کاربر عضو نشده ربات کار نکنه و برای اون پیامی به عنوان ( برای استفاده از ربات حتما باید ابتدا عضو کانال های زیر شوید … ) نمایش بده.

چرا باید کانالمون رو روی ربات قفل کنیم ؟

یکی از روش های ساده افزایش ممبر کانال تلگرام یا همچنین گروه قفل کردنش روی ربات های هست که دارای زیرمجموعه گیری هستند و خیلی خوب میتونند ممبر جمع کنند، برای همین کانالی های زیادی از این روش استفاده میکنند و با استفاده از ربات های مختلف شروع به افزایش ممبر کانال های خودشون میکنند.

گام اول : متغییر های لازم برای قفل

ما برای اینکه بتونیم ربات خودمون رو روی یک کانال قفل کنیم به متغییر های زیر برای انجام عملایت های لازم نیاز خواهیم داشت : 

				
					define('API_TOKEN', 'توکن ربات');
$update = json_decode(file_get_contents('php://input'));
$from_id = $update->message->from->id ?? $update->callback_query->from->id;
$channelOneId = '';
$channelOneLink = '';
$channelTwoId = '';
$channelTwoLink = '';
				
			

نکته : اگر متغییر های خط ۱ و ۲ رو دارید میتونید این خط هارو دوباره توی کد هاتون استفاده نکنید.

معنی هر خط :

  1. توکن رباتتون رو قرار بدید به جای ( توکن ربات )
  2. برای گرفتن اطلاعات از سمت تلگرام هست.
  3. دریافت ایدی عددی کاربری که میخواد با ربات کار کنه.
  4. نام کاربری قفلتون ( کانال یا گروه ) همراه @ بین دو ” وارد کنید. ( برای تنظیم قفل خصوصی به جای نام کاربری از ایدی عددی کانال استفاده کنید. )
  5. لینک یا نام کاربری قفلتون ( کانال یا گروه ) که میخوایید کاربر با اون لینک عضو قفلتون بشه.
  6. نام کاربری قفل دومتون ( کانال یا گروه ) همراه @ بین دو ” وارد کنید. ( برای تنظیم قفل خصوصی به جای نام کاربری از ایدی عددی کانال استفاده کنید. )
  7. لینک یا نام کاربری قفل دومتون ( کانال یا گروه ) که میخوایید کاربر با اون لینک عضو قفلتون بشه.

گام دوم : فانکشن لازم برای قفل

و همچنین به این فانکشن برای ارسال پیام و بررسی عضو شدن کاربر استفاده خواهیم کرد : 

				
					function BoFile($method, $datas = [])
{
    $url = "https://api.telegram.org/bot" . API_TOKEN . "/" . $method;
    $ch = curl_init();
    curl_setopt($ch, CURLOPT_URL, $url);
    curl_setopt($ch, CURLOPT_RETURNTRANSFER, true);
    curl_setopt($ch, CURLOPT_POSTFIELDS, $datas);
    $res = curl_exec($ch);
    if (curl_error($ch)) {
        var_dump(curl_error($ch));
    } else {
        return json_decode($res);
    }
}
				
			

نکته : این متغییر ها باید پایین تر از کد های گام اول باشد.

برای آشنا شدن بیشتر با فانکشن ها میتونید از آموزش ( فانکشن های کاربردی برای طراحی ربات تلگرام ) استفاده کنید که فانشکن های بسیار کاربردی و راحتی طراحی ربات تلگرامی معرفی شده است.

گام سوم : بررسی عضو بودن کاربر

برای اینکه ربات بتونه بررسی کنه که یک کاربر در یک کانال عضو هست یا نه حتما ابتدا باید ادمین اون کانال باشه.

کد های لازم برای بررسی عضو بودن کاربر در قفلتون ( گروه یا کانال ) : 

				
					$isJoinOne = BoFile('getChatMember', ['chat_id' => $channelOneId, 'user_id' => $from_id])->result->status;
$isJoinTwo = BoFile('getChatMember', ['chat_id' => $channelTwoId, 'user_id' => $from_id])->result->status;
				
			

نکته : این متغییر ها باید پایین تر از کد های گام اول و دوم باشد.

در این دو خط ما اومدیم بررسی کردیم که آیا کاربر در اون کانالی که توی گام اول تنظیم کردیم عضو هست یا نه ؟

که اگر عضو باشد یکی از مقدار های member ، administrator ، creator رو بر میگردونه ولی اگر عضو نباشه مقدار left رو برمیگرونه.

گام چهارم : ارسال پیام برای عضو شدن

خیلی خب الان میرسیم به مرحله آخر یعنی ارسال که اگر عضو نباشه باید این پیامی برای کاربر ارسال کنه تا کاربر ابتدا عضو اون کانال بشه : 

				
					if (in_array('left', [$isJoinOne, $isJoinTwo])) {
    BoFile('sendMessage', [
        'chat_id' => $from_id,
        'text' => "برای استفاده از ربات حتما باید ابتدا عضو کانال های زیر شوید :
 $channelOneLink
 $channelTwoLink",
    ]);
    exit(0);
}
				
			

نکته : این شرط باید بالای همه ی شرط های شما و پایین تر از کد های گام اول ، دوم و سوم قرار داشته باشد.

معنی هر خط :

  • خط 1 – اگر مقدار های $isJoinOne یا $isJoinTwo برابر بود با left وارد شرط بشه. ( یعنی کاربر عضو یکی از کانال ها نشده باشد. )
  • خط های ۲ تا ۷ برای ارسال پیام هست که شما میتونید به جای متنی که ما گذاشتیم متن اختصاصی خودتون رو بزارید.
  • و خط ۸ برای خارج شدن هست تا شرط های بعدی رو اجرا نکنه.

اگر کد هارو در جای مناسب گذاشته باشید و ربات ادمین قفل هاتون ( کانال یا گروه ) باشد خواهید دید که به درستی کار میکند.