DeepL App for Slack
DeepL for Slack is a Slack integration that enables end-users to translate channel messages into a different lanuage just by adding reaction emoji.
Features
Shortcut to run DeepL Translate API
Slack users can run DeepL Translate API in a modal.
Post a translated text in thread
This works mostly the same as reacjilator.
Prerequisites
To run this app, the following accounts are required.
- DeepL Pro (for Developers) account
- Slack workspace and user account
- Heroku account
If you already have all of them, setting up this app requires only 5 minutes.
Set up
Create your DeepL Pro (for Developers) account
- Select "for Developers" plan at https://www.deepl.com/pro/ (be careful not to choose any other)
- Go to your DeepL Pro Account page
- Save the Authentication Key for DeepL API value
Refer to the following resources for more details:
Create your Slack App
Use the App Manifest file to configure a new app!
-
Got to Settings > Install App in the left pane
- Click Install App to Workspace button
- Click Allow button in the OAuth confirmation page
- Save the Bot User OAuth Access Token value (xoxb-***)
-
Go to Settings > Basic Information in the left pane
- Scroll down to App Credentials section
- Click Show button in Signing Secret section
- Save the Signing Secret value
Deploy to Heroku
- Confirm your billing settings
- Deploy this app with the following env variables
SLACK_SIGNING_SECRET
: Settings > Basic Information > App Credentials > Signing Secret in the Slack app config pageSLACK_BOT_TOKEN
: Settings > Install App > Bot User OAuth Access Token in the Slack app config pageDEEPL_AUTH_KEY
: Authentication Key for DeepL API in the DeepL Pro account pageDEEPL_FREE_API_PLAN
: Set to "1" if you are using the DeepL API Free Plan (the default is "0" for Pro Plan)
- You may need to change the "Dyno Type" to enable the app
Slack App (Step 2)
-
Go to Features > Event Subscriptions in the left pane
- Set the Request URL to
https://{your app's Heroku domain}/slack/events
- Click Save Changes button at the bottom for sure
- Set the Request URL to
-
Go to Features > Interactivity & Shortcuts in the left pane
- Set the Request URL to
https://{your app's Heroku domain}/slack/events
- Click Save Changes button at the bottom for sure
- Set the Request URL to
Verify it works in Slack
-
Go to your Slack workspace
-
Run
/invite @deepl_translation
in a channel -
Post a message saying
In functional programming, a monad is a design pattern that allows structuring programs generically while automating away boilerplate code needed by the program logic. Monads achieve this by providing their own data type (a particular type for each type of monad), which represents a specific form of computation, along with one procedure to wrap values of any basic type within the monad (yielding a monadic value) and another to compose functions that output monadic values (called monadic functions).
-
Add a reaction
:flag-jp:
to the message -
Check a new message in its thread
-
Click
⚡ (Shortcuts) button -
Click Open DeepL Tool
-
Enter a text and the language on the modal
License
The MIT License
Related Projects
If you are looking for more functionalities, take a look at the following awesome projects: