Jonas Möller a6f08e9adc
All checks were successful
Build / build (amd64, darwin) (push) Successful in 3m2s
Build / build (amd64, windows) (push) Successful in 42s
Build / build (arm64, darwin) (push) Successful in 40s
Build / build (arm64, windows) (push) Successful in 41s
Build / build (amd64, linux) (push) Successful in 2m35s
Build / build (arm64, linux) (push) Successful in 34s
Merge pull request 'changed namespace' (#3) from aledjones-patch-2 into main
Reviewed-on: #3
2024-12-31 10:17:53 +01:00
2024-12-31 10:13:56 +01:00
2023-02-21 14:35:12 +01:00
2023-02-19 20:56:00 +01:00
2024-12-31 10:09:38 +01:00
2024-06-01 16:28:37 +02:00

Spotigram

Wenns' gut werden muss

build status

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:🎉

Mitmachen

Spotigram wurde in Go 1.19.6 unter verwendung der Frameworks cobra und 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. 😉

Description
Bridge Bridge Bridge
Readme 86 KiB
Languages
Go 100%