Skip to content

Tempo 1.0.0 Release

Compare
Choose a tag to compare
@jumpers775 jumpers775 released this 20 Nov 05:22
· 64 commits to main since this release
d01a165

The initial release of Tempo. (Version 1.0.0)

I began development on this bot a year ago when I found out that rythm shut down and i needed a quick song streaming bot, and I have recently found the time to finish a few more features and add a bit more polish to the point where it is now ready for general use. I will be using semantic versioning for this project.

Instructions:

  1. Install the dependencies.
    1. If you are on windows or MacOS go Download Python. If you are on linux figure it out.
    2. In your terminal run python3 -m ensurepip to make sure pip is installed.
    3. In your terminal run pip install pynacl discord asyncio youtube_search yt-dlp python-dotenv git+https://github.com/kokarare1212/librespot-python spotipy aiohttp
    4. If you are on windows download sqlite3. MacOS has this preinstalled. Linux guys can figure this out too.
    5. If you are on windows or MacOS download ffmpeg. Once again if you use linux: figure it out.
  2. Download the attached source code .zip file and unzip wherever you would like.
  3. Get your bot key ready. If you dont know how:
    1. Go to the Discord developer portal in your web browser.
    2. Sign in, then select New Application
    3. Create the Application (give it a name etc)
    4. Enable Message Content Intent in the Privileged Gateway Intents category in the Bot section
    5. Click on Reset Token in the Bot section and copy it
  4. In your terminal under the directory of the unzipped code folder run python3 bot.py.
  5. It will tell you if there is an update available. If there is, update it
  6. It will ask for your token, give it your token
  7. It will run and tell you when it is online.
  8. Invite it to a server. If you dont know how:
    1. Go back to your bot on the Discord developer portal
    2. In General Information copy the Application ID.
    3. Go to the discord bot invite link generator
    4. Paste your Application ID into the Client ID field
    5. Enable the View Channels, Send Messages, Use Application Commands, Connect, and Speak permissions
    6. Click the link at the bottom and add it to a server
  9. In one server it is in put $sync in chat. The bot will sync its slash commands with discord, and will eventually be visible (this is usually fast but can take some time. To do it immediately for one server run $sync ~. This can result in duplicate commands in that server.)

What is in the bot:

  • Basic stop and skip commands
  • Audio streaming from:
    • Youtube (default)
    • Spotify (can be enabled. requires a premium account, so users must provide their username/password)
  • Song search from your audio provider
  • Scaleable storage (sqlite3)
  • Fully featured queue system with the following:
    • Song rearrangment
    • Song removal
    • Shuffle
    • Song addition
  • Intuitive UI utilizing Discord-bot specific UI features
  • Update notifications on launch

Future To-Do list:

  • Support global Spotify key by hoster (concurrent streams may be a limitation)
  • Inbuilt playlist support
  • Spotify/Youtube playlist support
  • Make UI even better!
  • Publicly host the bot myself
  • Include systemd service for autostart under linux (just need to pretty it up)
  • Remove need for message content intent
  • Expand update notifications to DM bot owner.