/whats-playing-bot

Share, play, and add the Spotify songs to the queue just in one click. Let the magic happens.

Primary LanguageHandlebarsGNU General Public License v3.0GPL-3.0

What's Playing Bot Logo

What's Playing Bot

Share, play, and add the Spotify songs to the queue
just in one click. Let the magic happens.

Donate

Description

The Telegram bot to share current playing track, search songs, and control spotify.

Available commands

  • /share - Share current track
  • /s - Share current track
  • /ss - Share current track without control buttons
  • /next - Next track
  • /previous - Previous track
  • /me - Share profile link
  • /unlink_spotify - Unlink
  • /controls - Enable control keyboard
  • /disable_controls - Disable control keyboard

Inline query is also supported

What's Playing Bot Inline Query Screenshot

Installation

$ yarn install

Running the app

# development
$ yarn start

# watch mode
$ yarn start:dev

# production mode
$ yarn start:prod

Environment variables

  • SPOTIFY_CLIENT_ID - Get in developer.spotify.com.
  • SPOTIFY_CLIENT_SECRET - Get in developer.spotify.com.
  • SPOTIFY_REDIRECT_URL - The url to redirect to after the user grants or denies permission.
  • MONGO_URI - MongoDB database url.
  • TELEGRAM_BOT_TOKEN - Get it by contacting to BotFather.
  • JWT_SECRET - JWT secret key.
  • TELEGRAM_JWT_SECRET - JWT secret key.
  • TELEGRAM_SPOTIFY_CALLBACK_URI - Callback url.
  • TELEGRAM_BOT_NAME - Telegram bot username.
  • TELEGRAM_BOT_WEBHOOK_DOMAIN - Telegram bot webhook domain.
  • TELEGRAM_BOT_WEBHOOK_PATH - Telegram bot webhook path.
  • TELEGRAM_SECOND_BOT_TOKEN - Get it by contacting to BotFather.
  • TELEGRAM_SECOND_BOT_WEBHOOK_DOMAIN - Telegram second bot webhook domain.
  • TELEGRAM_SECOND_BOT_WEBHOOK_PATH - Telegram second bot webhook path.
  • SITE - Backend url.
  • FRONTEND_URL - Frontend url.
  • FRONTEND_TITLE - Frontend title.
  • FRONTEND_DESCRIPTION - Frontend description.
  • BOT_LOGO_IMAGE - Bot logo.
  • DEFAULT_COVER_IMAGE - Default track cover.
  • QUEUE_HOST - Redis host.
  • QUEUE_PORT - Redis port.
  • QUEUE_DB - Redis db.
  • CACHE_HOST - Redis host.
  • CACHE_PORT - Redis port.
  • CACHE_DB - Redis db.

Related

  • NestJS - About A progressive Node.js framework for building efficient, scalable, and enterprise-grade server-side applications on top of TypeScript & JavaScript (ES6, ES7, ES8) 🚀
  • telegraf.js - Modern Telegram Bot API framework for Node.js