Secret soulscreams, because I'm bored
This commit is contained in:
parent
df243d4220
commit
96ba511026
@ -364,6 +364,8 @@ namespace PluralKit.Bot
|
|||||||
await ctx.Execute<MemberEdit>(MemberPrivacy, m => m.Privacy(ctx, target, PrivacyLevel.Private));
|
await ctx.Execute<MemberEdit>(MemberPrivacy, m => m.Privacy(ctx, target, PrivacyLevel.Private));
|
||||||
else if (ctx.Match("public", "shown", "show"))
|
else if (ctx.Match("public", "shown", "show"))
|
||||||
await ctx.Execute<MemberEdit>(MemberPrivacy, m => m.Privacy(ctx, target, PrivacyLevel.Public));
|
await ctx.Execute<MemberEdit>(MemberPrivacy, m => m.Privacy(ctx, target, PrivacyLevel.Public));
|
||||||
|
else if (ctx.Match("soulscream"))
|
||||||
|
await ctx.Execute<Member>(MemberInfo, m => m.Soulscream(ctx, target));
|
||||||
else if (!ctx.HasNext()) // Bare command
|
else if (!ctx.HasNext()) // Bare command
|
||||||
await ctx.Execute<Member>(MemberInfo, m => m.ViewMember(ctx, target));
|
await ctx.Execute<Member>(MemberInfo, m => m.ViewMember(ctx, target));
|
||||||
else
|
else
|
||||||
|
@ -1,9 +1,14 @@
|
|||||||
using System.Linq;
|
|
||||||
using System.Threading.Tasks;
|
using System.Threading.Tasks;
|
||||||
using System.Collections.Generic;
|
using System.Net;
|
||||||
|
using System.Net.Http;
|
||||||
|
using System.Web;
|
||||||
|
|
||||||
using Dapper;
|
using Dapper;
|
||||||
|
|
||||||
|
using DSharpPlus.Entities;
|
||||||
|
|
||||||
|
using Newtonsoft.Json.Linq;
|
||||||
|
|
||||||
using PluralKit.Core;
|
using PluralKit.Core;
|
||||||
|
|
||||||
namespace PluralKit.Bot
|
namespace PluralKit.Bot
|
||||||
@ -13,12 +18,14 @@ namespace PluralKit.Bot
|
|||||||
private readonly IDatabase _db;
|
private readonly IDatabase _db;
|
||||||
private readonly ModelRepository _repo;
|
private readonly ModelRepository _repo;
|
||||||
private readonly EmbedService _embeds;
|
private readonly EmbedService _embeds;
|
||||||
|
private readonly HttpClient _client;
|
||||||
|
|
||||||
public Member(EmbedService embeds, IDatabase db, ModelRepository repo)
|
public Member(EmbedService embeds, IDatabase db, ModelRepository repo, HttpClient client)
|
||||||
{
|
{
|
||||||
_embeds = embeds;
|
_embeds = embeds;
|
||||||
_db = db;
|
_db = db;
|
||||||
_repo = repo;
|
_repo = repo;
|
||||||
|
_client = client;
|
||||||
}
|
}
|
||||||
|
|
||||||
public async Task NewMember(Context ctx) {
|
public async Task NewMember(Context ctx) {
|
||||||
@ -66,5 +73,26 @@ namespace PluralKit.Bot
|
|||||||
var system = await _db.Execute(c => _repo.GetSystem(c, target.System));
|
var system = await _db.Execute(c => _repo.GetSystem(c, target.System));
|
||||||
await ctx.Reply(embed: await _embeds.CreateMemberEmbed(system, target, ctx.Guild, ctx.LookupContextFor(system)));
|
await ctx.Reply(embed: await _embeds.CreateMemberEmbed(system, target, ctx.Guild, ctx.LookupContextFor(system)));
|
||||||
}
|
}
|
||||||
|
|
||||||
|
public async Task Soulscream(Context ctx, PKMember target)
|
||||||
|
{
|
||||||
|
// this is for a meme, please don't take this code seriously. :)
|
||||||
|
|
||||||
|
var name = target.NameFor(ctx.LookupContextFor(target));
|
||||||
|
var encoded = HttpUtility.UrlEncode(name);
|
||||||
|
|
||||||
|
var resp = await _client.GetAsync($"https://onomancer.sibr.dev/api/generateStats2?name={encoded}");
|
||||||
|
if (resp.StatusCode != HttpStatusCode.OK)
|
||||||
|
// lol
|
||||||
|
return;
|
||||||
|
|
||||||
|
var data = JObject.Parse(await resp.Content.ReadAsStringAsync());
|
||||||
|
var scream = data["soulscream"]!.Value<string>();
|
||||||
|
|
||||||
|
var eb = new DiscordEmbedBuilder()
|
||||||
|
.WithColor(DiscordColor.Red)
|
||||||
|
.WithDescription($"[*{scream}*](https://onomancer.sibr.dev/reflect?name={encoded})");
|
||||||
|
await ctx.Reply(embed: eb.Build());
|
||||||
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
Loading…
x
Reference in New Issue
Block a user