withMemberInfo

Replaces the Message.member snapshot of this message, keeping the deprecated Message.channelRole in sync with it.

The snapshot is taken verbatim: the same value reaches the in-memory state, the repository cache and the database, so the three cannot disagree. A blanket column update cannot preserve a previously known role, so neither does this.