M4R774 / bobweb2

Telegram botti piristämään elämää
MIT License
8 stars 1 forks source link

Bob-botin integrointi esmf-tapahtumakalenteriin #125

Open Kaehaerae opened 2 years ago

Kaehaerae commented 2 years ago

Daily digestiä sekä mahdollista yhteisten tapahtumien lisäystä varten bob-botilla tulisi olla mahdollisuus päästä käsiksi esmf-tapahtumakalenteriin.

matiasautio commented 2 years ago

Kalenterin luku on helppoa, näitä seuraten: https://developers.google.com/calendar/api/quickstart/python https://karenapp.io/articles/how-to-automate-google-calendar-with-python-using-the-calendar-api/ (tää vähän vanhentunut mutta selkeä)

Kun vaikkapa tuon esimerkin skriptiä ajaa ensimmäistä kertaa, täytyy sille antaa oikeus käyttää Google-tilin kalenteria. Tätä varten aukeaa selainikkuna jossa kirjaudutaan Google-tilille ja annetaan lupa. Tää voi aiheuttaa ongelmia botin kanssa, tai sitten ei.

Googlen developer-konsolissa saa määritellä noita oikeuksia, esim. read-only tai muokkaaja. Jos botin avulla saa lisättyä tapahtumia niin se tarvitsee oikeudet muokata kalenteria.

Daily digestiä varten voi sitten kirjoitella funktioita jotka hakee halutun jutun, esim. onko päivälle tapahtumaa ja jos on niin mikä. Tässä esimerkinomaisesti listasin seuraavat tapahtumat ja niiden kestot.

Getting the upcoming 10 events 2022-02-11 - 2022-02-20 Ylläsreissu 2022-03-05 - 2022-03-06 Pekan tuparit 2022-06-04 - 2022-06-06 Straight line mission 0 2022-06-11 - 2022-06-13 Straight line mission 1

Syntymäpäiville ei ole omaa "tapahtumatyyppiä" kalenterin sisällä, eli jos halutaan tarkastella niitä niin helpoin tapa lienee kirjata ne kalenteriin tietyllä syntaksilla, esim. "Syntymäpäivä Saku Larsson 1.1.1900" josta voidaan päätellä että on synttärit, kuka ja milloin on syntynyt (jotta bob osaa onnitella oikealla vuosien määrällä). Ärsyttävää ja vaikeaa käyttäjälle. Kalenterin omistajan kontaktien syntymäpäivät toki on erillisessä "Syntymäpäivät"-kalenterissa, mutta siellä ei tod.näk. tule olemaan kaikki bobilaiset.

Calendar APIn dokumentaatio: https://developers.google.com/calendar/api/v3/reference