{"id":21850874,"url":"https://github.com/nikialeksey/meerk","last_synced_at":"2025-04-14T15:13:44.807Z","repository":{"id":43367646,"uuid":"148828784","full_name":"nikialeksey/meerk","owner":"nikialeksey","description":"Simple bot which notifys your chats that you are in a meeting","archived":false,"fork":false,"pushed_at":"2022-07-06T19:53:02.000Z","size":60,"stargazers_count":4,"open_issues_count":5,"forks_count":0,"subscribers_count":3,"default_branch":"master","last_synced_at":"2025-04-14T15:13:37.789Z","etag":null,"topics":["caldav","caldav-client","calendar","ics","ics-files","slack"],"latest_commit_sha":null,"homepage":null,"language":"Python","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"mit","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/nikialeksey.png","metadata":{"files":{"readme":"readme.md","changelog":null,"contributing":null,"funding":null,"license":"LICENSE","code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null}},"created_at":"2018-09-14T18:43:59.000Z","updated_at":"2022-02-06T19:01:49.000Z","dependencies_parsed_at":"2022-07-08T20:30:50.237Z","dependency_job_id":null,"html_url":"https://github.com/nikialeksey/meerk","commit_stats":null,"previous_names":[],"tags_count":9,"template":false,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/nikialeksey%2Fmeerk","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/nikialeksey%2Fmeerk/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/nikialeksey%2Fmeerk/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/nikialeksey%2Fmeerk/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/nikialeksey","download_url":"https://codeload.github.com/nikialeksey/meerk/tar.gz/refs/heads/master","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":248904637,"owners_count":21180835,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2022-07-04T15:15:14.044Z","host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":["caldav","caldav-client","calendar","ics","ics-files","slack"],"created_at":"2024-11-28T00:25:03.522Z","updated_at":"2025-04-14T15:13:44.784Z","avatar_url":"https://github.com/nikialeksey.png","language":"Python","funding_links":[],"categories":[],"sub_categories":[],"readme":"# Meerk\n\n[![Mit License](https://img.shields.io/github/license/mashape/apistatus.svg)](https://github.com/nikialeksey/meerk/blob/master/LICENSE)\n![Python 3.6](https://img.shields.io/badge/python-3.6-blue.svg)\n[![PyPI version](https://badge.fury.io/py/meerk.svg)](https://badge.fury.io/py/meerk)\n[![Build Status](https://travis-ci.org/nikialeksey/meerk.svg?branch=master)](https://travis-ci.org/nikialeksey/meerk)\n\nSimple bot which notifies your chats that you are in a meeting\n\n## How to run\n\nFirstly ensure you use `python 3.6`.\n\nClone project:\n\n```bash\ngit clone https://github.com/nikialeksey/meerk.git\n```\n\nInstall dependencies and\n\n```bash\npip install -r requirements.txt\n```\n\n[Configure](https://github.com/nikialeksey/meerk#how-to-configure) and run:\n\n```bash\npython main.py\n```\n\nOr you can use it as library for your service or app, see example in \n[`main.py`](https://github.com/nikialeksey/meerk/blob/master/main.py).\n\n## How to configure\n\nIn order to configure you need to make a copy of file \n[`local.cfg_template`](https://github.com/nikialeksey/meerk/blob/master/local.cfg_template) with name `local.cfg`\nand change content of it. \n\n### CalDav calendars\n\nTo add calendar supports [CalDav](https://en.wikipedia.org/wiki/CalDAV)\nformat you need to uncomment \n[`caldav-calendar`](https://github.com/nikialeksey/meerk/blob/master/local.cfg_template#L1-L4) section\nand fill with your personal data. If you have a multiple calendars supports [CalDav](https://en.wikipedia.org/wiki/CalDAV)\nyou may create a new section in `local.cfg` with the same fields and section name prefix `caldav`, \nbut with other data, for example:\n\n```ini\n[caldav-another]\nurl: \u003canother caldav url\u003e\nusername: \u003canother caldav username\u003e\npassword: \u003canother caldav password\u003e\n```\n\n**Important!** [Google Calendar](https://calendar.google.com) does not support cal dav, and you have only one way\nto make it work - using [*.ics files](https://github.com/nikialeksey/meerk#ics-calendars). \n\n### Ics calendars\n\nTo add calendar using [`ics`](https://en.wikipedia.org/wiki/ICalendar) file you need to uncomment\n[`ics-calendar`](https://github.com/nikialeksey/meerk/blob/master/local.cfg_template#L6-L7) section and fill with\nyour public [`ics`](https://en.wikipedia.org/wiki/ICalendar) file link. Again, if you have a few \n[`ics`](https://en.wikipedia.org/wiki/ICalendar) calendars, you may create a few sections in `local.cfg` with section \nname prefix `ics`, for example:\n\n```ini\n[ics-another]\nurl: \u003canother ics url\u003e\n\n[ics-yet-another]\nurl: \u003cyet another ics url\u003e\n```\n\nTo find your calendar `*.ics` file link usually you need to open calendar settings, make it public, and find link to\ncalendar `*.ics` file.\n\n### Slack\n\nIt supports only slack, but you can contribute for more chats. To configure slack, you guessed it, you need to \nuncomment [`slack-app`](https://github.com/nikialeksey/meerk/blob/master/local.cfg_template#L9-L14) section and fill,\nfor example:\n\n```ini\n[slack-app]\ntoken: xoxp-3165681461-*****6099680-*****3333042-*****007685996b538e88cbe92a6098b\nbusy_text: I am in a meeting\nbusy_emoji: :shushing_face:\navailable_text: Android development 09.00 - 17.00\navailable_emoji: :computer:\n```\n\nSlack has a [legacy tokens](https://api.slack.com/custom-integrations/legacy-tokens) which you need to generate\nin order to update your slack status and fill the `token` in section `slack*`. In feature, **Meerk** migrates \nto slack app.\n\n## How it works\n\n**Meerk** periodically synchronizes specified in `local.cfg` calendars and periodically verifies if there is a \nmeeting now, then update chat status to **Busy**, else **Available**. \n\n## Thanks\n\nThanks to [@tobixen](https://github.com/tobixen) and his project [caldav](https://github.com/python-caldav/caldav). I \n[use it in the **Meerk**](https://github.com/nikialeksey/meerk/tree/master/meerk/caldav) temporary. When \n[#11](https://github.com/python-caldav/caldav/issues/11) appears in release build I get rid of the immediate code of\nproject [caldav](https://github.com/python-caldav/caldav) and will be use as dependency or write my own \n[CalDav](https://en.wikipedia.org/wiki/CalDAV) implementation.","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fnikialeksey%2Fmeerk","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fnikialeksey%2Fmeerk","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fnikialeksey%2Fmeerk/lists"}