Skip to content

Latest commit

 

History

History
109 lines (79 loc) · 4.04 KB

readme.md

File metadata and controls

109 lines (79 loc) · 4.04 KB

Meerk

Mit License Python 3.6 PyPI version Build Status

Simple bot which notifies your chats that you are in a meeting

How to run

Firstly ensure you use python 3.6.

Clone project:

git clone https://github.com/nikialeksey/meerk.git

Install dependencies and

pip install -r requirements.txt

Configure and run:

python main.py

Or you can use it as library for your service or app, see example in main.py.

How to configure

In order to configure you need to make a copy of file local.cfg_template with name local.cfg and change content of it.

CalDav calendars

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.

Ics calendars

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.

Slack

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.

How it works

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

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.