Talk currently supports 3 types of email notifications.
- When someone replies to my comment
- When a staff member replies to my comment
- When my comment gets featured
Talk support 3 options for notification frequency: immediately, hourly or daily. Commenters can also opt-out of email notifications. Notifications are set to OFF by default.
Commenters cannot enable notifications until they have verified their email.
Note: Notifications are not currently supported for users that sign-up via Facebook or Google auth, or don't have an email attached to their account for any other reason.
Configuring SMTP
You must setup SMTP to use notifications. The following ENV variables must be set:
TALK_SMTP_FROM_ADDRESS=email@email.com
TALK_SMTP_USERNAME=username
TALK_SMTP_PASSWORD=password
TALK_SMTP_HOST=smtp.domain.net
TALK_SMTP_PORT=2525
Enabling Notifications
Enabling the talk-plugin-notifications
creates a NotificationManager that creates and manages events send from the event emitter that is linked to the Graph API PubSub system.
Adding the talk-plugin-notifications
plugin will also enable the notifications
plugin hook. Any plugin that registers before the talk-plugin-notifications
plugin will get picked up by.
See https://github.com/coralproject/talk/blob/8b669a31c551a042f0f079d8cfc16825673eb8f0/plugins/talk-plugin-notifications-reply/index.js for an example.
Notification Categories
Talk currently supports the following Notifications options out of the box:
talk-plugin-notifications-category-reply
talk-plugin-notifications-category-staff-reply
talk-plugin-notifications-category-featured
Notification Digests
Talk supports hourly and daily digests out the box, if you would like to create your own, refer to the below:
https://github.com/coralproject/talk/blob/9cc9969320dca47bb0f8f81e8d944ae4d19e548b/plugins/talk-plugin-notifications/server/connect.js#L69-L102
Connect API
This exposes the graph/connectors.js
via the connect
hook.
module.exports = {
connect(connectors) {
// use `connectors`, contents of https://github.com/coralproject/talk/blob/b758dc91cb1f1969ecd895b6059306b318995b33/graph/connectors.js#L104
}
}
See https://github.com/coralproject/talk/blob/90290cfa2de88e62f687e1ed0235ba6dfe4cde26/plugins/talk-plugin-notifications/server/connect.js for an example.
Email Templates
Email templates are text based and support translations. If you would like to create a new email template, you can register it via the Connect API, see https://github.com/coralproject/talk/blob/8b669a31c551a042f0f079d8cfc16825673eb8f0/plugins/talk-plugin-notifications/server/connect.js#L12-L28###