FazBrowse GitHub Viewer | Trending |
URL:
| Home
Tools: [Download Repo ZIP]   [Original HTTPS Page]

Broken message in cache after ModifyAsync with added embed · Issue #428 · DSharpPlus/DSharpPlus · GitHub

Broken message in cache after ModifyAsync with added embed #428

Description

Summary

GetMessageAsync returns a message with no Content, if it was previously edited with ModifyAsync to add an embed. (it doesn't reproduce if no embed added on edit)

Details

D#+ 3.2.3 (no custom sockets) (got couple of confirmations it also happens on 4.0 nightly)
.Net Core 2.2

Steps to reproduce

First, add the following commands:

private ulong testMsgId = 0;

[Command("test1")]
public async Task Test1Async(CommandContext ctx)
{
    var  msg1 = await ctx.RespondAsync("test message");
    testMsgId = msg1.Id;

    msg1 = await ctx.Channel.GetMessageAsync(testMsgId);
    await ctx.RespondAsync($"A: {msg1.Author.Username} at {msg1.Timestamp}: \"{msg1.Content}\"");
}

[Command("test2")]
public async Task Test2Async(CommandContext ctx)
{
    if (testMsgId == 0) { return; }

    var msg1 = await ctx.Channel.GetMessageAsync(testMsgId);
    await ctx.RespondAsync($"A: {msg1.Author.Username} at {msg1.Timestamp}: \"{msg1.Content}\"");

    if (msg1.Content != null)
    {
        await msg1.ModifyAsync(
            msg1.Content,
            new DiscordEmbedBuilder { Description = "test", Timestamp = DateTimeOffset.Now }
            );
    }

    msg1 = await ctx.Channel.GetMessageAsync(testMsgId);
    await ctx.RespondAsync($"B: {msg1.Author.Username} at {msg1.Timestamp}: \"{msg1.Content}\"");
}

Then, run them in the following order:

!test1
!test2
!test2

Every command should output "test message" in place of {msg1.Content}. But after first run of .test2 has modified it, on the second run it is empty.

Notes

I hope to have a fix or workaround for 3.2.x, unless you releasing 4.0 like tomorrow.

Activity

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Metadata

Metadata

Assignees

No one assigned

    Type

    No type

    Fields

    No fields configured for issues without a type.

    Projects

    No projects

      Milestone

      Relationships

      None yet

      Development

      No branches or pull requests

      Issue actions


      Back | FazBrowse Home | New Git URL