المستوى المطلوب: مبتدئ
لو فريقك من 6 مطورين بيكتب standup يدوي كل يوم في Slack، أنت بتضيّع 18 دقيقة جماعية يومياً. البوت اللي هتبنيه هنا بيسأل كل واحد 3 أسئلة الساعة 9 صباحاً، يجمّع الردود، ويعرضها كرسالة واحدة منظّمة في القناة. التكلفة: 0 دولار. الزمن: 70 سطر JavaScript.
اعمل Daily Standup Bot على Cloudflare Workers
المشكلة باختصار
الـ Daily Standup مهم، لكن تنفيذه يدوي بيخلق 3 مشاكل في وقت واحد. واحد بينسى يكتب، التاني بيكتب رواية في كل خانة، والتالت بيكتب بعد ما الميتنج خلص. الفريق اللي بيشتغل remote بيدفع الثمن أكتر — وقت ضائع وشفافية ناقصة. الحل مش "إجبار الناس"، الحل نظام: يسأل، يستنى، يلخّص.
مثال للمبتدئ: ناظر المدرسة وصندوق الورق
تخيّل ناظر مدرسة بدل ما يطوف على كل فصل ويسأل المعلمين شخصياً، عمل سؤال موحد بيتعلّق على كل باب الساعة 8، وكل معلم بيحط ورقة في صندوق بإجابته. الناظر بيفتح الصندوق الساعة 8:30 ويقرا كل الردود مرّة واحدة. ده بالظبط اللي هنبنيه: الناظر هو Cloudflare Worker، السؤال هو DM في Slack، الصندوق هو KV Storage. كل واحد بيرد لما يقدر، والملخّص بيتنشر في وقت محدّد.
التعريف العلمي: Cron Trigger و KV Storage
Cloudflare Worker هو سكربت JavaScript بيشتغل على edge servers في أكتر من 300 مدينة. بيقبل تشغيل بطريقتين: HTTP request (Webhook) أو Cron schedule. الـ Cron Trigger بيشغّل دالة scheduled() تلقائياً حسب توقيت محدّد بصيغة Unix cron. الـ KV Storage هو Key-Value store موزّع، latency متوسط 12ms عالمياً، مجاني لحد 100 ألف read يومي و 1000 write. ده يعني إن البوت بتاعك ممكن يخدم فريق 50 شخص بصفر تكلفة فعلية.
الخطوات الست لبناء البوت
- أنشئ Slack App: روح
api.slack.com/apps← Create New App ← From Scratch. سمّيه "Standup Bot" واختار workspace فريقك. - فعّل Bot Permissions: في OAuth & Permissions، ضيف الصلاحيات:
chat:write,im:write,im:history,users:read. ثبّت الـ App في الـ workspace واخد الـ Bot Token (بيبدأ بـxoxb-). - أنشئ Cloudflare Worker: سجّل في
dash.cloudflare.com(مجاني)، اعمل Worker جديد باسمstandup-bot. - اربط KV Namespace: من تبويب Storage، اعمل KV namespace اسمه
STANDUPثم اربطه بالـ Worker كمتغيّر بنفس الاسم. - الصق الكود: تحت في الجزء الجاي، وضع الـ Bot Token كـ Secret اسمه
SLACK_TOKENمن dashboard الـ Worker. - اعمل Cron Trigger: من Triggers، ضيف
0 6 * * 0-4للسؤال الساعة 9 ص بتوقيت القاهرة، و0 7 * * 0-4للملخّص الساعة 10 ص (الأحد للخميس).