Repository navigation
Ditto v0.4.0
Two big changes: the captcha now looks like reCAPTCHA, and Ditto plays music.
Captcha
- One photo cut into a 4×4 grid, the instruction drawn on the picture — "Select all squares with BUSES" — and sixteen buttons laid out like the squares. The embed carries nothing but the picture.
- The photo pool now keeps the position of every object, so each square is scored: squares the object clearly fills must be ticked; squares it only brushes, or that show a look-alike (a taxi when asked for cars), are accepted either way.
- Every challenge gets a random zoom, offset and mirror, and is fingerprinted so none is served twice.
- Roboto is bundled, so the instruction renders even on hosts without fonts.
- The pool is rebuilt in the new format on first start, reusing the Open Images annotations already downloaded.
Music
/playsuggests songs from YouTube Music as you type; searches return songs only.- YouTube (Shorts and YouTube Music included), SoundCloud, Bandcamp, TikTok, Twitch, X and Instagram links play directly. Spotify, Apple Music, Deezer and Tidal tracks are matched on YouTube Music, as are Spotify, Apple Music and Deezer albums and playlists.
- A player message with pause, skip, stop, loop and queue buttons and a progress bar.
/skipand/stopgo straight through for the requester, staff or a small room, and by vote otherwise. Also/pause,/resume,/queue,/nowplaying,/volume,/loop,/shuffle,/remove,/clearand/lyrics(LRCLIB).- In this version audio goes yt-dlp → FFmpeg → Discord. v0.5.0 moves playback to Lavalink.
Also
- The invite link now asks for Speak, which music needs.
Note
The lookups — YouTube Music search, Spotify, Apple Music and Deezer links, lyrics — and the captcha self-test were checked. Playback in a voice channel was not tested before v0.5.0 replaced the audio path.