Skip to content

A simple self-hosted alternative to Slack's reminders with customizable snooze times.

License

Notifications You must be signed in to change notification settings

yusufb/slack-reminder-plus

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

33 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

logo

Reminder Plus

Reminder Plus is a simple self-hosted alternative to Slack's reminders with customizable snooze times.

Table of contents

Installation

PHP

  • Place the .php files to a public directory.

Database

  • Create a MySQL database using ddl.sql file:
mysql -u yourusername -p yourpassword < ddl.sql

Creating a Slack App

  1. Click Create New App at https://api.slack.com/apps.

1

2


  1. Write down the App ID and the Verification Token from Basic Information tab's App Credentials section.

3


  1. In Interactive Components tab, enter your URL with the path of req.php for the Request URL in Interactivity section.

4


  1. In OAuth & Permissions tab, navigate to Scopes section. Add chat:write, commands, im:history and im:read as OAuth Scopes.

5


  1. Click Install App to Workspace button in the top of the same tab. And Allow the app.

6 7


  1. Go back to OAuth & Permissions tab and write down the Bot User OAuth Access Token.

8


  1. Enable Always Show My Bot as Online option from App Home tab.

9


  1. Go to Event Subscriptions tab and enable Enable Events radio button. Enter the same req.php full path to the Request URL.

10


  1. In Subscribe to bot events section add message.im as the Bot User Event.

11

Config

  • Edit constants.php file to set the values that you got while creating the Slack app:
define('AUTH_TOKEN', '<Bot User OAuth Access Token> from step 6');
define('APP_ID', '<App ID> from step 2');
define('VERIF_TOKEN', '<Verification Token> from step 2');

Cron

  • Create a cron job to run cron.php every minute:
* * * * * php /var/www/reminder-plus/cron.php > /dev/null

logo


Usage

After adding the bot to your workspace you can type help to find out the available commands.

Adding a new reminder

Add your reminder with the following syntax:

"[reminder content]" [date format], e.g. "My first reminder" dec 19 17:15

Message reminders

You can also add a reminder for a specific Slack message by clicking More actions button of the message.

Message reminders Message reminders

Date formats

  • dec 19 - reminder at default hour
  • dec 19 12:15 - reminder at specified hour
  • dec 19 21 - reminder at the top of the specified hour (21:00)
  • 16:30 - reminder at the specified hour for today
  • 16 - reminder at the top of the specified hour for today
  • tomorrow or tm - reminder at default hour for tomorrow
  • tomorrow 14 or tm 14 - reminder at the top of the specified hour for tomorrow (14:00)
  • tomorrow 14:15 or tm 14:15 - reminder at the specified hour for tomorrow
  • mon to sun - reminder at the default hour in the next occurrence of the specified day
  • mon 14 - reminder at the top of the specified hour in the next occurrence of the specified day (14:00)
  • mon 14:15 - reminder at the specified hour in the next occurrence of the specified day
  • in 3h or in 30m or in 1h 30m - relative times to now

Listing reminders

  • list or l - list incomplete reminders
  • list all or la - list all reminders

Preferences

  • pref hour [time] - set yout default hour. e.g. pref hour 09:30

This value will be used when you enter a date without a specified hour.

  • pref snooze [time] - set your snooze times. e.g. pref snooze in 1h, 14:30, 17:30, tomorrow

This values will be used as preset values in snooze menu.

Snooze menu

  • pref list - list your current preferences

About

A simple self-hosted alternative to Slack's reminders with customizable snooze times.

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published