From b1c1d818bb48d0555dd38bf080e2bdd0b76372ae Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Jonas=20M=C3=B6ller?= Date: Sun, 19 Feb 2023 21:27:35 +0100 Subject: [PATCH] adds README.md --- README.md | 45 +++++++++++++++++++++++++++++++++++++++++++++ 1 file changed, 45 insertions(+) create mode 100644 README.md diff --git a/README.md b/README.md new file mode 100644 index 0000000..3246ec3 --- /dev/null +++ b/README.md @@ -0,0 +1,45 @@ +Spotigram +========= + +_Wenns' gut werden muss_ + +## Was ist Spotigram? + +Spotigram ist eine `/command` basierte Bridge zwischen Telegram und Spotify. +Geboren wurde die Idee dieses Bots durch die "kaputte" Integration von IFTTT.com mit Spotify. + +Wo früher noch durch ein simples IFTTT-Applet eine Telegram-Gruppe mit einer Spotify-Playlist vermufft werden konnte, +muss nun ein selbstgeschriebener Bot die Arbeit erledigen. + +## Was tut Spotigram? + +Spotigram lauscht in einer definierten Telegram-Gruppe auf das Kommando `/spotigram` und schickt den weiteren Text an +die Spotify Suche. Die Suche listet nun Lieder, deren Titel dem Text der Nachricht am ähnlichsten sind. Das erste +Ergebnis der Suche wird ungeprüft der Playlist hinzugefügt und der Vorgang als Antwort auf die originale Nachricht +zurückgemeldet. Gibt es kein Ergebnis, wird die Nachricht ignoriert. + +Nachrichten ohne Kommando werden komplett ignoriert. + +Die Konfiguration für Spotify Client und Telegram Bot wird in einer gemeinsamen Konfigurationsdatei unter +`$HOME/.spotigram.yaml` gespeichert. + +## How to use? + +1. `spotigram initConfig` erstellt die Konfigurationsdatei mit den Standards. Hier die Spotify Client ID & Secret eintragen +2. Callback URL, Port, Telegram Bot API Schlüssel und Telegram Group ID müssen in der Konfiguration eingetragen und +die Callback Adresse vom Browser aus erreichbar sein +3. `spotigram spotifyAuth` startet die Authentifizierung über Spotify und speichert den AccessToken des Benutzers +4. `spotigram spotifyPlaylists` listet alle öffentlichen Playlists des Profils und deren IDs. Gewünschte ID in die +Konfigurationsdatei eintragen +5. `spotigram telegramBot` startet den Telegram Bot +6. Profit :confetti_ball::tada: + +## Mitmachen + +Spotigram wurde in Go 1.19.6 unter verwendung der Frameworks [cobra](https://github.com/spf13/cobra) und +[viper](https://github.com/spf13/viper) erstellt. Macht gerne Issues oder Pull-Requests auf. :relaxed:️ + +## Disclaimer + +Go ist für mich ganz neu und ich habe mit diesem Bot meinen ersten Versuch eines funktionierenden CLI Programms gemacht. +Ich bitte dies bei Rants über die Code-Qualität zu beachten. :wink: