2019-01-31 10:52:08 +00:00
|
|
|
|
using System.Threading.Tasks;
|
2018-05-18 11:36:20 +00:00
|
|
|
|
using DeukBot4.MessageHandlers.CommandHandler.RequestStructure;
|
|
|
|
|
using DeukBot4.MessageHandlers.Permissions;
|
|
|
|
|
using Discord;
|
|
|
|
|
|
|
|
|
|
namespace DeukBot4.MessageHandlers.CommandHandler
|
|
|
|
|
{
|
|
|
|
|
public class OwnerCommands : CommandContainerBase
|
|
|
|
|
{
|
|
|
|
|
public override string Name => "Owner";
|
|
|
|
|
|
|
|
|
|
[Command("send", PermissionLevel.BotCreator)]
|
|
|
|
|
[CommandParameters(ParameterMatcher.ParameterType.Number, ParameterMatcher.ParameterType.Remainder)]
|
|
|
|
|
public async Task SendMessage(CommandRequest request)
|
|
|
|
|
{
|
|
|
|
|
if (request.Parameters.Length < 2)
|
|
|
|
|
return;
|
|
|
|
|
var channelId = request.Parameters[0].AsUlong();
|
|
|
|
|
if (!channelId.HasValue)
|
|
|
|
|
{
|
2018-10-08 14:50:23 +00:00
|
|
|
|
await request.SendSimpleEmbed("Send", $"Invalid channel ID: {request.Parameters[0].AsString()}");
|
2018-05-18 11:36:20 +00:00
|
|
|
|
return;
|
|
|
|
|
}
|
|
|
|
|
if (!(Program.Client.GetChannel(channelId.Value) is IMessageChannel channelFind))
|
|
|
|
|
{
|
2018-10-08 14:50:23 +00:00
|
|
|
|
await request.SendSimpleEmbed("Send", $"Can't find channel: {channelId.Value}");
|
2018-05-18 11:36:20 +00:00
|
|
|
|
return;
|
|
|
|
|
}
|
|
|
|
|
await channelFind.SendMessageAsync(request.Parameters[1].AsString());
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
[Command("dm", PermissionLevel.BotCreator)]
|
|
|
|
|
[CommandParameters(ParameterMatcher.ParameterType.Number, ParameterMatcher.ParameterType.Remainder)]
|
2019-01-31 10:52:08 +00:00
|
|
|
|
public async Task DmMessage(CommandRequest request)
|
2018-05-18 11:36:20 +00:00
|
|
|
|
{
|
|
|
|
|
if (request.Parameters.Length < 2)
|
|
|
|
|
return;
|
|
|
|
|
var channelId = request.Parameters[0].AsUlong();
|
|
|
|
|
if (!channelId.HasValue)
|
|
|
|
|
{
|
2018-10-08 14:50:23 +00:00
|
|
|
|
await request.SendSimpleEmbed("DM", $"Invalid channel ID: {request.Parameters[0].AsString()}");
|
2018-05-18 11:36:20 +00:00
|
|
|
|
return;
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
var user = Program.Client.GetUser(channelId.Value);
|
|
|
|
|
if (user == null)
|
|
|
|
|
{
|
2018-10-08 14:50:23 +00:00
|
|
|
|
await request.SendSimpleEmbed("DM", $"Can't find user: {channelId.Value}");
|
2018-05-18 11:36:20 +00:00
|
|
|
|
return;
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
var channel = await user.GetOrCreateDMChannelAsync();
|
|
|
|
|
if (channel == null)
|
|
|
|
|
{
|
2018-10-08 14:50:23 +00:00
|
|
|
|
await request.SendSimpleEmbed("DM", $"Can't create channel");
|
2018-05-18 11:36:20 +00:00
|
|
|
|
return;
|
|
|
|
|
}
|
|
|
|
|
await channel.SendMessageAsync(request.Parameters[1].AsString());
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
}
|
|
|
|
|
}
|