Github: @EhsanShahbazii - Telegram: @ehsandevv
ساخت آلارم نوتفیکیشن برای ویرگول!
تو هم از تاخیر و عجیب قریب بودن نوتفیکیشن ویرگول ناراضی هستی؟💔😔 مثل معتاد ها هی ریفرش میکنی یه گرد آبی بیاد سریع بری ببینی چیه؟😐 خب احتمالا تا الان معتادش شده باشی و وقت نسبتا زیادی از ذهنت صرف اون میشه. عجیب قریب شده روزگار. عجیب قریب...
دلیل نوشتن این برنامه
خواستم دیگه ریفرش نکنم. خواستم دیگه سمت نوتفیکیشن سایت نرم!🥸 خواستم دیگه سایت رو هی باز نکنم!
خلاصه برای همین گفتم در مواقع خاص که نیازه هی نوتفیکیشن ها چک بشه یه کاری کنم که بهم کسی یا چیزی خبر بده سریع که نوتفیکیشن چیه!👍
چند روش برای این کار وجود داره:
- روش اول: یه علاف پیدا کنی و حقوق مایه خرج کنی خر خرجش کنی که آقووو هر وقت برام نوتفیکیشن اومد بهم بوگو!!! باید دائم تو سایت باشه و دید بزنه.😐
- روش دوم: یه اسکریپت بنویسی که سر یه تایم های مشخص سایت رو لود کنه، اگه نوتفیکیشن اومد اون رو بهت نشون بده. بدی این کار اینه اصلا نشون دادن نوتفیکیشن سایت خودش تاخیر داره!!!😂
- روش سوم: بشینی فکر کنی و یه ایده به ذهنت بیاد که در ادامه اون رو پیاده میکنیم.🥸🔥
از عجیب بودن این دو صفحه خب نگم براتون خودتون بیشتر از من در جریانید! طرز کار برنامه رو میتونید توی گیف پایین اگه براتون پخش میشه! ببینید.🥸
عاح امیدوارم گیف براتون پخش شده باشه. نشد عکس هارو نگاه کنید ...
البته که رابط کاربری ساده اش نگید زشته، خب هدف اصلیم اصلا خوشگل کردن این نبود. صرفا میخواستم کار رو راه بندازم پس یه عکس، متن با یک دکمه اوکی بود😂
حالا مثلا میتونیم خیلی شیک ترش کنیم و مثل نوتفیکیشن تلگرام دسکتاپ، تایم دار کنیم و بعد زیبا محو بشه. میتونیم این رو به هوش مصنوعی که با gpt برای پست ها جواب میداد به صورت خودکار، یه دکمه هم اضافه کنیم وقتی عجله داریم یا خسته ایم اون رو بزنیم و خودکار برای مخاطب یه پیام ریپلای کنه و خیلی آپشن های دیگه، که از خداوند طلب مینمایم روز هایم را به جای 24 ساعت، 48 ساعت قرار دهد🤍📿
قسمت صفر: از کجا شروع کنیم؟
خب نیاز داریم به نوتفیکیشن های سایت دسترسی داشته باشیم. اینجا نیازه که احراز هویت کرده باشیم تا به اونا دسترسی داشته باشیم. برای سادگی کار ست کردن کوکی رو به صورت دستی انجام دادم چون عجله داشتم و خوابم میومد! (ساعت 4:30 صبحه که بیدارم دارم مینویسم)😂🥲
خب اینجا چند تا چیز میز داریم که الان باید ببینیم کدومش ضروریه تا کارمون راه بیاد. خب منطقیه که دو 🥸قسمت auth_token و jwts مهمه چون توکن احراز هویت هستن. بقیه رو نمیدونم برای چی استفاده میکنن.
خلاصه دستی تو کد وارد میکنیم و جواب میگیریم و میتونیم نوتفیکیشن هارو بگیریم.😔
قسمت یک: خب که چی!
الان نیازه به صورت متناوب ریکوئست بزنیم هر وقت دیدیم تغییری اتفاق افتاد، یعنی نوتفیکیشن جدیدی اومده!
وقتی که نوتفیکیشن میاد اطلاعات به صورت بالا نشون داده میشه. اگه دقت کنیم یه قسمت به صورت is_read وجود داره که نشون میده توسط ما، نوتفیکیشن خونده شده یا نه.
پس ما باید با کمک این نوتفیکیشن هارو فیلتر کنیم و فقط اونایی که is_read = 0 دارن رو نشون بدیم.🔥
یه دکمه میزاریم که لینک ریدایرکت شده روش اعمال میشه. متن نوتفیکیشن و عکس طرف رو نشون میدیم.
خب دیگه تمومه. میتونیم دقت رو ببریم رو 1 ثانیه ولی خب همون 15 ثانیه هم اوکیه. مصرف اینترنت هم به صورت زیر هست. به طور میانگین مقدار پکت های دریافتی:🤖⚡
حالا این عدد به دوره تناوب باید ضرب بشه: مثلا اگه یه ساعت استفاده بشه ازش به صورت🥲:
6.22 x (3600 / 15) = 1.492 MB
و توی حداکثر دقت یعنی 1 ثانیه به صورت زیر میشه که باز چیز خاصی نیست🤖:
6.22 x (3600 / 1) = 22.392 MB
تقسیم بر 8 کنید چون بر حسب کیلوبیت هست و ما کیلوبایت حساب میکنیم.
حالا اینا کلا عدد و تقریبه و اینا ولی خب وقت هایی که عجله داریم لازم میشه و این مقدار اینترنت منطقیه!
آزمایش کردم و دیدم اگه تناوب رو 1 ثانیه قرار بدین که هر لحظه نوتفیکیشن اومد سریع بدون تاخیر نشون میده. ولی میانگین 15 ثانیه گذاشتیم که یعنی ماکسیمم تاخیر نشون دادن نوتفیکیشن 15 ثانیه هست که از سایت خیلی بهتره. تو چند تا آزمایشی که کردم، تاخیر نشون دادن نوتفیکیشن سایت از 30 ثانیه (با رفرش کردن) شروع شد تا 5 دقیقه و حتی بیشتر!
میشه یه اکستنشن کروم یا فایرفاکس درست کرد براش و از اون طریق انجام بده. ولی خب برای این کار نیاز میشه که مرورگ باز بمونه. برای همون ترجیح دادم مستقل از این کارا باشه.
قسمت آخر: اختیاریه مشتی!
اگه معتاد ویرگول باشید نیازه که وقتی لپ تاپ باز میشه این برنامه به صورت خودکار باز بشه. برای همین خیلی راحت میتونیم توی ویندوز کارای زیر رو انجام بدیم و این اسکریپت پایتون به صورت خودکار ران بشه:⚡
- دکمه windows + R رو میزنیم تا صفحه باز بشه.
- عبارت shell:startup رو جستجو میکنیم.
- فایل پروژه رو میندازیم این پوشه که باز شده.
- توی فایل .bat مینویسم:
@echo off بعد start اسم فایلمون
سورس کد بعد از دیباگ کردن و بعضی فیچر های دیگه اضافه کردن، لینکش رو اینجا قرار میدم :)
همه این پست هایی که میزارم یه ایده کوچیک و حتی شاید پیش پا افتاده شاید باشه، ولی لذت پیاده سازی کردن این ایده ها، حتی کوچیک ترینش دل نشینه برام.🥸💕
🎥پیام بازرگانی: یه کاری کردم خلاف قانون میشه و نمیتونم پست کنم. ویرگول جایی نگفته چند تا کاربر داره؟ اونجور که دیدم (البته نه کامل) حدود 185هزار تا بودن که خیلیا هم ثبت نام کردن و خدافظ ...
مطلبی دیگر از این انتشارات
درز اطلاعات دانشجو ها از طريق سايت سماد (قسمت 1)
مطلبی دیگر از این انتشارات
درز اطلاعات دانشجو ها از طريق سايت سماد (قسمت 2)
مطلبی دیگر از این انتشارات
یافتن کیس ازدواج به سبک برنامه نویسی (قسمت 2)