Files
openclaw/extensions/telegram/src/send.ts
Peter Steinberger 2aa5eee34e feat(channels): custom emoji discovery via emoji-list across Discord, Slack, Telegram (#128435)
* feat(channels): custom emoji discovery via emoji-list across Discord, Slack, Telegram

Make custom emojis discoverable by the agent. The message tool's emoji
param now documents custom-emoji syntax per channel (gate-aware, only
naming emoji-list when the action is actually advertised). Discord
emoji-list defaults guildId from the current conversation and returns
reaction-ready { name, identifier, animated? } entries; Slack returns
normalized shortcodes with aliasOf. Telegram gains emoji-list backed by
one canonical allowed-reactions owner (getChat available_reactions,
custom_emoji entries preserved), numeric custom-emoji reactions, and
replaces the dead 'reaction disallow list' error advice with a bounded
sample of the chat's allowed reactions.

* test(channels): expect telegram emoji-list provider-owned read gate in plugin shape contract

* test(telegram): prove emoji-list authority chain via mock-gateway e2e

Ephemeral gateway + mock Bot API + mock OpenAI provider: current-chat
emoji-list returns normalized standard and custom_emoji identifiers with
exactly one getChat call; a delegated cross-chat request is rejected with
the conversation-binding error and zero Bot API requests reference the
foreign chat.
2026-08-23 20:39:06 -07:00

23 lines
754 B
TypeScript

export { buildInlineKeyboard } from "./inline-keyboard.js";
export {
resetTelegramClientOptionsCacheForTests,
type TelegramApiOverride,
} from "./send-context.js";
export {
deleteMessageTelegram,
getTelegramAllowedReactions,
pinMessageTelegram,
reactMessageTelegram,
sendTypingTelegram,
unpinMessageTelegram,
} from "./send-actions.js";
export {
editForumTopicTelegram,
renameForumTopicTelegram,
createForumTopicTelegram,
} from "./send-forum-topics.js";
export { editMessageReplyMarkupTelegram, editMessageTelegram } from "./send-edit.js";
export { sendLocationTelegram } from "./send-location.js";
export { sendMessageTelegram } from "./send-message.js";
export { sendPollTelegram, sendStickerTelegram } from "./send-special.js";