Skip to content

dmitrysus/async-music-share-bot

 
 

Repository files navigation

Bot for better music sharing

This is a bot which purpose is to simplify music sharing for users of different music streaming services.

Using

Python 3.7

Currently supported providers and interfaces

Providers (music services)

Interfaces (apps and bots)

Installation

  • Clone the project:

    git clone [email protected]:Ignisor/music-share-bot.git
  • Install requirements:

    pip install -r requirements.txt
  • Required environment variables:

    • SPOTIFY_CLIENT_ID - client ID for Spotify API
    • SPOTIFY_CLIENT_SECRET - client secret key for Spotify API
    • YOUTUBE_API_KEY - API key for youtube API
    • SOUNDCLOUD_CLIENT_ID - API key for SoundCloud API
  • Optional environment variables:

    • BOT_ADMINS_CHAT - if you set admins chat (eg @our_chat) bot messages will have 'report button'. if click - bot forwards messages to admins chat
    • EXAMPLE_MEDIA - if you example video/gif URL it will be shown on /start and /help user commands

For development

  • Install local requirements:
    pip install -r local_requirements.txt

Amazon Lambda

Deployment to the Amazon Lambda is currently handled by CD using Buddy.

The telegram_lambda.py used as entrypoint for Telegram BOT interface.

That interface uses python-telegram-bot library. To handle dependencies in lambda recommended way is to install them using --target attribure of pip install command. E.g. pip install -r requirements.txt --target package/. And then add the target folder to PYTHONPATH environment variable.

Bot token must be specified in TELEGRAM_BOT_TOKEN environment variable.

Contributing

Pull requests are welcome. dev - is the main branch. For major changes, please open an issue first to discuss what you would like to change.

Don't forget to update README.md and requirements.txt if needed.

License

MIT

About

Bot for simpler music sharing

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Languages

  • Python 100.0%