Skip to content

Your personal Telegram bot-buddy for concerts β€” discover artists, setlists, and lyrics effortlessly! Built with C#/.NET 😎

Notifications You must be signed in to change notification settings

skuill/ConcertBuddy

Folders and files

NameName
Last commit message
Last commit date

Latest commit

Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 

Repository files navigation

ConcertBuddy

Your personal Telegram bot for discovering artists, setlists, and lyrics. Perfect for music enthusiasts and concert-goers! 🎡

CodeFactor Docker Image Tag

Table of contents

General info

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!

Features

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
  • βœ… Read the lyrics of the tracks
    • Different lyric providers: AZLyrics, Genius, SongLyrics, MusixMatch, LyricFind

Feedback

For bug reports, suggestions, or feature requests, please use the issue tracker.

For direct feedback, reach out on Telegram.

Feature requests are always welcome.

Technologies

Project is created with:

  • .NET: 6.0
  • Microsoft Visual Studio Community 2022
  • docker

Built with

  • 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.

Documentation

Hosting

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.

Deployment

  1. Create and configure ConcertBuddy/ConcertBuddy.ConsoleApp/appsettings.json file with settings Configuration.cs from template appsettings.template.json.
  2. Build and publish docker image usingn the Dockerfile to docker hub registry.
  3. Use docker-compose.yml to run the container.

Environments

Name Link
Development TestConcertBuddy
Production ConcertBuddy

Logging

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

Roadmap

See the full roadmap on the Github project page or Issue board

Release Notes

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.

Support

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! πŸ˜‰

  • "Buy Me A Coffee"
  • "Tinkoff Donate Button"

About

Your personal Telegram bot-buddy for concerts β€” discover artists, setlists, and lyrics effortlessly! Built with C#/.NET 😎

Topics

Resources

Stars

Watchers

Forks

Packages

No packages published