اضافه کردن واترمارک به تصاویر تلگرام از طریق PHP و ربات

قبلا کتابخونه Intervention رو توی این مطلب معرفی کردم. امروز ازش استفاده می‌کنیم تا با استفاده از متود واترمارکش عکسهایی که به ربات ارسال میشه رو واترمارک بزنیم.

اینجا ما میخوایم رباتی بسازیم که یه عکس براش بفرستیم حالا یا خودمون آپلود میکنیم و یا ازجایی فوروارد میشه و ربات عکس رو دریافت میکنه، لوگوی موردنظرمون رو بهش اضافه میکنه و عکس جدید رو میفرسته. برای اینکار مثل آموزشهای قبلی عمل میکنیم.

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

// include composer autoload
require 'vendor/autoload.php';
// import the Intervention Image Manager Class
use Intervention\Image\ImageManagerStatic as Image;

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

خط 39 تشخیص اینکه تصویری ارسال یا فوروارد شده

خط 44 چک کردن مجدد اینکه فایل آیدی تصویر ارسال شده واقعا وجود داشته باشه. (اطمینان از وجود داشتن تصویر روی سرورهای تلگرام)

خط 47 تا 50 پیدا کردن مسیر مستقیم فایل تصویر ارسالی از سرور تلگرام

خط 53- و 54 ذخیره تصویر بر روی سرور شخصی با یک اسم رندم برای اینکه اگر تعداد تصاویر زیاد شد اصطلاحا reWrite نشن.

خط 56 صدا زدن تابع ترکیب عکس برای زدن واترمارک بر روی تصویر ذخیره شده.

خط 57 ذخیره کردن مسیر جدید عکس در متغیر $new_full_path که بعد از واترمارک روی سرورمون هست .

و خطهای 59 و 60 هم ارسال تصویر جدید همراه با واترمارک به کاربر

اما نکات مهم:

نسخه php شما برای کار با لایبرری Intervention حتما باید 5.4 به بالا باشه
خط 57 رو حتما باید با مسیر جایی که فایلها رو آپلود میکنید تنظیم کیند و تغییر بدید.

و در پایان، فایلها رو کامل گذاشتم روی کانال و این آدرس و کافی هست توکن خودتون رو جایگزین کنید تا خروجی رو ببینید به شکل زیر:

شاد باشید