Aplicativo Electron com Svelte e TypeScript para exibir o status de jogos do Batocera Linux no Discord Rich Presence.
├── src/
│ ├── main/ # Processo principal do Electron
│ ├── preload/ # Bridge entre Electron e Renderer
│ └── renderer/ # Interface Svelte
├── build/ # Recursos para build (ícones, entitlements)
├── resources/ # Ícones e assets
├── package.json # Dependências e scripts
├── electron-builder.yml
├── electron.vite.config.ts
├── svelte.config.mjs
yarn
yarn dev
# Windows
yarn build:win
# macOS
yarn build:mac
# Linux
yarn build:linux
Para que o Batocera envie informações ao servidor Electron quando um jogo é iniciado ou finalizado, utilize scripts automáticos conforme a documentação oficial.
Exemplo de script para /userdata/system/scripts/batocera-discord-rp.sh
:
#!/bin/bash
case "$1" in
gameStart)
# $2 = systemName, $5 = rom path
curl -X POST -H "Content-Type: application/json" \
-d "{\"gameName\": \"$(basename \"$5\" .zip)\", \"platform\": \"$2\"}" \
http://127.0.0.1:3333/start
;;
gameStop)
curl -X POST http://127.0.0.1:3333/stop
;;
esac
/userdata/system/scripts/
.chmod +x /userdata/system/scripts/batocera-discord-rp.sh
Mais detalhes e exemplos: Batocera Wiki - Launch a Script
MIT