ارسال محتوا(مطلب) به کانال از طریق ربات تلگرام | ربات دستیار

آموزش امروز در مورد نوشتن یکی از مفیدترین نوع رباتهای تلگرامه که من بهشون میگم ربات دستیار. خیلی از مواقع پیش میاد که میخواین یه ویدئو رو از یه کانال دیگه یا ویدئوی جالب ارسال شده توسط دوستان، حالا یا با ذکر منبع و یا بدون ذکر منبع (که 99درصد مواقع اینجوریه متاسفانه) برداریم و توی کانال خودمون منتشر کنیم. حالا اگه این ویدئو حجم کمی داشته باشه خوب خیلی راحت دانلود و بعد مجدد آپلود میکنیم؛ اما اگه حجم ویدئو خیلی زیاد باشه و یا تعداد ویدئوها بیشتر از یکی باشه چی؟ آیا از لحاظ هزینه ای و زمان دانلود و آپلود مجدد بصرفه هستش این کار؟ اصلا سرعت اینترنتمون این اجازه رو میده بهمون؟ باید چیکار کنیم؟ این آموزش به این سوالها جواب میده.

برای آپلود و نشر مجدد یه ویدئو و یا هر نوع محتوایی (عکس، موسیقی، فایل و ...) میشه از طریق یک ربات دستیار به راحتی و بدون دانلود و آپلود مجدد اون رو توی کانالمون بازنشر کنیم؛

اولین کار اینه که ربات رو توی کانال مورد نظرمون ادمین کنیم؛ (دسترسی ارسال پُست داشته باشه کفایت میکنه). طرز کار رباتی که اینجا آموزش میدم به این شکله؛ محتوای مورد نظرمون از هر نوعی که باشه رو فوروارد میکنیم توی ربات و بعد توضیح دلخواه رو اضافه میکنیم و بعد روی دستور /send کلیک میکنیم و کار تمام! حالا محتوای مورد نظر شما با هر سایز و نوع و حجمی به راحتی وارد کانال شما خواهد شد!

این آموزش یه جورایی یه مطلب تکمیلی برای آموزشهای قبلیه و کدهاش مشترکه؛ پس اگه مطلب قبل رو نخوندین اون رو هم مطالعه کنید.

حالا دوباره اینجا روند کلی طرز کار رو یه کم بیشتر توضیح میدم و بعد کدهای کامل رو میذارم توی کانال چون یه مقدار طولانیه و عملا امکان توضیح خط به خطش نسیت.

مرحله اول، فرض میگیریم یک ویدئو فوروارد میشه توی بات. با استفاده از متد getUpdateType نوع محتوای فوروارد شده رو مشخص میکنیم و بعد فایل آیدیش و همچنین نوع محتوای ارسالی رو ذخیره میکنیم توی دوتا فایل متنی با نامهای last_file_id.txt و last_file_type.txt تا بعد تابع ارسال توی کانال رو نسبت به نوع محتوا صدا بزنیم. (میتونید از دیتابیس هم استفاده کنید، سرعتش بالاتره)

اینجا نمونه کد استفاده شده برای دریافت ویدئو رو میبینید:

$msgType = $telegram->getUpdateType(); // get type of files
if($msgType=='video'){
	$file_id = $telegram->videoFileID();
	file_put_contents('last_file_id.txt',$voice_file_id); // save last file id
	file_put_contents('last_file_type.txt','video'); // save last file type
	$content = array('chat_id' => $chat_id, 'text' => 'فایل ویدئویی دریافت شد، حالا توضیحاتتان را اضافه کنید');
	$telegram->sendMessage($content);
}

همونجور که میبینید همزمان با دریافت ویدئو، فایل‌آیدی و نوعش رو ذخیره میکنم. خوب این کلیت کار هستش و کدهای کاملش در کانال قرار داده شده که میتونید دانلود و استفاده بکنید.

امیدوارم استفاده کنید و خوشتون اومده باشه :)