reactions.ts•1.07 kB
import { SlackClientWrapper } from '../utils/slack-client.js';
import { addReactionSchema, removeReactionSchema } from '../utils/validators.js';
export async function addReaction(client: SlackClientWrapper, args: unknown) {
const params = addReactionSchema.parse(args);
return await client.safeCall(async () => {
await client.getClient().reactions.add({
channel: params.channel,
timestamp: params.timestamp,
name: params.name,
});
return {
ok: true,
channel: params.channel,
timestamp: params.timestamp,
reaction: params.name,
};
});
}
export async function removeReaction(client: SlackClientWrapper, args: unknown) {
const params = removeReactionSchema.parse(args);
return await client.safeCall(async () => {
await client.getClient().reactions.remove({
channel: params.channel,
timestamp: params.timestamp,
name: params.name,
});
return {
ok: true,
channel: params.channel,
timestamp: params.timestamp,
reaction: params.name,
};
});
}