.say command added. Requires manage messages permission

This commit is contained in:
Master Kwoth 2017-09-27 17:25:54 +02:00
parent 94fb819232
commit 99a2c46038
2 changed files with 43 additions and 0 deletions

View File

@ -20,6 +20,8 @@ using NadekoBot.Common;
using NadekoBot.Common.Attributes; using NadekoBot.Common.Attributes;
using NadekoBot.Modules.Searches.Common; using NadekoBot.Modules.Searches.Common;
using NadekoBot.Modules.Searches.Services; using NadekoBot.Modules.Searches.Services;
using NadekoBot.Common.Replacements;
using Discord.WebSocket;
namespace NadekoBot.Modules.Searches namespace NadekoBot.Modules.Searches
{ {
@ -34,6 +36,40 @@ namespace NadekoBot.Modules.Searches
_google = google; _google = google;
} }
[NadekoCommand, Usage, Description, Aliases]
[RequireContext(ContextType.Guild)]
[RequireUserPermission(GuildPermission.ManageMessages)]
public async Task Say([Remainder]string message)
{
if (string.IsNullOrWhiteSpace(message))
return;
var rep = new ReplacementBuilder()
.WithDefault(Context.User, Context.Channel, Context.Guild, (DiscordSocketClient)Context.Client)
.Build();
if (CREmbed.TryParse(message, out var embedData))
{
rep.Replace(embedData);
try
{
await Context.Channel.EmbedAsync(embedData.ToEmbed(), embedData.PlainText?.SanitizeMentions() ?? "").ConfigureAwait(false);
}
catch (Exception ex)
{
_log.Warn(ex);
}
}
else
{
var msg = rep.Replace(message);
if (!string.IsNullOrWhiteSpace(msg))
{
await Context.Channel.SendConfirmAsync(msg).ConfigureAwait(false);
}
}
}
[NadekoCommand, Usage, Description, Aliases] [NadekoCommand, Usage, Description, Aliases]
public async Task Weather([Remainder] string query) public async Task Weather([Remainder] string query)
{ {

View File

@ -2995,5 +2995,12 @@
"usage": [ "usage": [
"{0}ecr 123 I'm a magical girl" "{0}ecr 123 I'm a magical girl"
] ]
},
"say": {
"cmd": "say",
"desc": "Bot will send the message you typed in this channel. Supports embeds.",
"usage": [
"{0}say hi"
]
} }
} }