IRC-dokumentasjon · Viderekommen
Forstå og lag en IRC-bot
En IRC-bot er et program som kobler til nettverket som en klient. Den kan lytte til hendelser, svare på kommandoer og skape aktivitet i et rom. Påliteligheten avhenger særlig av protokollhåndtering, rettigheter og utsendelsestakt.
Dialova-teamet · Kontrollert
Livsløpet til en bot #
- Åpne en TLS-forbindelse, og kontroller sertifikatet.
- Forhandle CAP, og autentiser kontoen hvis reglene krever det.
- Oppgi IRC-identiteten, og vent til registreringen er fullført.
- Bli med i tillatte rom, og håndter meldinger, feil og hendelser.
- Svar på PING, begrens utsending og planlegg gjenoppkobling med økende ventetid.
S: PING :jeton-123
C: PONG :jeton-123
S: :Alice!alice@cloak.example PRIVMSG #atelier :!bonjour
C: PRIVMSG #atelier :Bonjour Alice !Utdraget viser flyten, ikke et fullstendig program som kan kjøres. Et vedlikeholdt IRC-bibliotek kan håndtere transporten og grammatikken, i stedet for å anta at hver nettverkslesing mottar en hel linje.
Skill protokoll, regler og handlinger #
| Del | Ansvar |
|---|---|
| Transport og parser | TLS, byte, CRLF, delvise meldinger og grenser. |
| IRC-tilstand | Registrering, capabilities, rom, identitet og endringer. |
| Botlogikk | Gjenkjenne en forespørsel, kontrollere vilkårene og formulere en planlagt handling. |
| Utgående kø | Begrense hastighet, bevare rekkefølgen og unngå gjentatt utsending etter gjenoppkobling. |
Ikke stol på kallenavnet alene #
En deltaker kan endre kallenavn eller etterligne en kommandosyntaks. Ved sensitive handlinger bør du bruke en identitet bekreftet av serveren når den finnes, og deretter kontrollere tillatelsene til handlingen. Ikke gi operatørrettigheter til en spillbot bare for at den skal kunne skrive.
Mottatt tekst er upålitelig inndata. Ikke send den til et skall, en spørring bygget ved strengsammenkjeding eller en kodekjører. Innloggingshemmeligheter hører hjemme i privat konfigurasjon, ikke i et repositorium eller i botens svar.
Unngå flood og svarsløyfer #
Nettverket bestemmer grensene; ingen utsendelsestakt er trygg overalt. Reager på feil, samle utdata når det passer, og begrens handlinger per bruker og rom. Gjenoppkobling bør bruke økende ventetid i stedet for en umiddelbar løkke.
Ikke svar automatisk på NOTICE, og ikke utfør gamle brukerkommandoer under avspilling av historikk. Med echo-message kan din egen utsending komme tilbake. Skill den fra innkommende forespørsler.
Bobot på Dialova #
Bobot driver blant annet romspillene på Dialova. Den er atskilt fra nettstedets grafiske spill og medlemmenes kontoer. Eksemplet viser at en automatisert klient kan berike et fellesskap uten å kreve en proprietær chatprotokoll.
Kilder og kontroll
Eksemplene bruker fiktive kallenavn og domener, bortsett fra tilkoblingspunkter som er uttrykkelig dokumentert. Utvidelser og nettverksspesifikke innstillinger er merket i teksten.
- Modern IRC — spesifikasjon for klientprotokollen ↗Kilde spesifikasjon · lest 2026-10-29
- IRCv3 — forhandling av klientfunksjoner ↗Kilde spesifikasjon · lest 2026-10-29
- IRCv3 — account-tag ↗Kilde spesifikasjon · lest 2026-10-29
- IRCv3 — echo-message ↗Kilde spesifikasjon · lest 2026-10-29