折盡武昌柳,掛席上瀟湘。
二年魚鳥江上,笑我往來忙。
富貴何時休問,離別中年堪恨,憔悴鬢成霜。
絲竹陶寫耳,急羽且飛觴。
——辛棄疾
Bamboo is a Discord bot written in TypeScript that lets you stream music from NetEase Cloud Music. It is built with modern toolchain for efficiency and deployed on Vultr for reliable uptime.
The official instance of Bamboo is hosted on a server that operates 24/7 with auto-restart capabilities. To introduce it to your server, click on the invite button above. For a more personalized and reliable experience, it is recommended to host your own instance of Bamboo.
Bamboo is actively developed and maintained. If you encounter any bugs or have suggestions, feel free to join the support server and share your feedback!
Join the Official Discord Server
mise: Installs the Node.js and pnpm versions pinned inmise.tomlwithmise installffmpeg: Required for audio processing and streaming
pnpm install: Install dependencies- create a
.envfile in the root directory with the format of.env.example, and fill in the required fields pnpm deploy:dev: register the slash commands in your development server (once, and again whenever commands change)pnpm dev: build and run the bot in development mode- if no NetEase login is saved yet, a QR code appears in the terminal on the first run: scan it with the NetEase Cloud Music app to log in. The session is saved to
cookies/netease.cookieand reused afterwards
The settings can come from Infisical instead of a .env file. With the Infisical CLI installed, run infisical init in the root directory to link a project whose dev and prod environments hold the settings named in .env.example. The scripts use Infisical whenever .infisical.json is present, and the .env file otherwise.