Skip to content

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

License

Notifications You must be signed in to change notification settings

nikialeksey/meerk

Repository files navigation

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.

About

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

Topics

Resources

License

Stars

Watchers

Forks

Packages

No packages published

Languages