Meerk
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.
Release files for meerk 0.3.1
For a detailed explanation of source distributions (sdists) and built distributions (wheels), please see the package formats documentation.
Source distribution (sdist)
| File | Size | Uploaded | |
|---|---|---|---|
| meerk-0.3.1.tar.gz | 27.5 kB | Details |
Built distribution (wheel)
| File | Interpreter | ABI | Platform | Reset |
|---|---|---|---|---|
| meerk-0.3.1-py3-none-any.whl | Python 3 | none | any | Details |
Total release size: 83.1 kB
Release files / meerk-0.3.1.tar.gz
| Download URL | meerk-0.3.1.tar.gz |
|---|---|
| Size | 27.5 kB |
| Tags | Source |
|
SHA-256 checksum How to use checksums |
c184d485c857b6138ae106b63d83c3a0b9cabe02ddfa13d9f6ad021d600e3582
|
|
BLAKE2b-256 checksum How to use checksums |
3248a5a681605a4cae485f07974c5e9bf88abfff84ecd3cbbfa875cb2b902c2d
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
No |
| Uploaded via |
twine/1.12.1 pkginfo/1.4.2 requests/2.19.1 setuptools/39.0.1 requests-toolbelt/0.8.0 tqdm/4.26.0 CPython/3.7.0
|
Release files / meerk-0.3.1-py3-none-any.whl
| Download URL | meerk-0.3.1-py3-none-any.whl |
|---|---|
| Size | 55.7 kB |
| Tags | Python 3 |
|
SHA-256 checksum How to use checksums |
c736574b6ee7e104815ccef28214bde3a5cfbdcc91350664d881e03fcbe92581
|
|
BLAKE2b-256 checksum How to use checksums |
5da0a98a52619fe26b7b4f18ed934530113a7f6be021803ca46f596bb1e11ded
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
No |
| Uploaded via |
twine/1.12.1 pkginfo/1.4.2 requests/2.19.1 setuptools/39.0.1 requests-toolbelt/0.8.0 tqdm/4.26.0 CPython/3.7.0
|