بوت Telegram الشخصي
تحوّل قناة Telegram تطبيق وولفيش إلى بوت شخصي يستجيب لرسائلك الخاصة. نفس الذكاء، ونفس القدرات، متاح من أي جهاز مثبّت عليه Telegram.الإعداد
- الخطوة 1: إنشاء البوت
- الخطوة 2: تهيئة وولفيش
- الخطوة 3: ابدأ المحادثة
افتح Telegram وأرسل رسالة إلى @BotFather:اتبع التعليمات لتسمية البوت. سيمنحك BotFather رمزًا (token) مثل:انسخ هذا الرمز.
الأوامر
يتعرّف البوت على أوامر الشرطة المائلة التالية:في Telegram، ليس
/cancel مرادفاً لـ/stop. فـ/stop يوقف المهمة الجارية، و/cancel يُفرغ طابور الانتظار. وإن أرسلت /cancel والطابور فارغ، دلّك الردّ على /stop لإيقاف التشغيل.الرسائل المصطفّة
راسِل البوت وهو ما يزال يعمل على طلبك السابق فتُوضع رسالتك في طابور، لا تُرفض — تماماً كصندوق الكتابة على سطح المكتب. ردٌّ قصير يؤكّد وصولها ويخبرك بموضعها في الصفّ، وتنطلق في دورها الخاص لحظةَ تنتهي المهمة الجارية، بالترتيب الذي أرسلتها به:- الملفات والرسائل الصوتية تصطفّ أيضاً. تُنزَّل وتُفرَّغ نصّاً لحظةَ وصولها — فلا يبلى شيء وهو ينتظر — ويكون الدور المصطفّ مطابقاً بايتاً ببايت لدورٍ أرسلته والدردشة خالية.
/cancelيُسقط كل ما ينتظر ويترك المهمة الجارية وشأنها. و**/stop** يوقف التشغيل ويدع الطابور يمضي.- تبديل المحادثات يُفرغ الطابور. فـ
/newو/resumeو/deleteوتبديلُ/projectأو إغلاقه، كلٌّ يُسقط الرسائل المعلّقة مع المحادثة التي كُتبت فيها — فالرسالة الموجَّهة إلى محادثةٍ لا تحطّ أبداً في أخرى — ويقول ذلك في ردّه.
آلية الموافقة
عندما تُصنّف الـ amygdala استدعاء أداة على أنه قد يكون خطيرًا، يرسل وولفيش لوحة أزرار مضمّنة في Telegram:تتضمن طلبات الموافقة اسم الأداة الكامل ومعاملاتها حتى تتمكن من اتخاذ قرار مستنير. الأوامر الخطرة (حذف الملفات، طلبات الشبكة، تعديلات النظام) تتطلب دائمًا موافقة.
إدارة المحادثات
كل محادثة في Telegram تشير إلى محادثة وولفيش نشطة واحدة في كل لحظة — وكل رسالة ترسلها تُكملها. الأوامر تدير أيّها تكون:/newيبدأ محادثة جديدة (السابقة محفوظة في الذاكرة)./resumeيفتح قائمة اختيار مرقّمة على كل محادثة لدى وولفيش — تيليجرام وواتساب وداخل التطبيق وتشغيلات الإجراءات — الأحدث أولاً، خمس وعشرون في الصفحة، وكل صف موسوم بمصدره فتعرف ما توشك على متابعته. رُدّ برقم لاستئنافها، أو بـnextللصفحة التالية. والترقيم متّصل عبر الصفحات، فالرقم من صفحة تجاوزتها ما زال يختار./deleteيفتح القائمة نفسها ويحذف الرقم الذي ترد به. حذف المحادثة النشطة للدردشة يبدّلها بمحادثة جديدة؛ والمحادثة التي في منتصف دورها ترفض الحذف حتى تنتهي.
/resume افتراضياً — فهي تفوق المحادثات الحقيقية عدداً وتدفنها. فعّل الإعدادات ← القنوات ← Telegram ← إخفاء الأتمتة من /resume لإظهارها؛ وتبقى دائماً في /delete وفي التطبيق.
المحادثة داخل مشروع
يسرد/project مشاريعك بالأرقام — رُدّ بأحدها لتبدأ محادثة جديدة داخل ذلك المشروع، مُطلَعةً على تعليماته وملفاته. الربط يعيش على المحادثة نفسها، فينجو من إعادة التشغيل ولا ينجرف: ما دمت داخل مشروع، يبدأ /new المحادثةَ التالية عمداً في المشروع نفسه، و/project close هو المخرج (يدير الدردشة إلى محادثة جديدة خارجه). كما يعرض /project وحده أي مشروع أنت فيه الآن.
الردود تحطّ حيث تنتمي
حين يراسلك وولفيش من خارج السياق — أتمتة تبلّغ عن مهمة أنجزت، أو محادثة في التطبيق تترك لك ملاحظة — تعيد الدردشة توجيه نفسها إلى المحادثة التي أرسلت. فيُكمل ردُّك تلك المحادثة، لا آخر ما كانت الدردشة عليه.ثنائية الاتجاه مع التطبيق بالكامل
المحادثات مشتركة بين القنوات، في الاتجاهين. محادثة بدأت في Telegram تظهر في قائمة محادثات تطبيق سطح المكتب — وهي قابلة للمتابعة هناك: افتحها وواصل الكتابة بلوحة مفاتيح حقيقية. والرسائل التي تحطّ على هاتفك بينما المحادثة نفسها مفتوحة على سطح مكتبك تظهر في مكانها، والرسائل الصوتية تنجو من الرحلة كما هي.معالجة الملفات
يمكن للبوت استقبال ومعالجة:- الصور — لقطات شاشة، صور، مخططات (النماذج القادرة على الرؤية تسحب البكسلات عند الطلب عبر
image_view؛ أما النماذج النصية فتستقبل اسم الملف ومساره ويمكنها العمل عليه بالأدوات) - المستندات — ملفات بي دي اف، ملفات نصية، ملفات برمجية (تُرفَق بطاقةَ تعريف — يقرأ وولفيش المحتوى عبر أدواته حين يهمّ، فتصل حتى الملفات الضخمة بأمان)
- الرسائل الصوتية — تُحوّل لنص عبر تقنية تحويل الكلام إلى نص وتُعالج كمدخل نصي
send_file كرسالة مستند أو صورة أو صوت أو فيديو. لا شيء يُرفَق تلقائيًا: الأداة التي تكتب ملفًا على القرص لا ترسله بنفسها أبدًا، وعقد التشغيل الخاص بالوكيل يُلزمه باستدعاء send_file لنتيجة أي مهمة مُنتِجة للملفات فور اكتمال العمل.
تنسيق الردود
ينسّق وولفيش الردود باستخدام مجموعة HTML الفرعية في Telegram:**عريض** و# عناوين وروابط [نص](رابط) و| جداول | وخطوط --- — ومعه HTML المعطوب أو غير المدعوم، والوسوم المهرَّبة ككيانات، و& المجرّدة، وخطوط الفصل المرسومة (━━━━━ وأشباهها): يرتدّ الإرسال إلى النموذج فيعيد كتابته بـ HTML نظيف قبل أن يبلغ محادثتك شيء. والحواجز تُبقي النص البريء سالكاً: كل ما داخل <code> و<pre> معفى (اقتباس الماركداون مشروع)، وتعابير مثل x**2 وf(**kwargs) تُقرأ رياضياتٍ وشيفرةً لا خطاً عريضاً. وحين يكون الترميز نفسه هو المحتوى يستطيع الوكيل تسليمه حرفياً، والرفضات المتكررة تفرض التسليم بدل إضاعة الرسالة — أسوأ الأحوال أن ترى رموزاً خاماً، لا صمتاً أبداً.
أما السرد الحيّ بين خطوات الأدوات فيُسلَّم لحظةَ كتابته — أسرعَ من أي بوابة — لذا يُراقَب بدل أن يُحجَب: حين يهبط سطرٌ مسلَّم يحمل رموزاً خاماً، يتسلّم الوكيل إشعارَ تنسيقٍ يسمّي بالضبط ما وصلك، ومعه مُعرِّف الرسالة المسلَّمة، فيرمّمها في مكانها بهدوء عبر telegram_edit_message ويُبقي سائر الدور نظيفاً.
تقييم الردود (0–10)
الرسالة التي ليست إلا رقماً من 0 إلى 10 تُلتقَط بهدوء تقييماً منك لآخر ردّ — يُقَرُّ بها بتفاعُلِ ✍ صغير، لا بفقّاعة محادثة أبداً. والأرقام المكتوبة بلوحة مفاتيح عربية (٠–٩ و۰–۹) تُحتسَب سواءً بسواء، والسباكة تبقى دقيقة: «3» التي تجيب بطاقةَ سؤالٍ مرقّمة أو قائمةَ/resume تظلّ تعني الخيار الثالث، والرقم الذي يفتتح محادثة جديدة مجرّدُ رسالة. وسطرٌ قصير بعد كل ردٍّ يذكّرك بأنّ الخيار موجود؛ وللأمر كله مفتاحه الخاص في الإعدادات ← المعرفة ← المراجعة الذاتيّة، وإطفاؤه يجعل القناة صامتة تماماً عن التقييم. وتقييماتك هي مرساة المراجعة الليلية.
نتائج المهام المفصّلة
افتراضيًا يستقبل Telegram تغذية نظيفة — ردود الوكيل، وأي ملفات يرسلها، والأخطاء. أما خطوات الأدوات التفصيلية فتبقى في واجهة سطح المكتب حتى لا تمتلئ محادثتك بالخطوات الداخلية. بدّل ذلك من الإعدادات → القنوات → Telegram → نتائج المهام المفصّلة:- إيقاف (الافتراضي) — رسائل الوكيل، والملفات التي يرسلها الوكيل، والأخطاء فقط.
- تشغيل — يُعاد بثّ كل استدعاء أداة وكل نتيجة وكل نشاط إلى المحادثة لحظة حدوثه.
لا يغيّر الوضع المفصّل سوى ما يُرسَل إلى Telegram. أما الدور كاملًا — كل استدعاء أداة ونتيجته — فيُحفظ في السجل والذاكرة بغضّ النظر عن الإعداد.
التفاصيل التقنية
قناة Telegram مبنية على مكتبة grammy — إطار عمل حديث مكتوب بـ TypeScript لبناء بوتات Telegram. تتولى Grammy:- الاستطلاع المطوّل لتحديثات الرسائل
- إدارة لوحات الأزرار المضمّنة للموافقات
- رفع وتنزيل الملفات
- تنسيق الرسائل وتقسيمها
- استرداد الأخطاء وإعادة الاتصال
فلتر البيانات الحساسة
يتضمن وولفيش فلتراً اختيارياً يتجاهل الرسائل التي تحتوي على بيانات اعتماد قبل وصولها للوكيل. هو معطّل افتراضياً — مناقشة الأسرار جزء مشروع من كثير من سير العمل (إعداد التكاملات، تصحيح المصادقة، تدوير المفاتيح). لتفعيله: الإعدادات → وولفيش → حجب البيانات الحساسة في الرسائل عند التفعيل، أي رسالة واردة تطابق نمط بيانات اعتماد تُتجاهل فوراً بالكامل. لا يُعالج الدور، ولا يُحفظ شيء، ويتلقى المستخدم إشعاراً قصيراً. ينطبق هذا بالتساوي على سطح المكتب وTelegram وWhatsApp. الأنماط المكتشفة: كلمات المرور (password:، my password is...)، مفاتيح API (api_key:، secret_key:)، رموز الوصول (access_token:، bearer_token:)، المفاتيح الخاصة SSH/RSA/PGP (-----BEGIN PRIVATE KEY-----)، عبارات المفاتيح الخاصة (private_key:، ssh_key:).
عندما يكون الفلتر معطّلاً (الافتراضي)، تُعالج الرسائل بشكل طبيعي بغض النظر عن محتواها. إذا كنت تعمل مع بيانات الاعتماد بشكل متكرر، فهذا سلوك متوقع — خزّن الأسرار في الإعدادات → المتغيرات بدلاً من لصقها في المحادثة.