A work in progress rework of Ugoku !, completely refactored and feature complete !
Learn more about the bot here: https://ugoku.app/.
- Python 3.12.x / 3.13.x
- A Discord bot token (get one here)
- FFmpeg
Music bot:
- A Spotify app (get one here).
- A Deezer Premium or Spotify Premium account.
- (Optional) An Imgur API key (get one here), to display the cover art for songs from custom sources.
Chatbot:
- A Gemini API key (get one here)
- (Optional) A Pinecone API key for long-term memory
- Install FFmpeg. You can follow this guide if you are on a Windows machine.
- Copy the repo.
- Create a virtual environment.
python -m venv venvOR
python3 -m venv venv- Enable the venv.
Windows:
./venv/Scripts/activate.batLinux:
source venv/bin/activate- Install the dependencies.
pip install -r requirements.txt- Create a bot and add it to a Discord server, or add it to your apps. You can follow the first 3 sections of the guide.
- Create an .env file in the root directory.
- Set the environment variables for the services you want to use, based on the template.
- Restart the IDE (to update the env variables).
- On linux machines, you may want to switch the protobuf implementation to Python if the .env variable has been ignored by doing so:
echo 'export PROTOCOL_BUFFERS_PYTHON_IMPLEMENTATION=python' >> ~/.bashrc
source ~/.bashrcYou can now restart your instance.
- Configure and activate the features in the config.py file.
- Run
main.py. - If Spotify is enabled, log in to Librespot from your Spotify client (it should appear in the device list)*.
- Done !
Tip
*This action will create a credentials.json file in the root folder. If you are having trouble creating it on a remote machine, try creating it on your local machine and exporting it.