{"id":16696895,"url":"https://github.com/seratch/deepl-for-slack","last_synced_at":"2025-04-12T23:38:52.926Z","repository":{"id":41056823,"uuid":"272691372","full_name":"seratch/deepl-for-slack","owner":"seratch","description":"Slack app for DeepL Translate API users","archived":false,"fork":false,"pushed_at":"2025-04-04T05:31:30.000Z","size":12057,"stargazers_count":147,"open_issues_count":2,"forks_count":100,"subscribers_count":4,"default_branch":"master","last_synced_at":"2025-04-12T23:38:48.430Z","etag":null,"topics":[],"latest_commit_sha":null,"homepage":"https://qiita.com/seratch/items/a001985ee1dccaf95727","language":"TypeScript","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"mit","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/seratch.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":null,"license":"LICENSE","code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null,"governance":null,"roadmap":null,"authors":null,"dei":null,"publiccode":null,"codemeta":null}},"created_at":"2020-06-16T11:36:49.000Z","updated_at":"2025-04-02T23:59:35.000Z","dependencies_parsed_at":"2023-11-11T00:26:30.365Z","dependency_job_id":"e7626215-9720-40b9-a97f-66b713ea6637","html_url":"https://github.com/seratch/deepl-for-slack","commit_stats":null,"previous_names":[],"tags_count":0,"template":false,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/seratch%2Fdeepl-for-slack","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/seratch%2Fdeepl-for-slack/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/seratch%2Fdeepl-for-slack/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/seratch%2Fdeepl-for-slack/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/seratch","download_url":"https://codeload.github.com/seratch/deepl-for-slack/tar.gz/refs/heads/master","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":248647255,"owners_count":21139081,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2022-07-04T15:15:14.044Z","host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":[],"created_at":"2024-10-12T17:45:11.642Z","updated_at":"2025-04-12T23:38:52.904Z","avatar_url":"https://github.com/seratch.png","language":"TypeScript","funding_links":[],"categories":[],"sub_categories":[],"readme":"## DeepL App for Slack\n\nDeepL for Slack is a Slack integration that enables end-users to translate channel messages into a different lanuage just by adding reaction emoji.\n\n## Features\n\n### Shortcut to run DeepL Translate API\n\nSlack users can run DeepL Translate API in a modal.\n\n\u003cimg src=\"https://user-images.githubusercontent.com/19658/84773721-cb505f80-b017-11ea-8c41-aed57012ab8b.gif\" height=\"500\"\u003e\n\n### Post a translated text in thread\n\nThis works mostly the same as [reacjilator](https://github.com/slackapi/reacjilator).\n\n\u003cimg src=\"https://user-images.githubusercontent.com/19658/84773773-dc996c00-b017-11ea-9022-017492a7c9df.gif\" height=\"500\"\u003e\n\n## Prerequisites\n\nTo run this app, the following accounts are required.\n\n* DeepL Pro (for Developers) account\n* Slack workspace and user account\n* Heroku account\n\nIf you already have all of them, setting up this app requires only 5 minutes.\n\n## Set up\n\n### Create your DeepL Pro (for Developers) account\n\n* Select \"for Developers\" plan at https://www.deepl.com/pro/ (be careful not to choose any other)\n* Go to your [DeepL Pro Account](https://www.deepl.com/pro-account.html) page\n* Save the **Authentication Key for DeepL API** value\n\nRefer to the following resources for more details:\n\n* https://www.deepl.com/en/pro/\n* https://www.deepl.com/docs-api/\n\n### Create your Slack App\n\nUse the [App Manifest file](https://github.com/seratch/deepl-for-slack/blob/master/app-manifest.yml) to configure a new app!\n\n\u003cimg width=\"400\" src=\"https://user-images.githubusercontent.com/19658/121115984-cef47c00-c850-11eb-9d7e-dbd80407ac9a.png\"\u003e\n\u003cimg width=\"400\" src=\"https://user-images.githubusercontent.com/19658/121115976-cc922200-c850-11eb-8e23-1054c48b54d0.png\"\u003e\n\u003cimg width=\"400\" src=\"https://user-images.githubusercontent.com/19658/121115986-cf8d1280-c850-11eb-8f7f-9d59112df42b.png\"\u003e\n\u003cimg width=\"400\" src=\"https://user-images.githubusercontent.com/19658/121115989-d025a900-c850-11eb-9cb7-35fc979a81f8.png\"\u003e\n\n* Got to **Settings \u003e Install App** in the left pane\n  * Click **Install App to Workspace** button\n  * Click **Allow** button in the OAuth confirmation page\n  * Save the **Bot User OAuth Access Token** value (xoxb-***)\n\n* Go to **Settings \u003e Basic Information** in the left pane\n  * Scroll down to **App Credentials** section\n  * Click **Show** button in **Signing Secret** section\n  * Save the **Signing Secret** value\n\n### Deploy to Heroku\n\n[![Deploy](https://www.herokucdn.com/deploy/button.svg)](https://heroku.com/deploy?template=https://github.com/seratch/deepl-for-slack/tree/master)\n\n* Confirm [your billing settings](https://dashboard.heroku.com/account/billing)\n* Deploy this app with the following env variables\n  * `SLACK_SIGNING_SECRET`: **Settings \u003e Basic Information \u003e App Credentials \u003e Signing Secret** in the Slack app config page\n  * `SLACK_BOT_TOKEN`: **Settings \u003e Install App \u003e Bot User OAuth Access Token** in the Slack app config page\n  * `DEEPL_AUTH_KEY`: **Authentication Key for DeepL API** in the DeepL Pro account page\n  * `DEEPL_FREE_API_PLAN`: Set to \"1\" if you are using the DeepL API Free Plan (the default is \"0\" for Pro Plan)\n* You may need to change the \"Dyno Type\" to enable the app\n\n### Slack App (Step 2)\n\n* Go to **Features \u003e Event Subscriptions** in the left pane\n  * Set the Request URL to `https://{your app's Heroku domain}/slack/events`\n  * Click **Save Changes** button at the bottom for sure\n\n* Go to **Features \u003e Interactivity \u0026 Shortcuts** in the left pane\n  * Set the Request URL to `https://{your app's Heroku domain}/slack/events`\n  * Click **Save Changes** button at the bottom for sure\n\n### Verify it works in Slack\n\n* Go to your Slack workspace\n\n* Run `/invite @deepl_translation` in a channel\n* 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).`\n* Add a reaction `:flag-jp:` to the message\n* Check a new message in its thread\n\n* Click **⚡ (Shortcuts)** button\n* Click **Open DeepL Tool**\n* Enter a text and the language on the modal\n\n### License \n\nThe MIT License\n\n### Related Projects\n\nIf you are looking for more functionalities, take a look at the following awesome projects:\n\n* https://github.com/monstar-lab-oss/deepl-for-slack-elixir\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fseratch%2Fdeepl-for-slack","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fseratch%2Fdeepl-for-slack","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fseratch%2Fdeepl-for-slack/lists"}