diff --git a/SkyBot/Commands/Chill/Hug.cs b/SkyBot/Commands/Chill/Hug.cs index 0d585f7..04e9759 100644 --- a/SkyBot/Commands/Chill/Hug.cs +++ b/SkyBot/Commands/Chill/Hug.cs @@ -117,7 +117,7 @@ namespace SkyBot.Commands Height = height }; - await channel.SendMessageAsync(text, attachments: [attachment]); + await MessageHelper.ReplyAsync(ctx, channel, text, [attachment]); } } } diff --git a/SkyBot/Commands/Chill/Pat.cs b/SkyBot/Commands/Chill/Pat.cs index 95ced12..c023b3d 100644 --- a/SkyBot/Commands/Chill/Pat.cs +++ b/SkyBot/Commands/Chill/Pat.cs @@ -117,7 +117,7 @@ namespace SkyBot.Commands Height = height }; - await channel.SendMessageAsync(text, attachments: [attachment]); + await MessageHelper.ReplyAsync(ctx, channel, text, [attachment]); } } } diff --git a/SkyBot/Helpers/MessageHelper.cs b/SkyBot/Helpers/MessageHelper.cs index 7455e79..bb8af34 100644 --- a/SkyBot/Helpers/MessageHelper.cs +++ b/SkyBot/Helpers/MessageHelper.cs @@ -29,6 +29,24 @@ namespace SkyBot.Helpers return await ctx.Client.MessageService.SendMessage(msg); } + public static async Task> ReplyAsync(CommandContext ctx, Channel channel, string content, List attachments) + { + long? replyToId = ctx.Message.ReplyToId.HasValue ? ctx.Message.ReplyToId : ctx.Message.Id; + + var msg = new Message(ctx.Client) + { + Content = content, + ChannelId = channel.Id, + PlanetId = ctx.Planet.Id, + AuthorUserId = ctx.Client.Me.Id, + AuthorMemberId = channel.Planet?.MyMember.Id, + ReplyToId = replyToId, + Fingerprint = Guid.NewGuid().ToString() + }; + msg.SetAttachments(attachments); + return await ctx.Client.MessageService.SendMessage(msg); + } + public static async Task> EditAsync(Channel channel, Message message, string content) { message.Content = content;