feat(discord): eyes reaction as a read receipt on every admitted message (#1509)
QUEUE row 15, MVP iteration 1 after the Sage pilot. rest.react is best effort (2xx true, anything else false, never throws); the connector reacts at admission before the engine runs and records the outcome in the turn record as receipt. Drops and refusals get no reaction. Suite 28/28, 90 node tests. Co-Authored-By: Claude Fable 5.1 <[email protected]>
This commit is contained in:
@@ -100,6 +100,9 @@ export function fakeRest({ outcomes = [] } = {}) {
|
||||
return {
|
||||
calls,
|
||||
typingCalls: [],
|
||||
reactions: [],
|
||||
// When false, react resolves false (Discord refused the reaction).
|
||||
reactOk: true,
|
||||
channels: new Map(),
|
||||
lookups: 0,
|
||||
// When set, getChannel waits on this promise before answering (held lookup).
|
||||
@@ -116,6 +119,10 @@ export function fakeRest({ outcomes = [] } = {}) {
|
||||
async typing(channelId) {
|
||||
this.typingCalls.push(channelId);
|
||||
},
|
||||
async react(channelId, messageId, emoji) {
|
||||
this.reactions.push({ channelId, messageId, emoji });
|
||||
return this.reactOk;
|
||||
},
|
||||
async getChannel(id) {
|
||||
this.lookups += 1;
|
||||
if (this.holdLookup) await this.holdLookup;
|
||||
|
||||
Reference in New Issue
Block a user