UNPKG

@grammyjs/hydrate

Version:
109 lines (108 loc) 4.47 kB
"use strict"; Object.defineProperty(exports, "__esModule", { value: true }); exports.installMessageMethods = installMessageMethods; function installMessageMethods(api, message) { const methods = { forward: (chat_id, other, signal) => api.forwardMessage({ chat_id, from_chat_id: message.chat.id, message_id: message.message_id, ...other, }, signal), copy: (chat_id, other, signal) => api.copyMessage({ chat_id, from_chat_id: message.chat.id, message_id: message.message_id, ...other, }, signal), pin: (other, signal) => api.pinChatMessage({ business_connection_id: message.business_connection_id, chat_id: message.chat.id, message_id: message.message_id, ...other, }, signal), unpin: (other, signal) => api.unpinChatMessage({ business_connection_id: message.business_connection_id, chat_id: message.chat.id, message_id: message.message_id, ...other, }, signal), delete: (signal) => api.deleteMessage({ chat_id: message.chat.id, message_id: message.message_id, }, signal), editReplyMarkup: (reply_markup, signal) => api.editMessageReplyMarkup({ business_connection_id: message.business_connection_id, chat_id: message.chat.id, message_id: message.message_id, reply_markup, }, signal), editText: (text, other, signal) => api.editMessageText({ business_connection_id: message.business_connection_id, chat_id: message.chat.id, message_id: message.message_id, text, ...other, }, signal), editLiveLocation: (latitude, longitude, other, signal) => api.editMessageLiveLocation({ business_connection_id: message.business_connection_id, chat_id: message.chat.id, message_id: message.message_id, latitude, longitude, ...other, }, signal), stopLiveLocation: (other, signal) => api.stopMessageLiveLocation({ business_connection_id: message.business_connection_id, chat_id: message.chat.id, message_id: message.message_id, ...other, }, signal), editCaption: (caption, other, signal) => api.editMessageCaption({ business_connection_id: message.business_connection_id, chat_id: message.chat.id, message_id: message.message_id, caption, ...other, }, signal), editMedia: (media, other, signal) => api.editMessageMedia({ business_connection_id: message.business_connection_id, chat_id: message.chat.id, message_id: message.message_id, media, ...other, }, signal), react: (reaction, other, signal) => api.setMessageReaction({ chat_id: message.chat.id, message_id: message.message_id, reaction: typeof reaction === "string" ? [{ type: "emoji", emoji: reaction }] : (Array.isArray(reaction) ? reaction : [reaction]) .map((emoji) => typeof emoji === "string" ? { type: "emoji", emoji } : emoji), ...other, }, signal), getCustomEmojiStickers: async (signal) => { var _a; const entities = (_a = message.entities) !== null && _a !== void 0 ? _a : message.caption_entities; if (entities === undefined || entities.length === 0) return []; const identifiers = entities .filter((e) => e.type === "custom_emoji") .map((e) => e.custom_emoji_id); return await api.getCustomEmojiStickers({ custom_emoji_ids: identifiers }, signal); }, approveSuggestedPost: (other, signal) => api.approveSuggestedPost({ chat_id: message.chat.id, message_id: message.message_id, ...other, }, signal), declineSuggestedPost: (other, signal) => api.declineSuggestedPost({ chat_id: message.chat.id, message_id: message.message_id, ...other, }, signal), }; Object.assign(message, methods); }