c4b571c91b
Build / build (amd64, darwin) (pull_request) Successful in 41s
Build / build (amd64, linux) (pull_request) Successful in 22s
Build / build (amd64, windows) (pull_request) Successful in 41s
Build / build (arm64, darwin) (pull_request) Successful in 39s
Build / build (arm64, linux) (pull_request) Successful in 37s
Build / build (arm64, windows) (pull_request) Successful in 37s
Umstellung auf eigene Gitea-Instanz
48 lines
2.3 KiB
Markdown
48 lines
2.3 KiB
Markdown
Spotigram
|
||
=========
|
||
|
||
_Wenns' gut werden muss_
|
||
|
||
[](https://git.jonasmoeller.de/aledjones/spotigram)
|
||
|
||
## 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:
|