You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.

26 lines
2.1 KiB

# Slack-Eggberg
Detta är ELAB:s Slack-app som för närvarande används till att göra "affiliate links" av de Banggood-länkar som postas i ELAB:s Slack-workspace.
När någon postar en Banggood-länk i Slack går ett meddelande till detta skript, därifrån igenkommande som en "unfurl", vilken talar om för Slack hur länken ska presenteras med bild, rubrik och en modifierad länk som gör att ELAB får en slant när den används.
![Bildexempel](screenshot.png)
## Installation av app på ett workspace
Denna procedur är aktuell endast om ELAB skulle skaffa ett nytt Slack-workspace. Länkarna i detta stycker är specifika för ELAB:s nuvarande workspace och app, och måste alltså modifieras för att gälla ett framtida workspace med tillhörande app när sådana har skapats.
0. [Var inloggad](https://slack.com/signin) på rätt workspace.
0. [Skapa ny app](https://api.slack.com/apps?new_app=1) kallad "Eggberg".
0. [Lägg till permission scope](https://api.slack.com/apps/AN6HH95ML/oauth) `links:read` och `links:write` och tryck på "Install App to Workspace".
0. Lägg ["OAuth Access Token"](https://api.slack.com/apps/AN6HH95ML/oauth) i miljövariabeln `SLACK_TOKEN`, lägg ["Signing Secret"](https://api.slack.com/apps/AN6HH95ML/general) i miljövariabeln `SLACK_SIGNING_SECRET` och kör Eggberg (`eggberg.py`).
0. [Slå på event subscriptions.](https://api.slack.com/apps/AN6HH95ML/event-subscriptions)
1. Lägg in, som "Request URL", den adress där Slack kan nå Eggberg, till exempel <https://elab.kth.se/slack-eggberg/events>. För tester kan en tillfällig HTTPS-port fås medelst `ngrok http 8000`.
0. Prenumerera på workspace event `link_shared`.
0. Lägg till `banggood.com` som unfurl domain.
0. Tryck på ["Reinstall App"](https://api.slack.com/apps/AN6HH95ML/oauth).
## Idrifttagning av app på server
Om en ny server ska köra appen, eller den befintliga har tappat sina hemliga nycklar, är det "OAuth Access Token" och "Signing Secret" som behöver hämtas ut igen, enligt instruktionen ovan, och läggas i sina respektive miljövariabler innan appen startas.