djsnake

功能

djsnake 在语音频道里能做什么

一个机器人,每个服务器一个队列,频道里的任何人都能打开的网页。

大多数链接直接可用。

直接输入文字也行:机器人会挑 YouTube 上最匹配的结果。

YouTube链接、播放列表和直播
Spotify曲目、专辑和播放列表
SoundCloud、Bandcamp曲目和合集
Deezer、Apple Music曲目、专辑和播放列表
Twitch、电台频道、Icecast、Shoutcast、.pls、.m3u

视频页面

通过机器人在频道中发布的链接打开。

  • 视频和歌词同步

    静音视频与音频同步,来自 LRCLIB 的同步歌词在画面上滚动。

  • 网页控制

    下一首、暂停、跳转、调整顺序、添加链接或按文字搜索。

  • 两个链接

    一个控制链接,以及一个可以放心分享的只读链接。

  • 八种主题

    八种现成外观,还可以用你自己的颜色、名称和徽标。

  • 可作为应用安装

    可添加到主屏幕或桌面。锁屏、耳机和媒体键都能控制它。

  • 收听统计

    按服务器统计热门歌曲和艺人、播放时长和听众峰值。

声音

  • Automix,始终开启

    响度归一化到 -14 LUFS,裁掉静音,曲目淡入淡出。

  • 曲目播放中也能切换滤镜

    低音增强、nightcore、8D、卡拉 OK。曲目不会重新开始。

  • 可选交叉淡入淡出

    用 !crossfade on 为当前会话开启。

队列和控制

  • 每个服务器一个队列

    循环、自动播放、已保存的播放列表、投票跳过、DJ 角色和 24/7 模式。

  • 每条命令两种形式

    每条命令都可以用 ! 或斜杠命令执行。

  • 队列限制

    按服务器设置队列长度、每位成员的曲目数、曲目时长和冷却时间。

  • 四种语言

    机器人和视频页面支持英语、法语、西班牙语和德语。

  • Last.fm(可选)

    每位成员都可以关联账号,记录自己听过的歌曲。

  • 备份和指标

    带校验和的数据备份,开启后还有 Prometheus 指标。

它不做什么

  • 视频最高 720p

    长播放列表默认加载 30 首,也可以选择加载整个列表,最多 200 首。

  • 它不直接从 Spotify 播放

    Spotify、Deezer 和 Apple Music 链接会在 YouTube 上匹配,偶尔可能匹配到错误的版本。

  • 较长的 Spotify 列表需要密钥

    没有你自己的 Spotify API 凭据时,列表最多 100 首。私人播放列表无法读取。

  • 个人使用

    请遵守 YouTube 服务条款,并尊重视频作者的权利。

运行 djsnake

在 Discord Developer Portal 创建机器人并设置它的令牌。其余内容见文档。

$ git clone https://github.com/selfhostr/djsnake.git
$ cd djsnake && cp .env.example .env  # set DISCORD_TOKEN
$ docker compose pull && docker compose up -d