HadouRex
douban.fm CLI client in Haskell. You might be interested in https://github.com/rnons/lord
Install / Use
/learn @rnons/HadouRexREADME
库
doubanfm.hs是doubanfm api的haskell封装。目前还不具备登录功能。
cd doubanfm.hs
cabal install
播放器
HadouRex是doubanfm的CLI客户端,后端调用mpg123进行播放。因此,除了cabal install还需要另外安装mpg123。
HadouRex的代码参考了hmp3和exaile-doubanfm-plugin。
安装
cd HadouRex
cabal install
名为 dourex 的可执行文件会被安装到 .~/.cabal/bin 。
选项
<pre> dourex dourex listen [cid/artist] dourex search keywords dourex hot dourex trending dourex mark cid dourex unmark cid dourex marks </pre>dourex的选项模仿了包管理器。用dourex hot和dourex trending查看热门和上升最快的兆赫。用dourex search搜索兆赫。
注意: dourex listen 后面接的参数,既可以是电台id,也可以是歌手/乐队名。如
dourex listen 1002316
dourex listen "sigur ros"
dourex播放时,可以按h键查看快捷键。
几个可以改进的地方
- 增加登录功能,可以参考fmd
- 作为一种练习,用aeson代替json库进行JSON的解析。aeson的口碑似乎比较好
- 作为一种练习,用http-conduit代替HTTP进行http请求
- 用[mpd]代替mpg123进行音乐播放
- 用
putMVar和getMVar机制,代替mpg123wait函数,可以参考jinkell - 增加歌词,可以考虑geci.me
- 用optparse-applicative进行选项(listen,hot等)的解析。
这几个方面我或多或少知道怎么去实现,不过暂时没有时间去做。
有兴趣的同学可以进行尝试,重要的是有兴趣,不会的地方可以找我探讨(irc #haskell-cn)。
或者如果你想到其它可以改进的地方,也欢迎告诉我。
Related Skills
node-connect
334.5kDiagnose OpenClaw node connection and pairing failures for Android, iOS, and macOS companion apps
frontend-design
82.2kCreate distinctive, production-grade frontend interfaces with high design quality. Use this skill when the user asks to build web components, pages, or applications. Generates creative, polished code that avoids generic AI aesthetics.
openai-whisper-api
334.5kTranscribe audio via OpenAI Audio Transcriptions API (Whisper).
commit-push-pr
82.2kCommit, push, and open a PR
