إنتقل إلى المحتوى الرئيسي

التذكيرات

ميزة التذكيرات تتيح لك ضبط تذكيرات موقوتة تُطلق كإشعارات Toast في متصفحك. جدول تذكيرًا وستُعلمك المنصة عند حلول الوقت.

إنشاء تذكير

استخدم أمر /remind في أي محادثة:

/remind 30m تحقق من حالة البناء

تحلل المنصة الوقت والرسالة، وتجدول التذكير، وتؤكده في المحادثة:

تذكير مضبوط لـ 30m: تحقق من حالة البناء

بناء الجملة

/remind [وقت] [رسالة]

الكلمتان "me" و "in" اختياريتان وسيُتجاهلان:

/remind me in 30 minutes to check the build
/remind 2h راجع الـ PR
/remind 1d انشر للإنتاج

تنسيقات الوقت

التنسيقالوحدةمثال
30s, 30sec, 30secondsثواني/remind 30s تحقق من المؤقت
5m, 5min, 5minutesدقائق/remind 5m خذ استراحة
2h, 2hrs, 2hoursساعات/remind 2h راجع الـ PR
1d, 1day, 1daysأيام/remind 1d تابع البريد

يجب أن تكون قيمة الوقت رقمًا متبوعًا بوحدة. الأوقات النسبية فقط ("في X دقيقة/ساعة") مدعومة.

تلميح

يمكنك استخدام كلمة "to" بين الوقت والرسالة لصياغة طبيعية: /remind 1h to check the deployment

كيف تعمل التذكيرات

  1. عند إنشاء تذكير، يُخزن في IndexedDB تحت المفتاح ais-reminders
  2. يُجدول setTimeout جافاسكريبت للمدة المحددة
  3. عندما يُطلق المؤقت، يظهر إشعار Toast برسالتك
  4. يُزال التذكير تلقائيًا من التخزين بعد الإطلاق

فحص ظهور الصفحة

تفحص التذكيرات أيضًا العناصر المتأخرة كلما أصبحت تبويب متصفحك مرئية (باستخدام Page Visibility API). هذا يعالج حالة كان فيها جهازك نائمًا أو التبويب في الخلفية عندما حل وقت التذكير.

تحذير

التذكيرات تتطلب أن تكون تبويب المتصفح مفتوحة. هي ليست إشعارات دفع من جانب الخادم. إذا أغلقت التبويب أو المتصفح، ستُطلق التذكيرات في المرة التالية التي تفتح فيها التطبيق (إذا كانت متأخرة)، لكنها لن توقظ جهازك.

عرض التذكيرات النشطة

التذكيرات النشطة (لم تُطلق بعد) مخزنة في IndexedDB. حاليًا، يمكنك رؤيتها عبر رسالة التأكيد في المحادثة. واجهة إدارة تذكيرات مخصصة مخططة لإصدار مستقبلي.

إلغاء التذكيرات

التذكيرات تُطلق مرة واحدة وتُزال تلقائيًا. لا يوجد حاليًا أمر لإلغاء تذكير معلق قبل إطلاقه. لتجنب تذكير غير مرغوب، يمكنك مسح المحادثة أو إعادة تحميل الصفحة (يُعاد جدولة التذكيرات من التخزين عند التحميل، لذا هذا وحده لن يلغيها).

الاستمرار

التذكيرات تبقى عبر إعادة تحميل الصفحات. عند تهيئة التطبيق:

  1. تُحمّل جميع التذكيرات المحفوظة من IndexedDB
  2. يُعاد جدولة مهلة كل تذكير بناءً على وقت استحقاقه المخزن
  3. إذا كان التذكير متأخرًا بالفعل، يُطلق فورًا

القيود

القيدالتفصيل
تبويب المتصفح مطلوبةالتذكيرات من جانب العميل فقط -- تحتاج التبويب أن تكون مفتوحة
الوقت النسبي فقطلا "عند 3 مساءً" أو "غدًا عند 9 صباحًا" -- فقط "في X دقيقة/ساعة/يوم"
لا تذكيرات متكررةكل تذكير يُطلق مرة واحدة
جهاز واحدالتذكيرات مخزنة في المتصفح ولا تتزامن عبر الأجهزة
الحد الأقصى للمهلةsetTimeout جافاسكريبت له حد أقصى ~24.8 يوم (2^31 ms). التذكيرات بعد هذا قد لا تُطلق بدقة
معلومات

التذكيرات مرتبطة ببوت محدد. يُخزن التذكير مع معرف البوت، لذا يرتبط بالمحادثة التي أنشأته فيها.