Skip to content
Open
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
12 changes: 6 additions & 6 deletions EnhancedTwitchIntegration/Bot/ChatCommands.cs
Original file line number Diff line number Diff line change
Expand Up @@ -196,7 +196,7 @@ private string SongSearchFilter(JSONObject song, bool fast = false, SongFilter f
{
string songid = song["id"].Value;

if (filter.HasFlag(SongFilter.AutoMAP) && song["metadata"]["automapper"] != null && RequestBotConfig.Instance.Automap == false) return fast ? "X" : $"{song["songName"].Value} ({song["songlength"].Value}) by {song["authorName"].Value} ({song["version"].Value}) is banned due to being automapped!"; ;
if (filter.HasFlag(SongFilter.AutoMAP) && song["automapper"] == true && RequestBotConfig.Instance.Automap == false) return fast ? "X" : $"{song["songName"].Value} ({song["songlength"].Value}) by {song["authorName"].Value} ({song["version"].Value}) is banned due to being automapped!"; ;

if (filter.HasFlag(SongFilter.Queue) && RequestQueue.Songs.Any(req => req.song["version"] == song["version"])) return fast ? "X" : $"Request {song["songName"].Value} by {song["authorName"].Value} already exists in queue!";

Expand Down Expand Up @@ -270,7 +270,7 @@ private async Task Ban(ParseState state)

if (!RequestBotConfig.Instance.OfflineMode)
{
var requestUrl = $"https://beatsaver.com/api/maps/detail/{id}";
var requestUrl = $"https://api.beatsaver.com/maps/id/{id}";
var resp = await Plugin.WebClient.GetAsync(requestUrl, System.Threading.CancellationToken.None);

if (resp.IsSuccessStatusCode)
Expand Down Expand Up @@ -702,7 +702,7 @@ private async Task makelistfromsearch(ParseState state)

var id = GetBeatSaverId(state.parameter);

string requestUrl = (id != "") ? $"https://beatsaver.com/api/maps/detail/{normalize.RemoveSymbols(ref state.parameter, normalize._SymbolsNoDash)}" : $"https://beatsaver.com/api/search/text";
string requestUrl = (id != "") ? $"https://beatsaver.com/api/maps/id/{normalize.RemoveSymbols(ref state.parameter, normalize._SymbolsNoDash)}" : $"https://beatsaver.com/api/search/text";

//if (RequestBotConfig.Instance.OfflineMode) return;

Expand Down Expand Up @@ -774,7 +774,7 @@ private async Task addsongs(ParseState state)
{

var id = GetBeatSaverId(state.parameter);
string requestUrl = (id != "") ? $"https://beatsaver.com/api/maps/detail/{normalize.RemoveSymbols(ref state.parameter, normalize._SymbolsNoDash)}" : $"https://beatsaver.com/api/search/text/0?q={state.request}";
string requestUrl = (id != "") ? $"https://beatsaver.com/api/maps/id/{normalize.RemoveSymbols(ref state.parameter, normalize._SymbolsNoDash)}" : $"https://beatsaver.com/api/search/text/0?q={state.request}";

string errorMessage = "";

Expand Down Expand Up @@ -924,7 +924,7 @@ private async Task LookupSongs(ParseState state)

if (!RequestBotConfig.Instance.OfflineMode)
{
string requestUrl = (id != "") ? $"https://beatsaver.com/api/maps/detail/{id}" : $"https://beatsaver.com/api/search/text/0?q={normalize.NormalizeBeatSaverString(state.parameter)}";
string requestUrl = (id != "") ? $"https://api.beatsaver.com/maps/id/{id}" : $"https://beatsaver.com/api/search/text/0?q={normalize.NormalizeBeatSaverString(state.parameter)}";
var resp = await Plugin.WebClient.GetAsync(requestUrl, System.Threading.CancellationToken.None);

if (resp.IsSuccessStatusCode)
Expand Down Expand Up @@ -1442,7 +1442,7 @@ public DynamicText AddSong(ref JSONObject song, string prefix = "")

Add("StarRating", GetStarRating(ref song)); // Add additional dynamic properties
Add("Rating", GetRating(ref song));
Add("BeatsaverLink", $"https://beatsaver.com/beatmap/{song["id"].Value}");
Add("BeatsaverLink", $"https://beatsaver.com/maps/{song["id"].Value}");
Add("BeatsaberLink", $"https://bsaber.com/songs/{song["id"].Value}");
return this;
}
Expand Down
17 changes: 11 additions & 6 deletions EnhancedTwitchIntegration/Bot/songdatabase.cs
Original file line number Diff line number Diff line change
Expand Up @@ -73,21 +73,26 @@ public SongMap(JSONObject song, string LevelId = "", string path = "")
{

if (!song["version"].IsString)
{
{
var version_nr = song["versions"].Count - 1;
//RequestBot.Instance.QueueChatMessage($"{song["key"].Value}: {song["metadata"]}");
if (!song["key"].IsString)
{
song.Add("id", song["id"]);
song.Add("version", song["id"]);
song.Add("hash", song["versions"][0]["hash"]);
song.Add("downloadURL", song["versions"][0]["downloadURL"]);
song.Add("coverURL", song["versions"][0]["coverURL"]);
song.Add("previewURL", song["versions"][0]["previewURL"]);
song.Add("hash", song["versions"][version_nr]["hash"]);
song.Add("downloadURL", song["versions"][version_nr]["downloadURL"]);
song.Add("coverURL", song["versions"][version_nr]["coverURL"]);
song.Add("previewURL", song["versions"][version_nr]["previewURL"]);
}
else
{
song.Add("id", song["key"]);
song.Add("version", song["key"]);
song.Add("downloadURL", "https://cdn.beatsaver.com/" + song["hash"] + ".zip");
song.Add("coverURL", "https://cdn.beatsaver.com/" + song["hash"] + ".jpg");
song.Add("previewURL", "https://cdn.beatsaver.com/" + song["hash"] + ".mp3");
song.Add("automapper", song["metadata"]["automapper"]);
}
var metadata = song["metadata"];
song.Add("songName", metadata["songName"].Value);
Expand All @@ -106,7 +111,7 @@ public SongMap(JSONObject song, string LevelId = "", string path = "")
var lenghtlabel = "length";
if (!song["key"].IsString)
{
characteristics = song["versions"][0]["diffs"];
characteristics = song["versions"][version_nr]["diffs"];
lenghtlabel = "seconds";
}

Expand Down
2 changes: 1 addition & 1 deletion EnhancedTwitchIntegration/WebClient.cs
Original file line number Diff line number Diff line change
Expand Up @@ -76,7 +76,7 @@ internal async Task<byte[]> DownloadImage(string url, CancellationToken token)
internal async Task<byte[]> DownloadSong(string url, CancellationToken token, IProgress<double> progress = null)
{
// check if beatsaver url needs to be pre-pended
if (!url.StartsWith(@"https://cdn.beatsaver.com/"))
if (!url.Contains(@"beatsaver.com/"))
{
url = $"https://cdn.beatsaver.com/{url}";
}
Expand Down