Infobot to bot IRC w Perlu, napisany po raz pierwszy w 1995 roku przez Kevina Lenzo. Głównym celem bota było zapamiętywanie adresów URL i kojarzenie ich z nazwą, więc jeśli ktoś potrzebował konkretnego adresu internetowego, mógł zapytać bota. Z tego powodu pierwszy Infobot, na kanale #macintosh w sieci EFnet IRC, miał pseudonim 'url'.

Główny projekt jest obecnie nieaktywny, powstało wiele rozwidleń oryginalnego programu, niektóre z nich są nadal aktywne. Wiele z tych rozwidleń posiada dodatkowe funkcje.

Działanie i koncepcja

Podstawową ideą Infobota jest prosty mechanizm „faktów” (ang. facts): użytkownicy dodają pary klucz–wartość, np. "python: https://www.python.org", a bot zapisuje je w swojej bazie danych. Po zapisaniu można zapytać bota o dany klucz, a on odpowie przechowywaną wartością. Dzięki temu Infobot pełnił rolę żywej, wspólnej książki adresów lub krótkiej bazy wiedzy w kanale IRC.

Typowe cechy i mechanizmy implementowane w Infobocie i jego rozwidleniach:

  • Prosty język naturalny: wiele wersji rozpoznaje konstrukcje typu "bot: foo is bar" lub "bot: what is foo?"
  • Baza faktów: zapisy w postaci par klucz–wartość przechowywane lokalnie (plik, DBM, SQL w nowszych forkach).
  • Rozszerzalność: moduły lub skrypty dodające funkcje (wyszukiwanie DNS, pogodę, konwersje jednostek itp.).
  • Reguły dostępu: mechanizmy ograniczające dodawanie/usuwanie wpisów do zaufanych użytkowników lub operatorów kanału.

Przykłady użycia

Przykładowe polecenia, które w różnych implementacjach Infobota mogą mieć zastosowanie:

  • "bot: google: https://www.google.com" — dodanie faktu
  • "bot: what is google?" lub "bot: google?" — zapytanie o wartość
  • "bot: forget google" — usunięcie wpisu (w zależności od uprawnień)
Ostateczny zestaw komend zależy od konkretnego rozwidlenia i konfiguracji bota.

Historia i wpływ

Infobot Kevina Lenzo był jednym z pierwszych popularnych botów opartych na Perlu, które wykorzystywały IRC do udostępniania wspólnej, pamiętanej wiedzy. Pomysł prostego zapamiętywania par klucz–wartość szybko rozprzestrzenił się, a autorzy i administratorzy kanałów tworzyli własne wersje z dodatkowymi funkcjami. Dzięki temu koncepcja „infobota” stała się wpływowa w społecznościach IRC jako narzędzie ułatwiające współdzielenie przydatnych linków i informacji.

Rozwidlenia i współczesne zastosowania

Choć oryginalny projekt może być nieaktywny, jego rozwidlenia żyją dalej — niektóre są utrzymywane i rozwijane, inne służą jako punkt wyjścia do eksperymentów. Nowe wersje często implementują:

  • trwałą bazę danych (MySQL, SQLite),
  • modułową architekturę pozwalającą na dodawanie funkcji,
  • lepsze mechanizmy parsowania i zabezpieczeń,
  • interfejsy WWW lub API do zdalnego zarządzania faktami.
Infoboty i ich potomkowie bywają też wykorzystywani poza IRC — w kanałach komunikatorów, na serwerach chatowych czy jako prosty backend FAQ dla małych społeczności.

Praktyczne uwagi

Stosując Infobota na kanale warto pamiętać o kilku zasadach:

  • Ustawić reguły dopisywania/usuwania faktów, aby uniknąć spamowania kanału lub wprowadzania fałszywych informacji.
  • Określić sposób nazewnictwa kluczy, by unikać konfliktów i ułatwić wyszukiwanie.
  • Regularnie tworzyć kopie zapasowe bazy faktów, szczególnie jeśli korzysta się z plików lokalnych.
  • Rozważyć migrację do bazy SQL lub DBM w przypadku dużej ilości wpisów.

Infobot jest przykładem prostego, lecz trwałego pomysłu — "kanał jako współdzielona baza wiedzy" — który znalazł wiele implementacji i inspiracji w świecie botów czatowych.