better hentai, cleanup, fixes
This commit is contained in:
parent
32e62186a9
commit
f48265d419
@ -155,7 +155,6 @@ namespace NadekoBot.Classes.Music {
|
|||||||
Console.WriteLine("Canceling buffer token");
|
Console.WriteLine("Canceling buffer token");
|
||||||
}
|
}
|
||||||
} catch (Exception ex) { Console.WriteLine($"Canceling buffer token failed {ex}"); }
|
} catch (Exception ex) { Console.WriteLine($"Canceling buffer token failed {ex}"); }
|
||||||
Console.WriteLine("Waiting");
|
|
||||||
await Task.Delay(1000);
|
await Task.Delay(1000);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -371,6 +371,7 @@ namespace NadekoBot.Modules
|
|||||||
.Description("Sets a user for through-bot communication. Only works if server is set.**Owner only**.")
|
.Description("Sets a user for through-bot communication. Only works if server is set.**Owner only**.")
|
||||||
.Parameter("name", ParameterType.Unparsed)
|
.Parameter("name", ParameterType.Unparsed)
|
||||||
.Do(async e => {
|
.Do(async e => {
|
||||||
|
if (e.User.Id != NadekoBot.OwnerID) return;
|
||||||
commsUser = commsServer?.FindUsers(e.GetArg("name")).FirstOrDefault();
|
commsUser = commsServer?.FindUsers(e.GetArg("name")).FirstOrDefault();
|
||||||
if (commsUser != null)
|
if (commsUser != null)
|
||||||
await e.Send("User for comms set.");
|
await e.Send("User for comms set.");
|
||||||
@ -382,6 +383,7 @@ namespace NadekoBot.Modules
|
|||||||
.Description("Sets a server for through-bot communication.**Owner only**.")
|
.Description("Sets a server for through-bot communication.**Owner only**.")
|
||||||
.Parameter("server", ParameterType.Unparsed)
|
.Parameter("server", ParameterType.Unparsed)
|
||||||
.Do(async e => {
|
.Do(async e => {
|
||||||
|
if (e.User.Id != NadekoBot.OwnerID) return;
|
||||||
commsServer = client.FindServers(e.GetArg("server")).FirstOrDefault();
|
commsServer = client.FindServers(e.GetArg("server")).FirstOrDefault();
|
||||||
if (commsServer != null)
|
if (commsServer != null)
|
||||||
await e.Send("Server for comms set.");
|
await e.Send("Server for comms set.");
|
||||||
|
@ -105,25 +105,33 @@ namespace NadekoBot.Modules
|
|||||||
});
|
});
|
||||||
|
|
||||||
cgb.CreateCommand("~hentai")
|
cgb.CreateCommand("~hentai")
|
||||||
.Description("Shows a random image from danbooru with a given tag. Tag is optional but preffered.\n**Usage**: ~hentai yuri")
|
.Description("Shows a random NSFW hentai image from gelbooru and danbooru with a given tag. Tag is optional but preffered.\n**Usage**: ~hentai yuri")
|
||||||
.Parameter("tag", ParameterType.Unparsed)
|
.Parameter("tag", ParameterType.Unparsed)
|
||||||
.Do(async e => {
|
.Do(async e => {
|
||||||
try {
|
string tag = e.GetArg("tag");
|
||||||
var rng = new Random();
|
if (tag == null)
|
||||||
var tag = e.GetArg("tag");
|
tag = "";
|
||||||
|
await e.Send(":heart: Gelbooru: " + GetGelbooruImageLink(tag));
|
||||||
if (tag == "loli") //loli doesn't work for some reason atm
|
await e.Send(":heart: Danbooru: " + GetDanbooruImageLink(tag));
|
||||||
tag = "flat_chest";
|
});
|
||||||
|
cgb.CreateCommand("~danbooru")
|
||||||
var webpage = MakeRequestAndGetResponse($"http://danbooru.donmai.us/posts?page={ rng.Next(0, 30) }&tags={ tag }");
|
.Description("Shows a random hentai image from danbooru with a given tag. Tag is optional but preffered.\n**Usage**: ~hentai yuri")
|
||||||
var matches = Regex.Matches(webpage, "data-large-file-url=\"(?<id>.*)\"");
|
.Parameter("tag", ParameterType.Unparsed)
|
||||||
|
.Do(async e => {
|
||||||
await e.Send($"http://danbooru.donmai.us{ matches[rng.Next(0, matches.Count)].Groups["id"].Value }".ShortenUrl());
|
string tag = e.GetArg("tag");
|
||||||
} catch (Exception) {
|
if (tag == null)
|
||||||
await e.Send("Error ;(");
|
tag = "";
|
||||||
}
|
await e.Send(GetDanbooruImageLink(tag));
|
||||||
|
});
|
||||||
|
cgb.CreateCommand("~gelbooru")
|
||||||
|
.Description("Shows a random hentai image from gelbooru with a given tag. Tag is optional but preffered.\n**Usage**: ~hentai yuri")
|
||||||
|
.Parameter("tag", ParameterType.Unparsed)
|
||||||
|
.Do(async e => {
|
||||||
|
string tag = e.GetArg("tag");
|
||||||
|
if (tag == null)
|
||||||
|
tag = "";
|
||||||
|
await e.Send(GetGelbooruImageLink(tag));
|
||||||
});
|
});
|
||||||
|
|
||||||
cgb.CreateCommand("lmgtfy")
|
cgb.CreateCommand("lmgtfy")
|
||||||
.Description("Google something for an idiot.")
|
.Description("Google something for an idiot.")
|
||||||
.Parameter("ffs", ParameterType.Unparsed)
|
.Parameter("ffs", ParameterType.Unparsed)
|
||||||
@ -226,6 +234,38 @@ namespace NadekoBot.Modules
|
|||||||
return toReturn;
|
return toReturn;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
public string GetDanbooruImageLink(string tag) {
|
||||||
|
try {
|
||||||
|
var rng = new Random();
|
||||||
|
|
||||||
|
if (tag == "loli") //loli doesn't work for some reason atm
|
||||||
|
tag = "flat_chest";
|
||||||
|
|
||||||
|
var webpage = MakeRequestAndGetResponse($"http://danbooru.donmai.us/posts?page={ rng.Next(0, 30) }&tags={ tag.Replace(" ","_") }");
|
||||||
|
var matches = Regex.Matches(webpage, "data-large-file-url=\"(?<id>.*?)\"");
|
||||||
|
|
||||||
|
return $"http://danbooru.donmai.us{ matches[rng.Next(0, matches.Count)].Groups["id"].Value }".ShortenUrl();
|
||||||
|
} catch (Exception) {
|
||||||
|
return null;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
public string GetGelbooruImageLink(string tag) {
|
||||||
|
try {
|
||||||
|
var rng = new Random();
|
||||||
|
var url = $"http://gelbooru.com/index.php?page=post&s=list&pid={ rng.Next(0, 15) * 42 }&tags={ tag.Replace(" ", "_") }";
|
||||||
|
var webpage = MakeRequestAndGetResponse(url); // first extract the post id and go to that posts page
|
||||||
|
var matches = Regex.Matches(webpage, "span id=\"s(?<id>\\d*)\"");
|
||||||
|
var postLink = $"http://gelbooru.com/index.php?page=post&s=view&id={ matches[rng.Next(0, matches.Count)].Groups["id"].Value }";
|
||||||
|
webpage = MakeRequestAndGetResponse(postLink);
|
||||||
|
//now extract the image from post page
|
||||||
|
var match = Regex.Match(webpage, "\"(?<url>http://simg4.gelbooru.com//images.*?)\"");
|
||||||
|
return match.Groups["url"].Value;
|
||||||
|
} catch (Exception) {
|
||||||
|
return null;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
public static string ShortenUrl(string url)
|
public static string ShortenUrl(string url)
|
||||||
{
|
{
|
||||||
if (NadekoBot.GoogleAPIKey == null || NadekoBot.GoogleAPIKey == "") return url;
|
if (NadekoBot.GoogleAPIKey == null || NadekoBot.GoogleAPIKey == "") return url;
|
||||||
|
Loading…
Reference in New Issue
Block a user