How damantha126/anki-vector-music works
Anki Vector Music is a Telegram bot for playing requested music in group and channel voice chats. Users request or search for tracks; the bot obtains audio, converts it for streaming, and controls playback and queued tracks. Separate command modules provide playback controls, channel playback and administration, alongside userbot joining and song lookup. The README also advertises Deezer/Saavn, playlists, thumbnails and a settings panel; their implementations were not sampled, so those capabilities are represented only where documented. Relationships involving unsampled modules are omitted unless documented.
Main entry points: play.py Group playback · channelplay.py Channel playback · callsmusic.py Voice-chat playback · queues.py Track queues
Components 19
Requests and commands
- Group playback
AnkiVectorMusic/modules/play.py - Channel playback
AnkiVectorMusic/modules/channelplay.py - Song lookup
AnkiVectorMusic/modules/song.py - YouTube search
AnkiVectorMusic/modules/ytsearch.py - Playback administration
AnkiVectorMusic/modules/admins.py - Channel administration
AnkiVectorMusic/modules/channeladmin.py
Audio preparation
- YouTube downloader
AnkiVectorMusic/services/downloaders/youtube.py - Audio converter
AnkiVectorMusic/services/converter/converter.py - Track artwork
AnkiVectorMusic/modules/play.py
Streaming and queues
- Voice-chat playback
AnkiVectorMusic/services/callsmusic/callsmusic.py - Track queues
AnkiVectorMusic/services/queues/queues.py
Access and channel support
- Channel music routing
AnkiVectorMusic/helpers/channelmusic.py - Userbot joining
AnkiVectorMusic/modules/userbotjoin.py - Admin authorization
AnkiVectorMusic/helpers/admins.py - Admin cache
AnkiVectorMusic/function/admins.py - Voice-chat end handler
AnkiVectorMusic/modules/voice_chat_ended.py
Other components
- Telegram users
- Telegram
- Deezer / Saavn
Connections 22
- Telegram users → Telegram: send commands
README.md - Telegram → Group playback: routes commands
- Group playback → YouTube downloader: downloads audio
AnkiVectorMusic/modules/play.py - Group playback → Audio converter: converts audio
AnkiVectorMusic/modules/play.py - Group playback → Track artwork: generates artwork
AnkiVectorMusic/modules/play.py - Group playback → Track queues: enqueues tracks
AnkiVectorMusic/modules/play.py - Group playback → Voice-chat playback: starts stream
AnkiVectorMusic/modules/play.py - Channel playback → YouTube downloader: downloads audio
AnkiVectorMusic/modules/channelplay.py - Channel playback → Audio converter: converts audio
AnkiVectorMusic/modules/channelplay.py - Channel playback → Track queues: enqueues tracks
AnkiVectorMusic/modules/channelplay.py - Channel playback → Voice-chat playback: starts stream
AnkiVectorMusic/modules/channelplay.py - Voice-chat playback → Track queues: advances tracks
AnkiVectorMusic/services/callsmusic/callsmusic.py - Song lookup → Group playback: uses playback
AnkiVectorMusic/modules/song.py - Playback administration → Voice-chat playback: controls playback
AnkiVectorMusic/modules/admins.py - Channel administration → Voice-chat playback: controls playback
AnkiVectorMusic/modules/channeladmin.py - Group playback → Admin authorization: checks access
AnkiVectorMusic/modules/play.py - Admin authorization → Admin cache: reads and updates
AnkiVectorMusic/helpers/admins.py - Channel playback → Channel music routing: resolves chat
AnkiVectorMusic/modules/channelplay.py - Voice-chat end handler → Voice-chat playback: handles ended call
AnkiVectorMusic/modules/voice_chat_ended.py - Telegram users → Song lookup: searches tracks
- Channel playback → Userbot joining: may join voice chat
- Deezer / Saavn → Group playback: provides playback
README.md