كيفية تطوير IRC Bot: 12 خطوة (بالصور)

جدول المحتويات:

كيفية تطوير IRC Bot: 12 خطوة (بالصور)
كيفية تطوير IRC Bot: 12 خطوة (بالصور)

فيديو: كيفية تطوير IRC Bot: 12 خطوة (بالصور)

فيديو: كيفية تطوير IRC Bot: 12 خطوة (بالصور)
فيديو: استرجاع حساب الفيسبوك اذا نسيت كلمة السر ورقم الهاتف والإيميل / استرجاع حساب مسروق 2024, مارس
Anonim

إذا كنت تستخدم Internet Relay Chat (IRC) ، فمن المحتمل أنك واجهت روبوتًا في مرحلة ما. الروبوتات هي برامج أو نصوص برمجية مستقلة تتصل بالشبكة بنفس الطريقة التي يتصل بها الإنسان. يمكن برمجتها للرد على أوامر المستخدم أو حتى الدردشة. في هذا الدليل ، يمكنك العثور على خياراتك لبناء روبوت IRC بالإضافة إلى كيفية إنشاء روبوت من البداية.

خطوات

الطريقة 1 من 2: تقييم الخيارات

قم بتطوير IRC Bot الخطوة 1
قم بتطوير IRC Bot الخطوة 1

الخطوة الأولى. ضع في اعتبارك تثبيت برنامج نصي للعميل

في بعض الأحيان ، ترغب فقط في إنجاز مهمة بسيطة ولا تريد أن تكون برنامجًا مستقلاً. في هذه الحالة ، يمكنك إرفاق برنامج نصي بعميل IRC. هذا أمر شائع بالنسبة لـ mIRC ، الذي يحتوي على محرك برمجة نصية قوي ومجموعة متنوعة من البرامج النصية المتاحة. هذا هو الخيار الأسهل ويوصى به بشدة إذا لم يكن لديك الكثير أو أي خبرة في البرمجة. بالنسبة لبقية هذا الدليل ، تتطلب الإرشادات بعض المعرفة ببرمجة الكمبيوتر لاتباعها.

قم بتطوير IRC Bot الخطوة 2
قم بتطوير IRC Bot الخطوة 2

الخطوة الثانية: ضع في اعتبارك قاعدة بيانات موجودة مسبقًا لبرنامج الروبوت الخاص بك

توجد العديد من البرامج مفتوحة المصدر والبرامج المجانية التي يمكن أن تساعدك في إعداد روبوتك المخصص بسرعة. أحد الأمثلة على ذلك هو Eggdrop ، أقدم روبوت IRC لا يزال قيد الصيانة.

قم بتطوير IRC Bot الخطوة 3
قم بتطوير IRC Bot الخطوة 3

الخطوة الثالثة. ضع في اعتبارك كتابة برنامج الروبوت الخاص بك

بالنسبة لمستخدمي ومطوري IRC المتقدمين الذين يعرفون بالفعل طريقهم للتغلب على لغة البرمجة ، يعد هذا خيارًا رائعًا. يمكنك استخدام أي لغة تريدها إلى حد كبير طالما أنها تدعم المقبس ، ولكن اللغات الشائعة المستخدمة تشمل Python و Lua و PHP و C و Perl. إذا كنت لا تعرف أيًا من هؤلاء ولكنك تعرف لغة أخرى ، فهذه ليست مشكلة. يمكنك عادةً العثور على أمثلة على الويب بأي لغة تريدها. في هذه المقالة ، سنشرح استخدام PHP. لاستخدام PHP ، ستحتاج إلى تثبيت PHP-CLI على جهاز الكمبيوتر أو الخادم.

  • يمكن تنزيل PHP من php.net
  • يمكن تنفيذ نصوص PHP من سطر الأوامر. للحصول على معلومات إضافية ومساعدة في استخدام PHP ، راجع صفحة دليل PHP هذه.

طريقة 2 من 2: تطوير الروبوت الخاص بك

قم بتطوير IRC Bot الخطوة 4
قم بتطوير IRC Bot الخطوة 4

الخطوة 1. اجمع تفاصيل الاتصال

ستحتاج إلى الحصول على المعلومات التالية من أجل الاتصال بالشبكة بنجاح.

  • الخادم: اسم المجال للخادم المستخدم للاتصال بـ IRC ، مثل

    chat.freenode.net

  • ميناء: في معظم الحالات ، هذا هو 6667 ، ولكن إذا لم تكن متأكدًا ، فتحقق من عميل IRC الخاص بك أو موقع الويب الخاص بالشبكة.
  • اسم الشهرة: الاسم المستعار الذي يجب أن يستخدمه برنامج الروبوت الخاص بك. ضع في اعتبارك أن بعض الأحرف الخاصة غير مسموح بها عادةً (@ #! ~).
  • هوية: يظهر حقل المعرف بعد اللقب عندما يقوم شخص ما بتنفيذ WHOIS مثل هذا:

    nickname! ident @ hostname

  • GECOS: عادةً ما يحمل هذا الحقل الاسم الحقيقي للمستخدم أو وصفًا عامًا للبوت ولكن يمكنك وضع ما تريد فيه.
  • قناة: تريد عادةً أن يكون الروبوت الخاص بك موجودًا في قناة واحدة أو أكثر. في معظم الشبكات ، تكون مسبوقة بـ "#" ولكنها قد تكون شيئًا آخر.
قم بتطوير IRC Bot الخطوة 5
قم بتطوير IRC Bot الخطوة 5

الخطوة 2. قم بتهيئة التكوين في البرنامج النصي الخاص بك

الطريقة الأساسية للقيام بذلك هي تسمية بعض المتغيرات وفقًا لأسماء التكوين أعلاه. يمكنك أيضًا تخزينها في ملف تهيئة وتحليلها ، ولكن في الوقت الحالي سنلتزم بالضرورات المطلقة.

قم بتطوير IRC Bot - الخطوة 6
قم بتطوير IRC Bot - الخطوة 6

الخطوة 3. الاتصال بالشبكة

للقيام بذلك ، ستحتاج إلى فتح مقبس للخادم على المنفذ المحدد. يجب عليك أيضًا إضافة بعض رمز معالجة الأخطاء في هذا الجزء في حالة فشل الاتصال لأي سبب من الأسباب. في هذه الحالة ، توفر لنا PHP بعض الوظائف الأنيقة للتعامل مع الخطأ بشكل فعال.

قم بتطوير IRC Bot - الخطوة 7
قم بتطوير IRC Bot - الخطوة 7

الخطوة 4. تسجيل الروبوت الخاص بك

هذا يعني توفير اسم الشهرة الخاص بك ، والهوية ، و GECOS إلى الخادم ، وليس التسجيل في النك سيرف. للقيام بذلك ، ما عليك سوى كتابة الأمرين NICK و USER إلى الخادم ، متبوعين بحرف إرجاع وسطر جديد. من الضروري أن تفعل ذلك تمامًا كما هو موضح ، لأن هذه هي الطريقة المحددة في RFC1459 ، مواصفات بروتوكول IRC.

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

قم بتطوير IRC Bot - الخطوة 8
قم بتطوير IRC Bot - الخطوة 8

الخطوة 5. استمر في جلب البيانات من المقبس باستخدام حلقة

إذا لم تستخدم حلقة ، سينتهي البرنامج النصي الخاص بك على الفور وسيكون الروبوت عديم الفائدة بشكل أساسي. للبقاء على اتصال ، يجب عليك جلب البيانات من الخادم ، والتحقق من أي إدخال تريده في الدفق ، والرد عليه إذا كان الأمر كذلك. هنا ، نحصل على البيانات باستخدام socket_read () للحصول على أي بيانات متاحة لنا. إذا كان هناك ، فإننا نواصل القيام بكل ما في الحلقة. قد يكون من المفيد أيضًا إخراج البيانات الأولية إلى وحدة التحكم حتى تتمكن من رؤية ما يحدث من منظور الروبوت.

قم بتطوير IRC Bot - الخطوة 9
قم بتطوير IRC Bot - الخطوة 9

الخطوة 6. اكتب معالج ping

هذا مهم. إذا لم تستجب للأصوات في الوقت المناسب ، فسيقوم الخادم بفصل اتصالك. دعونا نعتني بذلك أولاً. تبدو الأصوات بهذا الشكل عند إرسالها من الخادم:

بينغ: rajaniemi.freenode.net

. لا يتعين على الخادم وضع اسمه بعد ":" ، يمكنه توفير كل ما يريد. * يجب * تكرار ما قاله الخادم بالضبط ، باستثناء استخدام PONG.

قم بتطوير IRC Bot الخطوة 10
قم بتطوير IRC Bot الخطوة 10

الخطوة 7. انضم إلى قنواتك

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

  • للقيام بذلك ، سوف نتحقق من رموز حالة الخادم 376 أو 422. 376 يعني انتهاء MOTD (رسالة اليوم). 422 يعني أنه لم يكن هناك أي MOTD لإرساله. إن MOTD هو مجرد شيء يرسله الخادم عند الاتصال ، ولكنه مؤشر جيد عندما يمكننا البدء في الانضمام إلى القنوات.
  • ستحتاج إلى إصدار أمر JOIN. يمكن اتباع هذا الأمر بقناة واحدة أو أكثر مفصولة بفاصلة.
  • لاحظ أن البيانات التي يرسلها الخادم محددة بشكل ملائم بالمسافات. بهذه الطريقة يمكننا تقسيم البيانات والرجوع إليها باستخدام فهرس مصفوفة.
قم بتطوير IRC Bot الخطوة 11
قم بتطوير IRC Bot الخطوة 11

الخطوة 8. الرد على رسائل القناة

الآن للجزء الممتع. لقد انضم برنامج الروبوت الخاص بك إلى القناة ، لذا يمكنك الآن استخدامه لما تريده. لنقم بإنشاء أمر مثال يسمىmoo.

  • لاحظ الإزاحة حيث تبدأ الرسائل (وهذا ينطبق على كل من القنوات والرسائل الخاصة). إنه دائمًا في نفس المكان.
  • يمكنك التعامل مع الأوامر التي تحتوي على مسافات بداخلها عن طريق تقسيم البيانات المقسمة معًا مرة أخرى ($ d). هذا خارج نطاق هذا المقال.
  • إذا كان الهدف قناة (مثل # Botters-test) ، فأنت ترد على ذلك. إذا كانت رسالة خاصة ، فسيكون هذا الجزء هو لقب برنامج الروبوت الخاص بك! يجب عليك بعد ذلك الرد باستخدام كنية المرسل ، وليس اسمك (وإلا فستتحدث مع نفسك ، وهذا سخيف فقط).
قم بتطوير IRC Bot الخطوة 12
قم بتطوير IRC Bot الخطوة 12

الخطوة 9. قم بتمديد برنامج الروبوت الخاص بك

يمكنك إضافة العديد من الميزات الجديدة باستخدام التطبيق أعلاه. هناك العديد من الأوامر الأخرى التي يمكن إصدارها لشبكة IRC ، مثل إدارة العمليات ، والركل والحظر ، وتحديد الموضوع ، من بين العديد من الميزات الأخرى.

نصائح

  • يمكنك إنتاج نتيجة الأمر "/ me" عن طريق وضع بادئة على رسائلك كما يلي:

    • PRIVMSG # القناة: / 001 نص هنا / 001.
    • 001 تعني حرف ASCII 1 وسيتم تفسيره على هذا النحو في سلسلة PHP ذات علامات اقتباس مزدوجة. بدلا من ذلك ، يمكنك استخدام

      سي اتش ار (1)

    • خارج السلسلة.
  • يمكن إنتاج الألوان في رسالة ببدء "\ 003" (رمز ASCII 3) متبوعًا برقم للون. 0 = أبيض ، 1 = أسود ، 2 = أزرق ، 3 = أخضر ، 4 = أحمر […]. انظر صفحة mIRC لمزيد من الألوان.
  • كمسألة مجاملة ، احصل على موافقة مالكي القنوات ومشغلي IRC قبل إحضار الروبوت الخاص بك على الإنترنت. ليست كل الشبكات والقنوات لديها سياسة مرحب بها تجاه الروبوتات ، حتى تلك التي تعمل بشكل جيد.
  • تتخطى بعض عفاريت IRC مواصفات البروتوكول وتنفذ ميزات أخرى. إذا كنت تستعد لشبكة معينة ، فيمكنك بالتأكيد الاستفادة من هذه الميزات إذا كنت تعرف بروتوكولها. إذا كنت تريد نشر الروبوت الخاص بك على عدة شبكات ، فحاول الاحتفاظ به على ما هو موجود في RFC.

موصى به: