celebrations

command module
v0.0.0-...-7355567 Latest Latest
Warning

This package is not in the latest version of its module.

Go to latest
Published: Nov 21, 2024 License: MIT Imports: 1 Imported by: 0

README

Version GoDoc Go Report Card

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

Documentation

The Go Gopher

There is no documentation for this package.

Directories

Path Synopsis

Jump to

Keyboard shortcuts

? : This menu
/ : Search site
f or F : Jump to
y or Y : Canonical URL