Lots of work regarding using embeds instead of plain text for messages
This commit is contained in:
parent
b849c1b734
commit
65094f39b2
|
@ -5,10 +5,9 @@
|
||||||
<LangVersion>7.1</LangVersion>
|
<LangVersion>7.1</LangVersion>
|
||||||
</PropertyGroup>
|
</PropertyGroup>
|
||||||
<ItemGroup>
|
<ItemGroup>
|
||||||
<PackageReference Include="Discord.Net" Version="2.0.0-beta" />
|
<PackageReference Include="Discord.Net" Version="2.0.0-beta2-00999" />
|
||||||
<PackageReference Include="Microsoft.NETCore.App" Version="2.1.2" />
|
|
||||||
<PackageReference Include="Newtonsoft.Json" Version="11.0.2" />
|
<PackageReference Include="Newtonsoft.Json" Version="11.0.2" />
|
||||||
<PackageReference Include="Npgsql" Version="4.0.2" />
|
<PackageReference Include="Npgsql" Version="4.0.3" />
|
||||||
<PackageReference Include="StackExchange.Redis" Version="1.2.6" />
|
<PackageReference Include="StackExchange.Redis" Version="1.2.6" />
|
||||||
</ItemGroup>
|
</ItemGroup>
|
||||||
</Project>
|
</Project>
|
|
@ -1,5 +1,8 @@
|
||||||
using System;
|
using System;
|
||||||
|
using System.Collections.Generic;
|
||||||
|
using System.Linq;
|
||||||
using System.Net;
|
using System.Net;
|
||||||
|
using System.Threading;
|
||||||
using System.Threading.Tasks;
|
using System.Threading.Tasks;
|
||||||
using System.Web;
|
using System.Web;
|
||||||
using DeukBot4.APIHandlers;
|
using DeukBot4.APIHandlers;
|
||||||
|
@ -8,6 +11,7 @@ using DeukBot4.MessageHandlers.CommandHandler.RequestStructure;
|
||||||
using DeukBot4.MessageHandlers.Permissions;
|
using DeukBot4.MessageHandlers.Permissions;
|
||||||
using DeukBot4.Utilities;
|
using DeukBot4.Utilities;
|
||||||
using Discord;
|
using Discord;
|
||||||
|
using Discord.Rest;
|
||||||
using Discord.WebSocket;
|
using Discord.WebSocket;
|
||||||
|
|
||||||
namespace DeukBot4.MessageHandlers.CommandHandler
|
namespace DeukBot4.MessageHandlers.CommandHandler
|
||||||
|
@ -20,29 +24,55 @@ namespace DeukBot4.MessageHandlers.CommandHandler
|
||||||
[CommandHelp("Gives basic info on the bot", "Gives basic info on the bot")]
|
[CommandHelp("Gives basic info on the bot", "Gives basic info on the bot")]
|
||||||
public async Task Info(CommandRequest request)
|
public async Task Info(CommandRequest request)
|
||||||
{
|
{
|
||||||
var embed = new EmbedBuilder
|
await request.SendSimpleEmbed("Deukbot", "A bot designed by Deukhoofd for use on the Epsilon server", new[]
|
||||||
{
|
{
|
||||||
Author = new EmbedAuthorBuilder()
|
new EmbedFieldBuilder()
|
||||||
{
|
{
|
||||||
Name = "DeukBot",
|
Name = "Software", Value = "Deukbot 4.0", IsInline = true
|
||||||
Url = "https://gitlab.com/Deukhoofd/DeukBot4/tree/master/DeukBot4/MessageHandlers/CommandHandler"
|
|
||||||
},
|
},
|
||||||
Color = Color.Gold,
|
new EmbedFieldBuilder()
|
||||||
Title = "Deukbot Info",
|
{
|
||||||
Description = "A bot designed by Deukhoofd for use on the Epsilon server",
|
Name = "Creator", Value = "<@84372569012043776>", IsInline = true
|
||||||
Timestamp = DateTime.UtcNow
|
},
|
||||||
};
|
});
|
||||||
embed.AddField("Software", "Deukbot 4.0", true);
|
|
||||||
embed.AddField("Creator", "Deukhoofd#7361", true);
|
|
||||||
|
|
||||||
await request.SendMessageAsync("", embed: embed.Build());
|
|
||||||
}
|
}
|
||||||
|
|
||||||
[Command("ping", PermissionLevel.Everyone)]
|
[Command("ping", PermissionLevel.Everyone)]
|
||||||
[CommandHelp("Simple Ping Pong Response", "Generates a simple Pong response when triggered")]
|
[CommandHelp("Simple Ping Pong Response", "Generates a simple Pong response when triggered")]
|
||||||
public async Task Ping(CommandRequest request)
|
public async Task Ping(CommandRequest request)
|
||||||
{
|
{
|
||||||
await request.SendMessageAsync("Pong");
|
var t1 = DateTimeOffset.UtcNow;
|
||||||
|
var eb = EmbedFactory.GetStandardEmbedBuilder();
|
||||||
|
eb.Title = "Pong";
|
||||||
|
eb.Description = "Pong";
|
||||||
|
eb.Fields = new List<EmbedFieldBuilder>()
|
||||||
|
{
|
||||||
|
new EmbedFieldBuilder()
|
||||||
|
{
|
||||||
|
Name = "Ping between Message and Command Handling",
|
||||||
|
Value = $"{(int)(t1 - request.OriginalMessage.CreatedAt).TotalMilliseconds} ms"
|
||||||
|
}
|
||||||
|
};
|
||||||
|
eb.Footer = new EmbedFooterBuilder()
|
||||||
|
{
|
||||||
|
Text = "Ping can be off a bit due to Discord timestamping"
|
||||||
|
};
|
||||||
|
|
||||||
|
var t2 = DateTimeOffset.UtcNow;
|
||||||
|
var m = await request.SendMessageAsync("", embed: eb.Build());
|
||||||
|
eb.Fields.Add(new EmbedFieldBuilder()
|
||||||
|
{
|
||||||
|
Name = "Time handling embed creation",
|
||||||
|
Value = $"{(t2 - t1).TotalMilliseconds} ms"
|
||||||
|
});
|
||||||
|
eb.Fields.Add(new EmbedFieldBuilder()
|
||||||
|
{
|
||||||
|
Name = "Ping between Bot and Discord",
|
||||||
|
Value = $"{(int)(m.CreatedAt - t2).TotalMilliseconds} ms"
|
||||||
|
});
|
||||||
|
|
||||||
|
|
||||||
|
m.ModifyAsync(properties => { properties.Embed = eb.Build(); });
|
||||||
}
|
}
|
||||||
|
|
||||||
[Command("help", PermissionLevel.Everyone)]
|
[Command("help", PermissionLevel.Everyone)]
|
||||||
|
@ -56,7 +86,8 @@ namespace DeukBot4.MessageHandlers.CommandHandler
|
||||||
{
|
{
|
||||||
if (request.Parameters.Length == 0)
|
if (request.Parameters.Length == 0)
|
||||||
{
|
{
|
||||||
await request.SendMessageAsync(HelpCommandGenerator.GenerateFullHelp(request.RequestPermissions));
|
await request.SendMessageAsync("",
|
||||||
|
embed: HelpCommandGenerator.GenerateFullHelp(request.RequestPermissions));
|
||||||
}
|
}
|
||||||
else
|
else
|
||||||
{
|
{
|
||||||
|
@ -72,14 +103,14 @@ namespace DeukBot4.MessageHandlers.CommandHandler
|
||||||
[CommandParameters(ParameterMatcher.ParameterType.Remainder)]
|
[CommandParameters(ParameterMatcher.ParameterType.Remainder)]
|
||||||
public async Task BotOpinion(CommandRequest request)
|
public async Task BotOpinion(CommandRequest request)
|
||||||
{
|
{
|
||||||
await request.SendMessageAsync(BotOpinions.GetOpinion(request));
|
await request.SendSimpleEmbed("Opinion", BotOpinions.GetOpinion(request));
|
||||||
}
|
}
|
||||||
|
|
||||||
[Command("catfact", PermissionLevel.Everyone)]
|
[Command("catfact", PermissionLevel.Everyone)]
|
||||||
[CommandHelp("Returns a random cat fact", "Returns a random cat fact, powered by https://catfact.ninja/")]
|
[CommandHelp("Returns a random cat fact", "Returns a random cat fact, powered by https://catfact.ninja/")]
|
||||||
public async Task RandomCatFact(CommandRequest request)
|
public async Task RandomCatFact(CommandRequest request)
|
||||||
{
|
{
|
||||||
await request.SendMessageAsync(await CatFactsApi.GetRandomCatFact());
|
await request.SendSimpleEmbed("Cat Fact", await CatFactsApi.GetRandomCatFact());
|
||||||
}
|
}
|
||||||
|
|
||||||
[Command("catpic", PermissionLevel.Everyone)]
|
[Command("catpic", PermissionLevel.Everyone)]
|
||||||
|
|
|
@ -31,7 +31,7 @@ namespace DeukBot4.MessageHandlers.CommandHandler
|
||||||
var user = await request.Parameters[0].AsDiscordUser(channel.Guild);
|
var user = await request.Parameters[0].AsDiscordUser(channel.Guild);
|
||||||
if (user == null)
|
if (user == null)
|
||||||
{
|
{
|
||||||
await request.SendMessageAsync("I can't find that user on the server");
|
await request.SendSimpleEmbed("Kick", "I can't find that user on the server");
|
||||||
return;
|
return;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -41,7 +41,7 @@ namespace DeukBot4.MessageHandlers.CommandHandler
|
||||||
// if the user has sufficient permissions, or is deukbot, warn the user that he's not allowed to do that, and stop
|
// if the user has sufficient permissions, or is deukbot, warn the user that he's not allowed to do that, and stop
|
||||||
if (userPermissions >= PermissionLevel.Helper || user.Id == Program.Client.CurrentUser.Id)
|
if (userPermissions >= PermissionLevel.Helper || user.Id == Program.Client.CurrentUser.Id)
|
||||||
{
|
{
|
||||||
await request.SendMessageAsync("You are not allowed to kick that user");
|
await request.SendSimpleEmbed("Kick", "You are not allowed to kick that user");
|
||||||
return;
|
return;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -54,7 +54,7 @@ namespace DeukBot4.MessageHandlers.CommandHandler
|
||||||
|
|
||||||
// and kick
|
// and kick
|
||||||
await user.KickAsync(reason);
|
await user.KickAsync(reason);
|
||||||
await request.SendMessageAsync($"User was kicked: {user.Username}");
|
await request.SendSimpleEmbed("Kick", $"User was kicked: {user.Username}");
|
||||||
}
|
}
|
||||||
|
|
||||||
[Command("ban", PermissionLevel.Moderator)]
|
[Command("ban", PermissionLevel.Moderator)]
|
||||||
|
@ -75,7 +75,7 @@ namespace DeukBot4.MessageHandlers.CommandHandler
|
||||||
var user = await request.Parameters[0].AsDiscordUser(channel.Guild);
|
var user = await request.Parameters[0].AsDiscordUser(channel.Guild);
|
||||||
if (user == null)
|
if (user == null)
|
||||||
{
|
{
|
||||||
await request.SendMessageAsync("I can't find that user on the server");
|
await request.SendSimpleEmbed("Ban", "I can't find that user on the server");
|
||||||
return;
|
return;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -85,7 +85,7 @@ namespace DeukBot4.MessageHandlers.CommandHandler
|
||||||
// if the user has sufficient permissions, or is deukbot, warn the user that he's not allowed to do that, and stop
|
// if the user has sufficient permissions, or is deukbot, warn the user that he's not allowed to do that, and stop
|
||||||
if (userPermissions >= PermissionLevel.Helper || user.Id == Program.Client.CurrentUser.Id)
|
if (userPermissions >= PermissionLevel.Helper || user.Id == Program.Client.CurrentUser.Id)
|
||||||
{
|
{
|
||||||
await request.SendMessageAsync("You are not allowed to ban that user");
|
await request.SendSimpleEmbed("Ban", "You are not allowed to ban that user");
|
||||||
return;
|
return;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -139,7 +139,7 @@ namespace DeukBot4.MessageHandlers.CommandHandler
|
||||||
var user = await request.Parameters[0].AsDiscordUser(channel.Guild);
|
var user = await request.Parameters[0].AsDiscordUser(channel.Guild);
|
||||||
if (user == null)
|
if (user == null)
|
||||||
{
|
{
|
||||||
await request.SendMessageAsync("I can't find that user on the server");
|
await request.SendSimpleEmbed("Silence", "I can't find that user on the server");
|
||||||
return;
|
return;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -154,7 +154,7 @@ namespace DeukBot4.MessageHandlers.CommandHandler
|
||||||
var silencedRole = channel.Guild.GetRole(silencedRoleId);
|
var silencedRole = channel.Guild.GetRole(silencedRoleId);
|
||||||
if (silencedRole == null)
|
if (silencedRole == null)
|
||||||
{
|
{
|
||||||
await request.SendMessageAsync(
|
await request.SendSimpleEmbed( "Silence",
|
||||||
"Can't find the silenced role. Has it been deleted?");
|
"Can't find the silenced role. Has it been deleted?");
|
||||||
return;
|
return;
|
||||||
}
|
}
|
||||||
|
|
|
@ -20,12 +20,12 @@ namespace DeukBot4.MessageHandlers.CommandHandler
|
||||||
var channelId = request.Parameters[0].AsUlong();
|
var channelId = request.Parameters[0].AsUlong();
|
||||||
if (!channelId.HasValue)
|
if (!channelId.HasValue)
|
||||||
{
|
{
|
||||||
await request.SendMessageAsync($"Invalid channel ID: {request.Parameters[0].AsString()}");
|
await request.SendSimpleEmbed("Send", $"Invalid channel ID: {request.Parameters[0].AsString()}");
|
||||||
return;
|
return;
|
||||||
}
|
}
|
||||||
if (!(Program.Client.GetChannel(channelId.Value) is IMessageChannel channelFind))
|
if (!(Program.Client.GetChannel(channelId.Value) is IMessageChannel channelFind))
|
||||||
{
|
{
|
||||||
await request.SendMessageAsync($"Can't find channel: {channelId.Value}");
|
await request.SendSimpleEmbed("Send", $"Can't find channel: {channelId.Value}");
|
||||||
return;
|
return;
|
||||||
}
|
}
|
||||||
await channelFind.SendMessageAsync(request.Parameters[1].AsString());
|
await channelFind.SendMessageAsync(request.Parameters[1].AsString());
|
||||||
|
@ -40,21 +40,21 @@ namespace DeukBot4.MessageHandlers.CommandHandler
|
||||||
var channelId = request.Parameters[0].AsUlong();
|
var channelId = request.Parameters[0].AsUlong();
|
||||||
if (!channelId.HasValue)
|
if (!channelId.HasValue)
|
||||||
{
|
{
|
||||||
await request.SendMessageAsync($"Invalid channel ID: {request.Parameters[0].AsString()}");
|
await request.SendSimpleEmbed("DM", $"Invalid channel ID: {request.Parameters[0].AsString()}");
|
||||||
return;
|
return;
|
||||||
}
|
}
|
||||||
|
|
||||||
var user = Program.Client.GetUser(channelId.Value);
|
var user = Program.Client.GetUser(channelId.Value);
|
||||||
if (user == null)
|
if (user == null)
|
||||||
{
|
{
|
||||||
await request.SendMessageAsync($"Can't find user: {channelId.Value}");
|
await request.SendSimpleEmbed("DM", $"Can't find user: {channelId.Value}");
|
||||||
return;
|
return;
|
||||||
}
|
}
|
||||||
|
|
||||||
var channel = await user.GetOrCreateDMChannelAsync();
|
var channel = await user.GetOrCreateDMChannelAsync();
|
||||||
if (channel == null)
|
if (channel == null)
|
||||||
{
|
{
|
||||||
await request.SendMessageAsync($"Can't create channel");
|
await request.SendSimpleEmbed("DM", $"Can't create channel");
|
||||||
return;
|
return;
|
||||||
}
|
}
|
||||||
await channel.SendMessageAsync(request.Parameters[1].AsString());
|
await channel.SendMessageAsync(request.Parameters[1].AsString());
|
||||||
|
|
|
@ -72,7 +72,7 @@ namespace DeukBot4.MessageHandlers.CommandHandler
|
||||||
|
|
||||||
if (request.Parameters.Length == 0)
|
if (request.Parameters.Length == 0)
|
||||||
{
|
{
|
||||||
await request.SendMessageAsync(
|
await request.SendSimpleEmbed("Role Permission",
|
||||||
$"You did not give a valid role ID. Use ``!roles`` to list all current server roles, along with their ids");
|
$"You did not give a valid role ID. Use ``!roles`` to list all current server roles, along with their ids");
|
||||||
return;
|
return;
|
||||||
}
|
}
|
||||||
|
@ -80,7 +80,7 @@ namespace DeukBot4.MessageHandlers.CommandHandler
|
||||||
var roleId = request.Parameters[0].AsUlong();
|
var roleId = request.Parameters[0].AsUlong();
|
||||||
if (!roleId.HasValue)
|
if (!roleId.HasValue)
|
||||||
{
|
{
|
||||||
await request.SendMessageAsync(
|
await request.SendSimpleEmbed("Role Permission",
|
||||||
$"You did not give a valid role ID. Use ``!roles`` to list all current server roles, along with their ids");
|
$"You did not give a valid role ID. Use ``!roles`` to list all current server roles, along with their ids");
|
||||||
return;
|
return;
|
||||||
}
|
}
|
||||||
|
@ -88,7 +88,7 @@ namespace DeukBot4.MessageHandlers.CommandHandler
|
||||||
var role = serverChannel.Guild.GetRole(roleId.Value);
|
var role = serverChannel.Guild.GetRole(roleId.Value);
|
||||||
if (role == null)
|
if (role == null)
|
||||||
{
|
{
|
||||||
await request.SendMessageAsync("No role with that id exists on this server");
|
await request.SendSimpleEmbed("Role Permission", "No role with that id exists on this server");
|
||||||
return;
|
return;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -111,7 +111,7 @@ namespace DeukBot4.MessageHandlers.CommandHandler
|
||||||
var val = request.Parameters[0].AsUlong();
|
var val = request.Parameters[0].AsUlong();
|
||||||
if (!val.HasValue)
|
if (!val.HasValue)
|
||||||
{
|
{
|
||||||
await request.SendMessageAsync("Invalid role ID");
|
await request.SendSimpleEmbed("Silenced Role", "Invalid role ID");
|
||||||
return;
|
return;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -121,7 +121,7 @@ namespace DeukBot4.MessageHandlers.CommandHandler
|
||||||
var role = channel.Guild.GetRole(val.Value);
|
var role = channel.Guild.GetRole(val.Value);
|
||||||
if (role == null)
|
if (role == null)
|
||||||
{
|
{
|
||||||
await request.SendMessageAsync("No role by that ID exists on the server");
|
await request.SendSimpleEmbed("Silenced Role", "No role by that ID exists on the server");
|
||||||
return;
|
return;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
|
@ -0,0 +1,30 @@
|
||||||
|
using System;
|
||||||
|
using Discord;
|
||||||
|
|
||||||
|
namespace DeukBot4.MessageHandlers.CommandHandler
|
||||||
|
{
|
||||||
|
public static class EmbedFactory
|
||||||
|
{
|
||||||
|
private static EmbedAuthorBuilder Author;
|
||||||
|
|
||||||
|
public static void Initialize(ISelfUser user)
|
||||||
|
{
|
||||||
|
Author = new EmbedAuthorBuilder()
|
||||||
|
{
|
||||||
|
Name = user.Username,
|
||||||
|
IconUrl = user.GetAvatarUrl(ImageFormat.Png, 128)
|
||||||
|
};
|
||||||
|
}
|
||||||
|
|
||||||
|
public static EmbedBuilder GetStandardEmbedBuilder()
|
||||||
|
{
|
||||||
|
var eb = new EmbedBuilder
|
||||||
|
{
|
||||||
|
Author = Author,
|
||||||
|
Color = Color.Gold,
|
||||||
|
Timestamp = DateTimeOffset.Now
|
||||||
|
};
|
||||||
|
return eb;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
|
@ -7,9 +7,13 @@ namespace DeukBot4.MessageHandlers.CommandHandler
|
||||||
{
|
{
|
||||||
public static class HelpCommandGenerator
|
public static class HelpCommandGenerator
|
||||||
{
|
{
|
||||||
public static string GenerateFullHelp(PermissionLevel level)
|
public static Embed GenerateFullHelp(PermissionLevel level)
|
||||||
{
|
{
|
||||||
var dic = new Dictionary<string, Dictionary<string, string>>();
|
var dic = new Dictionary<string, Dictionary<string, string>>();
|
||||||
|
var eb = EmbedFactory.GetStandardEmbedBuilder();
|
||||||
|
eb.Title = "Help";
|
||||||
|
eb.Description = "Below you will find a list of commands you are able to use. " +
|
||||||
|
"For a more detailed information on a command use ``!help {command}``";
|
||||||
foreach (var command in CommandHandler.Commands)
|
foreach (var command in CommandHandler.Commands)
|
||||||
{
|
{
|
||||||
if (command.Value.Permission > level)
|
if (command.Value.Permission > level)
|
||||||
|
@ -25,17 +29,22 @@ namespace DeukBot4.MessageHandlers.CommandHandler
|
||||||
}
|
}
|
||||||
entry.Add(command.Value.Name, command.Value.ShortHelp);
|
entry.Add(command.Value.Name, command.Value.ShortHelp);
|
||||||
}
|
}
|
||||||
var sb = new StringBuilder();
|
|
||||||
foreach (var entry in dic)
|
foreach (var entry in dic)
|
||||||
{
|
{
|
||||||
sb.Append($"**{entry.Key}**\n");
|
var sectionSb = new StringBuilder();
|
||||||
foreach (var cmd in entry.Value)
|
foreach (var cmd in entry.Value)
|
||||||
{
|
{
|
||||||
sb.Append($"``{cmd.Key}`` - {cmd.Value}\n");
|
sectionSb.Append($"**{cmd.Key}** -- {cmd.Value}\n");
|
||||||
}
|
}
|
||||||
|
eb.Fields.Add(new EmbedFieldBuilder()
|
||||||
|
{
|
||||||
|
Name = entry.Key,
|
||||||
|
Value = sectionSb
|
||||||
|
|
||||||
|
});
|
||||||
}
|
}
|
||||||
|
|
||||||
return sb.ToString();
|
return eb.Build();
|
||||||
}
|
}
|
||||||
|
|
||||||
public static Embed GenerateSpecificHelp(string command, PermissionLevel level)
|
public static Embed GenerateSpecificHelp(string command, PermissionLevel level)
|
||||||
|
@ -46,14 +55,9 @@ namespace DeukBot4.MessageHandlers.CommandHandler
|
||||||
return null;
|
return null;
|
||||||
if (!cmd.HasHelp)
|
if (!cmd.HasHelp)
|
||||||
return null;
|
return null;
|
||||||
|
var eb = EmbedFactory.GetStandardEmbedBuilder();
|
||||||
var eb = new EmbedBuilder
|
eb.Title = cmd.Name;
|
||||||
{
|
eb.Description = cmd.LongHelp;
|
||||||
Title = cmd.Name,
|
|
||||||
Description = cmd.LongHelp,
|
|
||||||
Color = Color.Gold,
|
|
||||||
};
|
|
||||||
|
|
||||||
|
|
||||||
return eb.Build();
|
return eb.Build();
|
||||||
}
|
}
|
||||||
|
|
|
@ -1,9 +1,11 @@
|
||||||
using System;
|
using System;
|
||||||
using System.Collections.Generic;
|
using System.Collections.Generic;
|
||||||
|
using System.Linq;
|
||||||
using System.Text.RegularExpressions;
|
using System.Text.RegularExpressions;
|
||||||
using System.Threading.Tasks;
|
using System.Threading.Tasks;
|
||||||
using DeukBot4.MessageHandlers.Permissions;
|
using DeukBot4.MessageHandlers.Permissions;
|
||||||
using Discord;
|
using Discord;
|
||||||
|
using Discord.Rest;
|
||||||
using Discord.WebSocket;
|
using Discord.WebSocket;
|
||||||
|
|
||||||
namespace DeukBot4.MessageHandlers.CommandHandler.RequestStructure
|
namespace DeukBot4.MessageHandlers.CommandHandler.RequestStructure
|
||||||
|
@ -32,11 +34,21 @@ namespace DeukBot4.MessageHandlers.CommandHandler.RequestStructure
|
||||||
OK, UnknownCommand, Invalid, Forbidden, InvalidParameters
|
OK, UnknownCommand, Invalid, Forbidden, InvalidParameters
|
||||||
}
|
}
|
||||||
|
|
||||||
public async Task SendMessageAsync(string text, bool isTTS = false, Embed embed = null)
|
public Task<RestUserMessage> SendMessageAsync(string text, bool isTTS = false, Embed embed = null)
|
||||||
{
|
{
|
||||||
await OriginalMessage.Channel.SendMessageAsync(text, isTTS, embed);
|
return OriginalMessage.Channel.SendMessageAsync(text, isTTS, embed);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
public Task<RestUserMessage> SendSimpleEmbed(string title, string description, IEnumerable<EmbedFieldBuilder> fields = null)
|
||||||
|
{
|
||||||
|
var eb = EmbedFactory.GetStandardEmbedBuilder();
|
||||||
|
eb.Title = title;
|
||||||
|
eb.Description = description;
|
||||||
|
eb.Fields = fields == null ? new List<EmbedFieldBuilder>() : fields.ToList();
|
||||||
|
return OriginalMessage.Channel.SendMessageAsync("", embed: eb.Build());
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
public static async Task<(CommandRequest, RequestCode, object)> Create(SocketMessage message)
|
public static async Task<(CommandRequest, RequestCode, object)> Create(SocketMessage message)
|
||||||
{
|
{
|
||||||
var originalMessage = message;
|
var originalMessage = message;
|
||||||
|
|
|
@ -151,11 +151,11 @@ namespace DeukBot4.MessageHandlers.CommandHandler
|
||||||
var result = serverTags.AddTag(key, value);
|
var result = serverTags.AddTag(key, value);
|
||||||
if (!result.success)
|
if (!result.success)
|
||||||
{
|
{
|
||||||
cmd.SendMessageAsync("Something went wrong: " + result.result);
|
cmd.SendSimpleEmbed("Tag Creation", "Something went wrong: " + result.result);
|
||||||
}
|
}
|
||||||
else
|
else
|
||||||
{
|
{
|
||||||
cmd.SendMessageAsync("Success! Added tag with key: " + key);
|
cmd.SendSimpleEmbed("Tag Creation","Success! Added tag with key: " + key);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -175,11 +175,11 @@ namespace DeukBot4.MessageHandlers.CommandHandler
|
||||||
var result = serverTags.RemoveTag(key);
|
var result = serverTags.RemoveTag(key);
|
||||||
if (!result.success)
|
if (!result.success)
|
||||||
{
|
{
|
||||||
cmd.SendMessageAsync("Something went wrong: " + result.result);
|
cmd.SendSimpleEmbed("Tag Deletion","Something went wrong: " + result.result);
|
||||||
}
|
}
|
||||||
else
|
else
|
||||||
{
|
{
|
||||||
cmd.SendMessageAsync("Success! Removed tag with key: " + key);
|
cmd.SendSimpleEmbed("Tag Deletion","Success! Removed tag with key: " + key);
|
||||||
}
|
}
|
||||||
|
|
||||||
}
|
}
|
||||||
|
@ -208,11 +208,11 @@ namespace DeukBot4.MessageHandlers.CommandHandler
|
||||||
var result = serverTags.AddTag(keyword, rest);
|
var result = serverTags.AddTag(keyword, rest);
|
||||||
if (!result.success)
|
if (!result.success)
|
||||||
{
|
{
|
||||||
cmd.SendMessageAsync("Something went wrong: " + result.result);
|
cmd.SendSimpleEmbed("Tag Creation", "Something went wrong: " + result.result);
|
||||||
}
|
}
|
||||||
else
|
else
|
||||||
{
|
{
|
||||||
cmd.SendMessageAsync("Success! Added tag with key: " + keyword);
|
cmd.SendSimpleEmbed("Tag Creation","Success! Added tag with key: " + keyword);
|
||||||
}
|
}
|
||||||
return;
|
return;
|
||||||
}
|
}
|
||||||
|
@ -226,11 +226,11 @@ namespace DeukBot4.MessageHandlers.CommandHandler
|
||||||
var result = serverTags.RemoveTag(keyword);
|
var result = serverTags.RemoveTag(keyword);
|
||||||
if (!result.success)
|
if (!result.success)
|
||||||
{
|
{
|
||||||
cmd.SendMessageAsync("Something went wrong: " + result.result);
|
cmd.SendSimpleEmbed("Tag Deletion","Something went wrong: " + result.result);
|
||||||
}
|
}
|
||||||
else
|
else
|
||||||
{
|
{
|
||||||
cmd.SendMessageAsync("Success! Removed tag with key: " + keyword);
|
cmd.SendSimpleEmbed("Tag Deletion","Success! Removed tag with key: " + keyword);
|
||||||
}
|
}
|
||||||
return;
|
return;
|
||||||
}
|
}
|
||||||
|
@ -252,12 +252,9 @@ namespace DeukBot4.MessageHandlers.CommandHandler
|
||||||
return;
|
return;
|
||||||
}
|
}
|
||||||
var tags = serverTags.TagList();
|
var tags = serverTags.TagList();
|
||||||
var eb = new EmbedBuilder
|
var eb = EmbedFactory.GetStandardEmbedBuilder();
|
||||||
{
|
eb.Title = "This Server Has The Following Tags";
|
||||||
Title = "This Server Has The Following Tags:",
|
eb.Description = tags.Join("\n");
|
||||||
Description = tags.Join("\n"),
|
|
||||||
Color = Color.Gold,
|
|
||||||
};
|
|
||||||
cmd.OriginalMessage.Channel.SendMessageAsync("", embed: eb.Build());
|
cmd.OriginalMessage.Channel.SendMessageAsync("", embed: eb.Build());
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
|
@ -63,6 +63,7 @@ namespace DeukBot4
|
||||||
properties.Username = Settings.Username;
|
properties.Username = Settings.Username;
|
||||||
properties.Avatar = new Image("avatar.png");
|
properties.Avatar = new Image("avatar.png");
|
||||||
});
|
});
|
||||||
|
EmbedFactory.Initialize(Client.CurrentUser);
|
||||||
Console.WriteLine(("Joined Guilds: "));
|
Console.WriteLine(("Joined Guilds: "));
|
||||||
foreach (var clientGuild in Client.Guilds)
|
foreach (var clientGuild in Client.Guilds)
|
||||||
{
|
{
|
||||||
|
|
Loading…
Reference in New Issue