All Projects โ†’ slackapi โ†’ Reacjilator

slackapi / Reacjilator

Licence: mit
A translation bot that translates a message when a user reacted with an emoji ๐Ÿ‡จ๐Ÿ‡ณ ๐Ÿ‡ฎ๐Ÿ‡น ๐Ÿ‡น๐Ÿ‡ญ ๐Ÿ‡ซ๐Ÿ‡ท ๐Ÿ‡ฏ๐Ÿ‡ต ๐Ÿ‡ฎ๐Ÿ‡ณ ๐Ÿ‡บ๐Ÿ‡ธ ๐Ÿ‡ง๐Ÿ‡ฌ ๐Ÿ‡น๐Ÿ‡ผ ๐Ÿ‡ฆ๐Ÿ‡ช ๐Ÿ‡ฐ๐Ÿ‡ท

Programming Languages

javascript
184084 projects - #8 most used programming language

Reacjilator for Slack

๐Ÿ‡ฏ๐Ÿ‡ต README in Japanese is available: ๆ—ฅๆœฌ่ชž README ใฏใ“ใกใ‚‰

Reacjilator translates a message when a user reacted with an emoji ("reacji"). For example, when a message gets a :flag-jp: reacji, this bot translate the original message to Japanese and post it under the message thread.

Reacjilator demo

Set Up Your Slack App

  1. Create an app at your Slack App Setting page at api.slack.com/apps:
  2. Enable the workspace events, reaction_added and point to https://your-server.com/events
  3. Set the following scopes:
  • "chat:write:bot" (Send messages with chat.postMessage by a bot),
  • "reactions:read" (Access the workspaceโ€™s emoji reaction history)
  • "channels:read" (Access public channels info)
  • "*:history" (Access user's channels)
  1. Install the app and get a user token, begins with xoxp-

Credentials

Rename the .env_test to .env and fill the env vars with your credentials. You also need Google credentials to use the Google translation API:

SLACK_SIGNING_SECRET=
SLACK_AUTH_TOKEN=
GOOGLE_PROJECT_ID=
GOOGLE_KEY=

Get Your Slack credentials at Basic Information, auth token at OAuth & Permissions.

Get your Google Cloud project ID and API key at cloud.google.com

Deployment Examples

Deploy on Google Cloud Functions

Please refer the google-cloud-functions branch.

Deploy on Heroku

Use this Heroku button to deploy to Heroku server. You just need to fill out the env vars with the info. No need to create an .env file.

Deploy

When you deploy to Heroku, the request URL for the Event Subscription section on Slack App config page would be: https://the-name-you-picked.herokuapp.com/events

Note that the project description data, including the texts, logos, images, and/or trademarks, for each open source project belongs to its rightful owner. If you wish to add or remove any projects, please contact us at [email protected].