47 friend class discord_core_internal::sound_cloud_api;
48 friend class discord_core_internal::you_tube_api;
49 friend class voice_connection;
50 friend class guild_cache_data;
51 friend class guild_data;
53 discord_core_internal::event<co_routine<void, false>, song_completion_event_data> onSongCompletionEvent{};
54 unbounded_message_block<audio_frame_data> audioDataBuffer{};
55 discord_core_internal::event_delegate_token eventToken{};
57 song_api(snowflake guildId);
61 void onSongCompletion(std::function<co_routine<void, false>(song_completion_event_data)> handler);
66 bool skip(
bool wasItAfail =
false);
72 jsonifier::vector<song> searchForSong(jsonifier::string_view searchQuery, uint64_t limit = 20);
77 bool play(song songNew);
81 bool areWeCurrentlyPlaying()
const;
96 co_routine<void, false> taskThread{};
97 std::recursive_mutex accessMutex{};