תיעוד IRC · ביניים
להבין ולתכנן בוט IRC
בוט IRC הוא תוכנה שמתחברת לרשת כלקוח. הוא יכול להאזין לאירועים, לענות לפקודות או להפעיל חדר. אמינותו תלויה בעיקר בטיפול בפרוטוקול, בהרשאות ובקצב השליחה.
צוות Dialova · נבדק בתאריך
מחזור הפעולה של בוט #
- פתיחת חיבור TLS ובדיקת התעודה.
- משא ומתן CAP ולאחריו אימות החשבון, אם מדיניות הרשת דורשת זאת.
- הצהרת זהות IRC והמתנה לסיום הרישום לחיבור.
- הצטרפות לחדרים המורשים וטיפול בהודעות, בשגיאות ובאירועים.
- מענה ל־PING, הגבלת השליחה ותכנון חיבור מחדש עם השהיה מתארכת.
S: PING :jeton-123
C: PONG :jeton-123
S: :Alice!alice@cloak.example PRIVMSG #atelier :!bonjour
C: PRIVMSG #atelier :Bonjour Alice !הקטע מדגים את הזרימה; זו אינה תוכנה מלאה להרצה. ספריית IRC מתוחזקת יכולה לטפל בתעבורה ובתחביר, במקום להניח שכל קריאה מהרשת מחזירה שורה שלמה.
הפרדה בין הפרוטוקול, הכללים והפעולות #
| רכיב | אחריות |
|---|---|
| תעבורה וניתוח הודעות | TLS, בתים, CRLF, הודעות חלקיות וגבולות. |
| מצב IRC | רישום לחיבור, יכולות, חדרים, זהות ושינויים. |
| לוגיקת הבוט | זיהוי בקשה, בדיקת התנאים שלה והפקת פעולה רצויה. |
| תור הודעות יוצאות | הגבלת הקצב, שמירת הסדר ומניעת שליחה חוזרת בחיבור מחדש. |
לא להסתמך רק על הכינוי #
משתתף יכול לשנות כינוי או לחקות תחביר. בפעולה רגישה יש להשתמש בזהות שהשרת מאשר, כאשר היא זמינה, ואז לבדוק את ההרשאות לפעולה. אין לתת לבוט משחק הרשאות מפעיל רק כדי שיוכל לדבר.
טקסט שהתקבל הוא קלט שאינו מהימן: אין להעביר אותו למעטפת פקודות, לשאילתה שנבנתה משרשור מחרוזות או למריץ קוד. סודות החיבור נשמרים בהגדרות פרטיות, לא במאגר קוד ולא בתשובת הבוט.
מניעת הצפה ולולאות #
הרשת קובעת את המגבלות שלה: אין קצב שליחה שבטוח בכל מקום. יש לטפל בשגיאות, לאחד פלט כשזה מתאים ולהגביל פעולות לכל משתמש ולכל חדר. חיבור מחדש צריך להשתמש בהשהיה מתארכת, ולא בלולאה מיידית.
אין לענות אוטומטית ל־NOTICE או להריץ בקשת משתמש ישנה בעת שחזור היסטוריה. עם echo-message, הפלט שלכם עשוי לחזור אליכם: יש להבחין בינו לבין בקשה נכנסת.
Bobot ב־Dialova #
Bobot מפעיל בין היתר משחקי חדר ב־Dialova. הוא נפרד מהמשחקים הגרפיים באתר ומחשבונות החברים. זו דוגמה ללקוח אוטומטי שמעשיר קהילה בלי לדרוש פרוטוקול שיחה קנייני.
מקורות ובדיקת המידע
הדוגמאות משתמשות בכינויים ובדומיינים בדויים, למעט כתובות חיבור שמתועדות במפורש. הרחבות והגדרות ייחודיות לרשת מצוינות בטקסט.
- Modern IRC — מפרט פרוטוקול הלקוח ↗מקור של המפרט · נבדק בתאריך 2026-10-29
- IRCv3 — משא ומתן על יכולות הלקוח ↗מקור של המפרט · נבדק בתאריך 2026-10-29
- IRCv3 — account-tag ↗מקור של המפרט · נבדק בתאריך 2026-10-29
- IRCv3 — echo-message ↗מקור של המפרט · נבדק בתאריך 2026-10-29