Beispiel #1
0
 public async Task HugSlashCommand(InteractionContext ctx,
                                   [Option("user", "The user to hug")] DiscordUser target = default
                                   )
 {
     if (target == default)
     {
         await ctx.RespondAsync($"{Program.cfgjson.Emoji.BlobHug} \\*gives a tight hug to {ctx.User.Mention}\\*");
     }
     else
     {
         await ctx.RespondAsync($"{Program.cfgjson.Emoji.BlobHug} {target.Mention} was given a tight hug by {ctx.User.Mention}!");
     }
 }
Beispiel #2
0
 public async Task PatSlashCommand(InteractionContext ctx,
                                   [Option("user", "The user to pat")] DiscordUser target = default
                                   )
 {
     if (target == default)
     {
         await ctx.RespondAsync($"{Program.cfgjson.Emoji.BlobPats} \\*gives a big headpat to {ctx.User.Mention}\\*");
     }
     else
     {
         await ctx.RespondAsync($"{Program.cfgjson.Emoji.BlobPats} {target.Mention} was given a big headpat by {ctx.User.Mention}!");
     }
 }
Beispiel #3
0
        public async Task AvatarSlashCommand(InteractionContext ctx,
                                             [Option("user", "The person you want to see the avatar of")] DiscordUser target,
                                             [Choice("default", "default")]
                                             [Choice("jpg", "jpg")]
                                             [Choice("png", "png")]
                                             [Choice("gif", "gif")]
                                             [Choice("webp", "webp")]
                                             [Option("format", "The format of image you want to see.")] string format = "default",
                                             [Option("showGuildAvatar", "Whether to show the Guild avatar. Default is true.")] bool showGuildAvatar = true
                                             )
        {
            string avatarUrl = "";

            try
            {
                if (showGuildAvatar)
                {
                    avatarUrl = await UserOrMemberAvatarURL(target, ctx.Guild, format);
                }
                else
                {
                    avatarUrl = UserAvatarURL(target, format);
                }
            } catch (ArgumentException e)
            {
                await ctx.RespondAsync($"{Program.cfgjson.Emoji.Xmark} {e.Message}", ephemeral : true);

                return;
            }

            DiscordEmbedBuilder embed = new DiscordEmbedBuilder()
                                        .WithColor(new DiscordColor(0xC63B68))
                                        .WithTimestamp(DateTime.UtcNow)
                                        .WithFooter(
                $"Called by {ctx.User.Username}#{ctx.User.Discriminator} ({ctx.User.Id})",
                ctx.User.AvatarUrl
                )
                                        .WithImageUrl(avatarUrl)
                                        .WithAuthor(
                $"Avatar for {target.Username} (Click to open in browser)",
                avatarUrl
                );

            await ctx.RespondAsync(null, embed);
        }