Files
aledjones 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
README.md aktualisiert
Umstellung auf eigene Gitea-Instanz
2024-06-01 16:28:37 +02:00

48 lines
2.3 KiB
Markdown
Raw Permalink Blame History

This file contains invisible Unicode characters
This file contains invisible Unicode characters that are indistinguishable to humans but may be processed differently by a computer. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.
Spotigram
=========
_Wenns' gut werden muss_
[![build status](https://git.jonasmoeller.de/aledjones/spotigram/actions/workflows/go.yaml/badge.svg)](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: