react command added
This commit is contained in:
parent
29de185cba
commit
8274a22f1b
8 changed files with 180 additions and 76 deletions
|
|
@ -3,16 +3,18 @@ using DSharpPlus.CommandsNext.Attributes;
|
|||
using System.Threading.Tasks;
|
||||
using System.Linq;
|
||||
|
||||
public class HasAdminRole : CheckBaseAttribute
|
||||
namespace T3k3rg0.Commands
|
||||
{
|
||||
public override async Task<bool> ExecuteCheckAsync(CommandContext ctx, bool help)
|
||||
public class HasAdminRole : CheckBaseAttribute
|
||||
{
|
||||
bool hasAdminRole = ctx.Member?.Roles.Any(role => role.Name == "Admin") ?? false;
|
||||
if (!hasAdminRole)
|
||||
public override async Task<bool> ExecuteCheckAsync(CommandContext ctx, bool help)
|
||||
{
|
||||
await ctx.RespondAsync("Csicskáknak kuss van !");
|
||||
bool hasAdminRole = ctx.Member?.Roles.Any(role => role.Name == "Admin") ?? false;
|
||||
if (!hasAdminRole)
|
||||
{
|
||||
await ctx.RespondAsync("Csicskáknak kuss van !");
|
||||
}
|
||||
return (hasAdminRole);
|
||||
}
|
||||
return (hasAdminRole);
|
||||
}
|
||||
}
|
||||
|
||||
|
|
|
|||
36
commands/react.cs
Normal file
36
commands/react.cs
Normal file
|
|
@ -0,0 +1,36 @@
|
|||
using DSharpPlus.CommandsNext;
|
||||
using DSharpPlus.CommandsNext.Attributes;
|
||||
using System.Threading.Tasks;
|
||||
using T3k3rg0.Helpers;
|
||||
|
||||
namespace T3k3rg0.Commands
|
||||
{
|
||||
public class React : BaseCommandModule
|
||||
{
|
||||
[Command("react")]
|
||||
[Description("Reagál egy üzenetre ! react <csatorna> <üzenet> <emoji>")]
|
||||
[HasAdminRole]
|
||||
public async Task ReactToMessage(CommandContext ctx, string channelInput, string messageInput, string emojiInput)
|
||||
{
|
||||
var channel = await IdExtractor.ExtractChannelId(channelInput, ctx.Client);
|
||||
if (channel == null)
|
||||
{
|
||||
return;
|
||||
}
|
||||
|
||||
var message = await IdExtractor.ExtractMessageId(messageInput, channel);
|
||||
if (message == null)
|
||||
{
|
||||
return;
|
||||
}
|
||||
|
||||
var emoji = await EmojiExtractor.ExtractAsync(emojiInput, ctx.Client);
|
||||
if (emoji == null)
|
||||
{
|
||||
await ctx.RespondAsync("Nem sikerült felismerni az emojit.");
|
||||
return;
|
||||
}
|
||||
await message.CreateReactionAsync(emoji);
|
||||
}
|
||||
}
|
||||
}
|
||||
|
|
@ -1,26 +1,24 @@
|
|||
using DSharpPlus.CommandsNext;
|
||||
using DSharpPlus.CommandsNext.Attributes;
|
||||
using System.Threading.Tasks;
|
||||
using T3k3rg0.Helpers;
|
||||
|
||||
namespace T3k3rg0.Commands
|
||||
{
|
||||
public class Send : BaseCommandModule
|
||||
{
|
||||
[Command("sendmsg")]
|
||||
[Description("Üzenetet küld ! sendmsg <csatorna> <üzenet>")]
|
||||
[Command("send")]
|
||||
[Description("Üzenetet küld ! send <csatorna> <szöveg>")]
|
||||
[HasAdminRole]
|
||||
public async Task SendAsync(CommandContext ctx, string channelParam, [RemainingText] string message)
|
||||
public async Task SendAsync(CommandContext ctx, string channelInput, [RemainingText] string message)
|
||||
{
|
||||
// Használjuk a ChannelHelper-t a csatorna kezeléséhez
|
||||
var channel = await IdExtractor.GetChannelAsync(ctx, channelParam);
|
||||
var channel = await IdExtractor.ExtractChannelId(channelInput, ctx.Client);
|
||||
|
||||
if (channel == null)
|
||||
{
|
||||
// Ha a csatorna érvénytelen, a ChannelHelper már válaszolt, itt nem kell további kód.
|
||||
return;
|
||||
}
|
||||
|
||||
// Üzenet küldése a megtalált csatornára
|
||||
await channel.SendMessageAsync(message);
|
||||
}
|
||||
}
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue