A Discord bot that converts chiptune formats into mp3 upon attaching it on server conversation. It incorporates multiple command-line players for a wide support of common chiptune formats. The bot is also modular as well, meaning the code can be changed to support other players as well.
- zxtune: https://zxtune.bitbucket.io/
- furnace: https://github.com/tildearrow/furnace
- chipnsfx: http://cngsoft.no-ip.org/chipnsfx.htm
- arkos tracker: https://www.julien-nevo.com/arkostracker/
- psgplay: https://github.com/frno7/psgplay
- ffmpeg: https://ffmpeg.org/
- openmpt123: https://lib.openmpt.org/libopenmpt/
AY machine uses these CLIs in order to render the tracks. They have to be placed in a separate "tools" folder .
BOT_TOKENmust be available in env (supports.env).npm install
- Dev (TS):
npm run dev - Build:
npm run build - Start:
npm start - Continuous restart:
./run.sh
- Attach a supported chiptune file; the bot replies with an MP3.
- Control AY options (zxtune-compatible formats) by writing flags anywhere in the message, no prefix:
clock=<chip_preset|hz|mhz>layout=<abc|acb|bac|bca|cba|cab|mono>type=<ay|ym>
- Examples:
clock=zx layout=abcclock=1.75 type=ymclock=1750000
- Skip a specific attachment: include the word
ignoreanywhere in the message (legacy also supported:$aymignorefile). - Help: slash command
/helpshows current presets and usage. When running bot on a server, global command update may take time to propagate.