Skip to content

Tempo 2.0.0 Major Release

Latest
Compare
Choose a tag to compare
@jumpers775 jumpers775 released this 22 Jul 02:13
· 1 commit to main since this release

Release Message 2.0.0:

I rewrote the whole thing from the ground up. The new release is much more stable and much more extensible, which will allow for some really cool things im planning. First off adding support for new backends (eg youtube, spotify) is now really easy and can be done without knowledge of how the bot works. I have also laid the foundations for voice commands. While this isnt in this release, it will be in the next feature release as most of the work is already done. I have also setup conda so dependencies can be dealt with in a more robust manner. Hopefully not much will change from the users perspective other than the commands which have been reorganized and future updates will improve stability and ability greatly. As always if you experience bugs, want a feature, or are missing one from a previous release let me know on github issues.

Updating

If you are updating to a 2.x.x release from a 1.x.x release you will need to just reinstall. This is because the dependency and database systems have completely changed making it impossible to update. Updates within major versions will never have this issue.

If you are already on a 2.x.x release simply git pull and conda env update -f environment.yml and your good to go.

Instructions:

  1. Install miniconda and git.
  2. Clone this repo and cd into it:
    • git clone https://github.com/jumpers775/Tempo
    • cd Tempo
  3. Install the dependencies:
    • Install espeak
      • If you are on windows you must also follow the instructions here
    • conda env create -f environment.yml
    • conda activate Tempo
  4. 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 as well as Server Members Intent in the Privileged Gateway Intents category in the Bot section
    5. Click on Reset Token in the Bot section and copy it
  5. In your terminal under the Tempo directory run python bot.py.
  6. It will tell you if there is an update available. If there is, it is recommended to update it.
  7. It will ask for your token, give it your token.
  8. It will run and tell you when it is online.
  9. 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
  10. 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 will 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)
    • Anything else you may find a backend for (I only provide Youtube and Spotify)
  • Song search from your audio provider
  • Scaleable storage (sqlite3)
  • Fully featured queue system with the following:
    • Song rearrangment
    • Song removal
    • Shuffle
    • Song addition
    • looping
  • Intuitive UI utilizing Discord-bot specific UI features
  • Update notifications on launch
  • Global platform key support (disabled by default, can be set to any supported platform)
  • Update DMs
  • playlists

Future To-Do list:

  • Import playlists from youtube
  • import playlist from spotify (regression, may be included in a minor release)
  • 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
  • remove need for espeak to be installed

Full Changelog: 1.1.4...1.2.0