Přeskočit obsah

Modul Komens

Tento modul slouží k získání přijatých zpráv ze serveru školy. Tento modul již provádí autorizované dotazy, takže je nutné již mít údaje o tokenech, případně provést první přihlášení.

1
2
3
4
5
6
7
    class Komens:
    """Class for working with Komens messages."""

    def __init__(self, bakalari: Bakalari):
        """Initialize class Komens."""
        self.bakalari = bakalari
        self.messages = Messages()

Jako jediný parametr přijímá inicializovanou instanci Bakalari

    from async_bakalari_api import Bakalari
    from async_bakalari_api.komens import Komens

    bakalari = Bakalari("http://server")
    bakalari.load_credentials("credentials.json")

    komens = Komens(bakalari)

Načtení přijatých zpráv

Načtení zpráv probíhá metodou Komens.fetch_messages().

Tato metoda nejprve vymaže dosud uložené zprávy a stáhne aktuální zprávy ze serveru školy. Vrací instanci Messages (seznam MessageContainer) a zároveň ji uloží do Komens.messages.

Messages = list[MessageContainer]

Messages

ke zprávám lze přistupovat z proměnné Komens.messages

Více o Messages a MessageContainer bude k dispozici Dev dokumentaci později. Pro užití v běžném režimu není třeba se jimi zabývat do hloubky.

Nepřečtené zprávy

  • Získat seznam nepřečtených zpráv:
async def get_unread_messages(self) -> list[MessageContainer]:

Vrátí list pouze těch zpráv, které mají read=False. Pokud dosud nejsou zprávy načtené, metoda si je nejprve stáhne.

  • Získat počet nepřečtených zpráv:
async def count_unread_messages(self) -> int:

Vrací počet nepřečtených zpráv; využívá přímý endpoint (není nutné mít zavolané fetch_messages()).

Načtení zpráv ze serveru
1
2
3
4
5
6
7
8
    from async_bakalari_api import Bakalari
    from async_bakalari_api.komens import Komens

    bakalari = Bakalari("http://server")
    bakalari.load_credentials("credentials.json")

    komens = Komens(bakalari)
    await komens.fetch_messages()