Simple bot which notifies your chats that you are in a meeting
Firstly ensure you use python 3.6.
Clone project:
git clone https://github.com/nikialeksey/meerk.gitInstall dependencies and
pip install -r requirements.txtConfigure and run:
python main.pyOr you can use it as library for your service or app, see example in
main.py.
In order to configure you need to make a copy of file
local.cfg_template with name local.cfg
and change content of it.
To add calendar supports CalDav
format you need to uncomment
caldav-calendar section
and fill with your personal data. If you have a multiple calendars supports CalDav
you may create a new section in local.cfg with the same fields and section name prefix caldav,
but with other data, for example:
[caldav-another]
url: <another caldav url>
username: <another caldav username>
password: <another caldav password>Important! Google Calendar does not support cal dav, and you have only one way to make it work - using *.ics files.
To add calendar using ics file you need to uncomment
ics-calendar section and fill with
your public ics file link. Again, if you have a few
ics calendars, you may create a few sections in local.cfg with section
name prefix ics, for example:
[ics-another]
url: <another ics url>
[ics-yet-another]
url: <yet another ics url>To find your calendar *.ics file link usually you need to open calendar settings, make it public, and find link to
calendar *.ics file.
It supports only slack, but you can contribute for more chats. To configure slack, you guessed it, you need to
uncomment slack-app section and fill,
for example:
[slack-app]
token: xoxp-3165681461-*****6099680-*****3333042-*****007685996b538e88cbe92a6098b
busy_text: I am in a meeting
busy_emoji: :shushing_face:
available_text: Android development 09.00 - 17.00
available_emoji: :computer:Slack has a legacy tokens which you need to generate
in order to update your slack status and fill the token in section slack*. In feature, Meerk migrates
to slack app.
Meerk periodically synchronizes specified in local.cfg calendars and periodically verifies if there is a
meeting now, then update chat status to Busy, else Available.
Thanks to @tobixen and his project caldav. I use it in the Meerk temporary. When #11 appears in release build I get rid of the immediate code of project caldav and will be use as dependency or write my own CalDav implementation.