mirror of
https://github.com/PluralKit/PluralKit.git
synced 2026-02-08 23:07:54 +00:00
fix message edit commands, parse DM message links for ids
This commit is contained in:
parent
134855f8f8
commit
a307dd37c4
6 changed files with 74 additions and 47 deletions
|
|
@ -282,7 +282,8 @@ public partial class CommandTree
|
|||
Commands.MessageInfo(var param, var flags) => ctx.Execute<ProxiedMessage>(Message, m => m.GetMessage(ctx, param.target.MessageId, flags.GetReplyFormat(), flags.delete, flags.author)),
|
||||
Commands.MessageAuthor(var param, var flags) => ctx.Execute<ProxiedMessage>(Message, m => m.GetMessage(ctx, param.target.MessageId, flags.GetReplyFormat(), false, true)),
|
||||
Commands.MessageDelete(var param, var flags) => ctx.Execute<ProxiedMessage>(Message, m => m.GetMessage(ctx, param.target.MessageId, flags.GetReplyFormat(), true, false)),
|
||||
Commands.MessageEdit(var param, var flags) => ctx.Execute<ProxiedMessage>(MessageEdit, m => m.EditMessage(ctx, param.target.MessageId, param.new_content, flags.regex, flags.mutate_space, flags.append, flags.prepend, flags.clear_embeds, flags.clear_attachments)),
|
||||
Commands.MessageEditSpecified(var param, var flags) => ctx.Execute<ProxiedMessage>(MessageEdit, m => m.EditMessage(ctx, param.target.MessageId, param.new_content, flags.regex, flags.mutate_space, flags.append, flags.prepend, flags.clear_embeds, flags.clear_attachments)),
|
||||
Commands.MessageEdit(var param, var flags) => ctx.Execute<ProxiedMessage>(MessageEdit, m => m.EditMessage(ctx, null, param.new_content, flags.regex, flags.mutate_space, flags.append, flags.prepend, flags.clear_embeds, flags.clear_attachments)),
|
||||
Commands.MessageReproxySpecified(var param, _) => ctx.Execute<ProxiedMessage>(MessageReproxy, m => m.ReproxyMessage(ctx, param.msg.MessageId, param.member)),
|
||||
Commands.MessageReproxy(var param, _) => ctx.Execute<ProxiedMessage>(MessageReproxy, m => m.ReproxyMessage(ctx, null, param.member)),
|
||||
Commands.Import(var param, var flags) => ctx.Execute<ImportExport>(Import, m => m.Import(ctx, param.url, flags.yes)),
|
||||
|
|
|
|||
|
|
@ -9,24 +9,24 @@ namespace PluralKit.Bot;
|
|||
// corresponds to the ffi Paramater type, but with stricter types (also avoiding exposing ffi types!)
|
||||
public abstract record Parameter()
|
||||
{
|
||||
public record MemberRef(PKMember member): Parameter;
|
||||
public record MemberRefs(List<PKMember> members): Parameter;
|
||||
public record GroupRef(PKGroup group): Parameter;
|
||||
public record GroupRefs(List<PKGroup> groups): Parameter;
|
||||
public record SystemRef(PKSystem system): Parameter;
|
||||
public record UserRef(User user): Parameter;
|
||||
public record MessageRef(Message.Reference message): Parameter;
|
||||
public record ChannelRef(Channel channel): Parameter;
|
||||
public record GuildRef(Guild guild): Parameter;
|
||||
public record MemberPrivacyTarget(MemberPrivacySubject target): Parameter;
|
||||
public record GroupPrivacyTarget(GroupPrivacySubject target): Parameter;
|
||||
public record SystemPrivacyTarget(SystemPrivacySubject target): Parameter;
|
||||
public record PrivacyLevel(Core.PrivacyLevel level): Parameter;
|
||||
public record Toggle(bool value): Parameter;
|
||||
public record Opaque(string value): Parameter;
|
||||
public record Number(int value): Parameter;
|
||||
public record Avatar(ParsedImage avatar): Parameter;
|
||||
public record ProxySwitchAction(SystemConfig.ProxySwitchAction action): Parameter;
|
||||
public record MemberRef(PKMember member) : Parameter;
|
||||
public record MemberRefs(List<PKMember> members) : Parameter;
|
||||
public record GroupRef(PKGroup group) : Parameter;
|
||||
public record GroupRefs(List<PKGroup> groups) : Parameter;
|
||||
public record SystemRef(PKSystem system) : Parameter;
|
||||
public record UserRef(User user) : Parameter;
|
||||
public record MessageRef(Message.Reference message) : Parameter;
|
||||
public record ChannelRef(Channel channel) : Parameter;
|
||||
public record GuildRef(Guild guild) : Parameter;
|
||||
public record MemberPrivacyTarget(MemberPrivacySubject target) : Parameter;
|
||||
public record GroupPrivacyTarget(GroupPrivacySubject target) : Parameter;
|
||||
public record SystemPrivacyTarget(SystemPrivacySubject target) : Parameter;
|
||||
public record PrivacyLevel(Core.PrivacyLevel level) : Parameter;
|
||||
public record Toggle(bool value) : Parameter;
|
||||
public record Opaque(string value) : Parameter;
|
||||
public record Number(int value) : Parameter;
|
||||
public record Avatar(ParsedImage avatar) : Parameter;
|
||||
public record ProxySwitchAction(SystemConfig.ProxySwitchAction action) : Parameter;
|
||||
}
|
||||
|
||||
public class Parameters
|
||||
|
|
@ -48,6 +48,10 @@ public class Parameters
|
|||
_cb = command.@commandRef;
|
||||
_flags = command.@flags;
|
||||
_params = command.@params;
|
||||
foreach (var param in _params)
|
||||
{
|
||||
Console.WriteLine($"{param.Key}: {param.Value}");
|
||||
}
|
||||
}
|
||||
else
|
||||
{
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue