API

Specjalnie dla naszych użytkowników, przygotowaliśmy specjalne API pozwalające na wyświetlenie informacji o kanałach na naszych stronach w prosty sposób.

To w jaki sposób dane te zostaną wykorzystane zależy tylko i wyłącznie od webmastera - i to właśnie on musi zadbać o odpowiednie przetworzenie tych danych. API jest wbrew pozorom bardzo proste. API wyświetla dane plaintextem, używając kodowania UTF-8.

Api znajduje się pod adresem: https://api.pirc.pl

Dokumentacja
Autoryzacja i CORS

API jest otwarte i publiczne. Do uzyskania podstawowych informacji nie jest wymagana żadna autoryzacja, ani nie jest weryfikowany CORS.

Statystyki

Podstawowe informacje o kanale: nazwa, liczba użytkowników, ilość wiadomości i aktualny temat.

Adres URL https://api.pirc.pl/stats/NAZWA_KANAŁU
Zwracany typ application/json
Przykładowy URL https://api.pirc.pl/stats/help
Przykładowa odpowiedź
{
    name: "#help",
    users: 19,
    messages: 12179,
    topic: "Zanim zadasz swoje pytanie, przeczytaj: http://pirc.pl/help || FAQ: http://pirc.pl/faq"
}
ChanServ

Informacje z serwisu ChanServ: nazwa, właściciel/założyciel i data rejestracji (timestamp)

Adres URL https://api.pirc.pl/chanserv/NAZWA_KANAŁU
Zwracany typ application/json
Przykładowy URL https://api.pirc.pl/chanserv/help
Przykładowa odpowiedź
{
    name: "#help",
    time_registered: 1244723078,
    founder: "samaelszafran"
}
Wszystkie informacje

Dla ułatwienia: endpoint zwracający połączone informacje z obu powyższych.

Adres URL https://api.pirc.pl/all/NAZWA_KANAŁU
Zwracany typ application/json
Przykładowy URL https://api.pirc.pl/all/help
Przykładowa odpowiedź
{
    "chanserv": {
        "name": "#help",
        "time_registered": 1244723078,
        "founder": "samaelszafran"
    },
    "stats": {
        "name": "#help",
        "users": 19,
        "messages": 12179,
        "topic": "Zanim zadasz swoje pytanie, przeczytaj: http://pirc.pl/help || FAQ: http://pirc.pl/faq"
    }
}
Przykładowe użycie na stronie

W przypadku strony statycznej (opartej jedynie o HTML, CSS i JavaScript), najłatwiej jest wykorzystać JavaScript do wykonania zapytania do naszego API:

<p>
  Na moim kanale jest
  <span id="api-channel-users"></span>
  użytkowników.
</p>
<script type="text/javascript">
  const textContainer = document.getElementById('api-channel-users');
  const req = new XMLHttpRequest();
  req.open('GET', 'https://api.pirc.pl/all/help', true);
  req.onreadystatechange = (event) => {
    if (req.readyState !== 4) return;

    if (req.status === 200) {
      const data = JSON.parse(req.responseText);
      textContainer.innerText = data.stats.users;
    } else {
      textContainer.innerText = 'ERROR';
    }
  };
  req.send(null);
</script>