احتمالا درباره Push notification شنیدید. مدتی هست که بسیار معمول شده. به هر وبسایتی که سر میزنید، از شما میخواد که بهش اجازه بدید تا از طریق مرورگر اخبار جدید رو به صورت Notification (اعلان) برای شما ارسال کنه.
من این قابلیت رو برای ایمیل و توییتر و اینستاگرام فعال کردم. حالا وقتی پای کامپیوتر هستم و برای من در اینستاگرام یا … پیغامی برای من میاد یا … برای من اعلان میاد. من از مرورگر فایرفاکس استفاده میکنم و فایرفاکس رو به بقیه مرورگرها ترجیح میدم(دعوای مرورگر راه نندازید! سلیقه هست). حالا یک مشکل وجود داره و اگر فایرفاکس بسته باشه برای من اعلان نمیاد! یک اسکریپت bash نوشتم تا این مشکل حل بشه.
#!/bin/bash sleep 2m # run firefox without gui while [ 0 == 0 ];do # check is firefox instance is running output=`ps -A|grep 'firefox'|wc -l` echo "number of firefox's instance is running now: $output" # if firefox is not running, run firefox headless. if [ "$output" == 0 ];then echo "run firefox" firefox --headless & # wait 30 seconds for getting notifications sleep 30s echo "kill firefox" # kill firefox and wait 15 min pkill -f firefox sleep 15m else # check again after 15 min sleep 15m fi done
برای دوستان تازه کار:
این اسکریپت رو در یک فایل با پسوند sh کپی کنید و یک اسم براش انتخاب کنید(مثلا push_notification.sh) . بهش با دستور زیر دسترسی اجرایی بدید.
chmod +x ./push_notification.sh
حالا این اسکریپت رو در استارت آپ میزکارتون قرار بدید تا هر وقت میزکار اجرا میشه این اسکریپت هم اجرا بشه.
این اسکریپت چه طور کار میکنه؟
دودقیقه صبر میکنه تار میزکار بالا بیاد! یک حلقه while وجود داره که همیشه تکرار میشه چون شرطش همیشه صحیح هست. در این حلقه ابتدا چک میکنه که فایرفاکس درحال اجرا هست یانه. چون اگر در حال اجرا باشه اعلان ها رو دریافت میکنید و نیاز به کار اضافی نیست. اگر نبود فایرفاکس رو به شکل headless (بدون رابط گرافیکی) اجرا میکنه. چون بدون رابط گرافیکی اجرا کرده، پنجره ای باز نمیشه که کاربر ببینه. ۱۵ ثانیه صبر میکنه تا ناتیفیکیشن ها دریافت بشه. بعد از ۱۵ ثانیه فایرفاکس رو میبنده و این روند هر ۱۵ دقیقه تکرار میشه.
دقت کنید این اسکریپت برای فایرفاکس نوشته شده! و حتما دقت کنید در فایرفاکس برای سایت مورد نظرتون ناتیفیکیشن رو فعال کرده باشید و اگر اون سایت نیاز به لاگین کردن داره(مثل اینستاگرام)، در مرورگرتون این کار رو بکنید. گاهی ناتیفیکیشن های توییتر دیر میاد! ولی روی جیمیل و اینستاگرام اوضاع خوبه. دقت کنید در اون ۳۰ ثانیه که فایرفاکس داره به شکل headless اجرا میشه، شما نمیتونید مرورگر رو باز کنید 🙂 ۳۰ ثانیه هست دیگه! صبور باشید.
امیدوارم که به دردتون بخوره 🙂
مشکلی که بهش بر خوردم این بوده که هر از گاهی وقتی فایرفاکس رو باز میکنم در شروع از من میخوات که یا فایرفاکس رو با safe mode بیارم بالا یا refresh کنم.
در این حالت یک بار فایرفاکس رو safe mode بیارید بالا و بعد ببندید و دوباره باز کنید. هنوز راه حلی برای این مشکلی پیدا نکردم. اگر کسی راهی پیدا کرد خبر بده 🙂
8 thoughts on “یک اسکریپت برای گرفتن notification اینستاگرام و توییتر و … روی کامپیوتر”
خیلی عالی
🌹🌹
میتوانید کاری کنید که وقتی اِعلان جدیدی میآید، یک هشدار صوتی هم بدهد؟
متاسفانه موفق نشدم این کار رو بکنم. باید فایرفاکس برای اعلان صدا پخش کنه.
واقعا جالب و مفید بود ممنون
لطف داری کیا جان🌹🌹
اگه دستور رو توی cron می گذاشتیم بهتر نبود؟ بهینه تر یا شاید باحال تر
اونم یک شیوه هست 🙂