INNER CODE UNIT · TypeScript
paid
grammyjs/grammY · src/context.ts:250
const paid = normalized.some((r) => r.type === "paid");
return <C extends Context>(ctx: C): ctx is ReactionContext<C> => {
if (!hasMessageReaction(ctx)) return false;
const { old_reaction, new_reaction } = ctx.messageReaction;
// try to find a wanted reaction that is new and not old
for (const reaction of new_reaction) {
// first check if the reaction existed previously
let isOld = false;
if (reaction.type === "emoji") {
for (const old of old_reaction) {
if (old.type !== "emoji") continue;
if (old.emoji === reaction.emoji) {
isOld = true;
break;
}
}
} else if (reaction.type === "custom_emoji") {
for (const old of old_reaction) {