بذارید موضوع رو اینجوری مطرح کنم. فرض کنید عکسی در سایت خودتون قرار دادید و میخواید هر زمان که کسی روی عکس کلیک کرد یا اینکه عکس load شد، در تلگرام برای شما یک پیغام ارسال بشه. یا مثلا کدتون رو روی سرور قرار دادید تا اجرا بشه و میخواید میزان پیشرفت کار در تلگرام برای شما ارسال بشه. اینجا هدف اینه که از تلگرام استفاده کنیم و کاری با روش های مشابه نداریم.
روش کار خیلی ساده است. اولین کاری که باید انجام بدید اینه که در ربات BotFather@ یک ربات جدید ایجاد کنید. حالا API Token رباتی که ساختید رو به جای [TOKEN] در لینک زیر قرار بدید:
https://api.telegram.org/bot[TOKEN]/sendMessage?chat_id=[ID]&text=test
به جای [ID] هم باید شناسه تلگرام خودتون رو قرار بدید. برای به دست آوردن شناسه میتونید از ربات myidbot@ در تلگرام استفاده کنید. حالا زمانی که ربات خودتون رو start بزنید و بعد لینک بالا رو در مرورگر خودتون اجرا کنید، کلمه test برای شما ارسال میشه. به همین سادگی! اما اینجا یه مشکل وجود داره! اگر مثلا سروری که کدتون رو روی اون گذاشتید اجرا بشه داخل ایران باشه، یا فیلترشکن کاربری که سایت شما رو باز میکنه خاموش باشه این روش دیگه جواب نمیده. برای حل این مشکل میتونیم از Cloudflare استفاده کنیم. منبع این مطلبی که الان میخوام بگم ریپازیتوری گیت هاب زیر است:
https://github.com/manzoorwanijk/telegram-bot-api-worker
اما من کدی که قرار داده رو کمی تغییر دادم تا راحت تر بشه ازش استفاده کرد :
https://gist.github.com/vahidbaghi/90219833d7138081488fd188727d310b
تنها چیزی که در کد بالا باید تغییر بدید بخش زیره که باید TOKEN ربات و ID مورد نظرتون رو قرار بدید.
https://api.telegram.org/bot[TOKEN]/sendMessage?chat_id=[ID]&text
حالا وارد اکانت خودتون در سایت Cloudflare بشید و از صفحه اصلی Workers رو انتخاب کنید. بر روی Create a Worker کلیک کنید تا یک Worker جدید برای شما ایجاد شود. هر چیزی که در بخش Script نوشته شده رو حذف کنید و کدی که بالاتر قرار دادم رو داخلش قرار بدید و در نهایت روی Save and Deploy کلیک کنید. حالا از طریق لینک Worker میتونید ازش استفاده کنید. مثلا برای من یه همچین چیزیه :
https://gentle-base-a3bc.vbaghi.workers.dev
حالا فرض کنید میخوایم متن Salam Test رو ارسال کنیم. برای این کار کافیه بعد از / عبارت Salam Test رو بنویسیم :