آموزش برنامه نویسی

دریافت فایل از طریق ربات تلگرام

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

برای انجام این کار من فانکشنی را آماده کرده ام:

اما چگونه از این فانکشن استفاده کنیم؟

این فانکشن 2 پارامتر دریافت می‌کند، اول آدرس فایل مربوطه ( این آدرس مربوط به تلگرام است)، دوم آدرسی که می‌خواهیم فایل مورد نظر در آنجا ذخیره شود ( آدرس مورد نظر در سرور ما). برای گرفتن آدرس فایل در تلگرام می‌توانیم به این شکل عمل کنیم:

مقداری که به شما بر می‌گرداند یک آرایه است، در این آرایه یک یا چند آدرس وجود دارد که به حجم‌ها و اندازه‌های متفاوتی از فایل ارسالی اشاره دارد ( بسته به نوع فایل). حال فرض کنید ساختاره پوشه‌های من به شکل زیر است:

می‌خواهم فایل تصویری از کاربر دریافت کنم برای این کار بدین شکل عکل خواهم کرد.

همان طور که می‌بینید فایل photo من دارای 2 تصویر است، حال تصویری را ارسال می‌کنیم:

حال محتوای پوشه photo را مجددا می‌بینیم:

نکته: نام فایل‌های ذخیره شده، آی دی آن‌ها خواهد بود.

نکته: این قسمت از مستندات تلگرام را مطالعه کنید.

برچسب ها

نوشته های مشابه

‫8 نظرها

    1. سلام حسن عزیز
      ببخشید ابتدا متوجه نشدم سوال در مورد فانکش دیگری است.
      چه خطایی برای شما نمایش داده می‌شه؟
      فولدرهای مورد نیاز خودتونو ایجاد کردید؟ آدرس فولدرها را به صورت صحیح در فانکشن قرار دادید؟
      از همون لینک گیتهاب قبلی می ‌تونید کدهای نمونه این فانکشن که در فایل theBot.php قرار داره می‌تونید ببنید. آیا مطالعه کردید؟
      توجه کنید که فایل ارسالی توسط کاربر باید دارای حجم خواصی باشید، لینک مربوطه را مطالعه کنید https://core.telegram.org/bots/api#getfile

  1. سلام آقا پوریا ،آره کامل چک کردم اما هیچ مشکلی پیدا نکردم همه چی اوکیه فقط وقتی فایلی میفرستی برای ربات هیچ عکس العملی نشون نمیده و وقتی فولدر روی هاستم رو چک میکنم خالیه .

    1. سلام حسن عزیز
      اگر درون هاست تون کنار فایل ربات تون فایل خطایی وجود نداره در صورتی که از
      error_reporting(E_ALL);
      ini_set(‘display_errors’, TRUE);
      ini_set(‘display_startup_errors’, TRUE);
      استفاده کرده باشید، پس خطایی ندارید، مگر خطای در منطقی .
      حجم فایلی که ارسال می‌کنید چند مگ یا کیلوبایت هست؟ ( bots can download files of up to 20MB in size )
      نام متغییرهاتون BOT_TOKEN و API_URL هست ؟ توجه کنید که در انتهای آدرس بوت توکن به این شکل وارد کنید https://api.telegram.org/bot خود فانکش علامت / اگر نیاز باشه میزاه و اگر خودتون بزارید به این شکل می‌فرسته که اشتباه https://api.telegram.org/bot//something
      بدلیل مشکلاتی نمی‌تونم کدتونو بگیرم و در هاست خودمون چک کنم، اگر مایلید دسترسی اف تی پی برای من ایجاد کنید ( با ایمیل شخصی من در ارتبات باشید) تا کد نگاه کنم شاید بتونم کمک تون کنم.
      ما رباتی برای تست این فانکشن ها ایجاد کریدم بنام @testPlaceBot من چک کردم و فانکشن به درستی عمل می‌کرد.
      شاد و سلامت باشید.

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

  3. البته من توکن و آدرس ای پی آی رو بصورت متغیر نوشم نه بصورت کد شماکه بصورت ثابت بکار بردید اما موقع استفاده با تابع گلوبال قابل دسترس شدن در فانکشن حالا هرچی چک میکنم کد ایرادی نداره.

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

دیدگاهتان را بنویسید

نشانی ایمیل شما منتشر نخواهد شد. بخش‌های موردنیاز علامت‌گذاری شده‌اند *

این سایت از اکیسمت برای کاهش هرزنامه استفاده می کند. بیاموزید که چگونه اطلاعات دیدگاه های شما پردازش می‌شوند.

همچنین ببینید
بستن
دکمه بازگشت به بالا
بستن