Your personal Telegram bot for discovering artists, setlists, and lyrics. Perfect for music enthusiasts and concert-goers! π΅
Are you planning to go to a concert? This Telegram bot will be your companion, like a good buddy! π
With ConcertBuddy, you can:
- Explore artist and band biographies.
- Check out setlists from recent concerts.
- Listen to tracks and read their lyrics.
Just write the artist/band name to the ConcertBuddy bot and enjoy!
A few of the things you can do with ConcertBuddy:
- β
Search artist / band by name
MusicBrainz
- β
Read artist / band biography
Last.fm
- β
View setlists from recent concerts
Setlist.fm
- β
Listen to tracks
- Directly from:
Yandex
- External link:
Spotify
- Directly from:
- β
Read the lyrics of the tracks
- Different lyric providers:
AZLyrics
,Genius
,SongLyrics
,MusixMatch
,LyricFind
- Different lyric providers:
For bug reports, suggestions, or feature requests, please use the issue tracker.
For direct feedback, reach out on Telegram.
Feature requests are always welcome.
Project is created with:
.NET: 6.0
Microsoft Visual Studio Community 2022
docker
- Telegram.Bot - the most popular .NET Client for π€ Telegram Bot API
- LyricsScraperNET - πΌ a library for .NET that provides an API to search for lyrics of a song from the web
- SpotifyAPI-NET - a client for Spotify's Web API, written in .NET
- MusicBrainzAPI - Implementation of the MuzicBrainz API v2
- Hqub.Last.fm - Implementation of the Last.fm API for .NET Standard 2.0 or above
- Genius.NET - C# library to access the Genius REST API in .NET
- HtmlAgilityPack - agile HTML parser that builds a read/write DOM and supports plain XPATH or XSLT (you actually don't HAVE to understand XPATH nor XSLT to use it, don't worry...)
- Serilog - simple .NET logging with fully-structured events
- Yandex.Music API - unofficial wrapper for the Yandex.Music API
- SetlistNet - C# library to interact with setlist.fm API.
The bot is hosted on an Ubuntu 22.10 64-bit server using a DigitalOcean droplet and runs in a Docker container from docker hub repository. Hosting costs $6/month.
- Create and configure
ConcertBuddy/ConcertBuddy.ConsoleApp/appsettings.json
file with settings Configuration.cs from template appsettings.template.json. - Build and publish docker image usingn the Dockerfile to docker hub registry.
- Use docker-compose.yml to run the container.
Name | Link |
---|---|
Development | TestConcertBuddy |
Production | ConcertBuddy |
Event logging is managed by Serilog, with logs written to console, debug, and file. Log rotation is configured. Logging settings can be found in appsettings.json
. Example: appsettings.template.json
See the full roadmap on the Github project page or Issue board
All new releases with descriptions are available on the releases page.
To view the changes for older releases up to version 1.1.0, see the file CHANGELOG_OLD.md.
If you want to support this project or my work in general, you can donate via the link below.
This is always optional! Thank you! π