برمجة عميل IRC بسيط (Internet-Relay-Chat).
سؤال
لقد بدأت باستخدام IRC في سن مبكرة، وكنت مفتونًا به دائمًا.كتمرين لغوي، كنت أفكر في برمجة عميل IRC بسيط في روبي باستخدام أحذية كواجهة أمامية رسومية.سؤالي لكم أيها السادة، ما الذي أحتاج إلى معرفته للبدء في هذه المغامرة الرائعة (إلى جانب الأحذية وروبي بالطبع)؟أتصور أن هناك نوعًا من المواصفات بشأن بروتوكول IRC.أي مؤشرات؟
المحلول
ذكرت مشاركة سابقة RFC1459.على الرغم من أنها مقدمة جيدة جدًا لـ IRC، فقد تم استبدالها بالفعل بـ RFCs 2810-2813.فيما يلي قائمة كاملة بالوثائق التي تحتاجها لبرمجة أي شيء يتعلق بـ IRC:
- RFC1459 (RFC الأصلي؛تم استبدالها، ولكنها لا تزال مفيدة)
- RFC2810 (هندسة آي آر سي)
- RFC2811 (إدارة قناة آي آر سي)
- RFC2812 (بروتوكول عميل IRC)
- RFC2813 (بروتوكول خادم IRC)
- مواصفات CTCP
- مواصفات دي سي سي
- تحديث مواصفات CTCP (ليس كل العملاء يدعمون هذا)
- مسودة ISupport (رمز الاستجابة 005). (جميع الخوادم تقريبًا تدعم هذا في الوقت الحاضر)
- مسودة قدرات العميل (أمر CAP). (بدعم من بعض الخوادم/العملاء)
- معايير ومقترحات IRCv3 (الميزات المستقبلية لـ IRC، بعضها مدعوم بالفعل على نطاق واسع)
نصائح أخرى
تم وضع مواصفات IRC في RFC 1459
لقد وجدت هذه الجوهرة على ويكيبيديا.يبدو تخويف.
انها في الواقع ليست كذلك.
Telnet على خادم IRC وشاهد بساطة البروتوكول مباشرة.الجزء الأصعب هو المصافحة، وبعد ذلك يصبح الأمر بسيطًا للغاية.
لقد قمت ذات مرة بتنفيذ عميل وخادم مع شخصين آخرين (كجزء من الدورة التدريبية).
أستطيع أن أخبرك أن RFC الذي كنت مرتبطًا به بالفعل رائع.
سأحاول أيضًا استنشاق اتصال مع عميل حالي لترى بنفسك كيفية عمل الأشياء.
ليس بالضبط إجابة لسؤالك، ولكن قد يكون من المفيد.إذا كنت تستخدم روبي، فقد وجدت أن مشروع أوراق الخريف هو وسيلة رائعة لبناء روبوت IRC باستخدام روبي:
http://github.com/RISCfuture/autumn/tree/master
إنه إلى حد كبير Jibble of the Ruby World.