Giter VIP home page Giter VIP logo

celebrations's Introduction

Celebrations

Facilitates celebrations by sending reminders via custimizable channels like:

  • Slack channels,
  • Slack direct messages,
  • Slack personal reminders.

Celebrations works based on birth date and anniversary dates along with Slack identifiers (see example/config.yml).

Installation

  1. Use bin/celebrations-... executable or complile current version to your system architecture.

  2. Copy example/config.yml to your app directory; modify according to your needs.

  3. Install app to desired Slack workspace.

  4. Required Slack permissions:

    • bot token scopes:

      • chat:write (posting to channels)

      • chat:write.public

      • channels:manage (sending DMs)

      • groups:write

      • im:write

      • mpim:write

      • chat:write.customize (customizing app visibility)

      • users:read (downloading users)

      • users.profile:read

    • user token scopes:

      • reminders:write (adding reminders)
  5. To be able to post to private channel, add bot manually (Channel -> Integrations -> Add App).

  6. Optional. Use command ./celebrations download-users [--limit x] to pre-download users from Slack. Helpful for populating config.yml file.

  7. Setup envronment variables for app runtime:

  • SLACK_BOT_TOKEN=xoxb-... (required for most reminders)
  • SLACK_USER_TOKEN=xoxp-... (required for setting personal remidners)
  1. Schedule running ./celebrations send-reminders once a day on specified hour e.g. 9:30 am via Github actions scheduler or other type of cron.

Development

Run

make run

Build

make all

Test

make test

Changelog

0.5.0

  • Refactor code for readability

0.4.0

  • Add dates sorting to Monthly Report channel reminder
  • Move secrets from config.yml to ENV VARs

0.3.0

  • Humanize Monthly Report channel reminder

0.2.0

  • Add Monthly Report channel reminder

0.1.0

  • Init

License

MIT

celebrations's People

Contributors

nomysz avatar

Watchers

 avatar

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    ๐Ÿ–– Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. ๐Ÿ“Š๐Ÿ“ˆ๐ŸŽ‰

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google โค๏ธ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.