Skip to content

Commit 894c3c1

Browse files
committed
expose
1 parent 74a5835 commit 894c3c1

File tree

1 file changed

+16
-13
lines changed

1 file changed

+16
-13
lines changed

src/telegram.ts

Lines changed: 16 additions & 13 deletions
Original file line numberDiff line numberDiff line change
@@ -223,7 +223,7 @@ export const getBestPhoneFromContactShared = ({
223223
return phone_number;
224224
};
225225

226-
const abstractMessage = (token: string) =>
226+
const toNormalizedEvent = (token: string) =>
227227
async (
228228
{ text, entities, contact, photo, caption, from }: grammy.Message,
229229
): Promise<ConversationEvent> => ({
@@ -240,7 +240,7 @@ async (
240240
ownPhone: contact && sharedOwnPhone(coerce(from?.id), contact),
241241
});
242242

243-
const handler = <T extends TaskHandler>(
243+
const injectDeps = <T extends TaskHandler>(
244244
telegramToken: string,
245245
id: number,
246246
tgm: Telegram,
@@ -261,6 +261,19 @@ const handler = <T extends TaskHandler>(
261261
injectTyping(makeTyping(tgm, id))<T>,
262262
);
263263

264+
export const telegramInjectDepsAndRun =
265+
(token: string, handler: TaskHandler) => async ({ message }: grammy.Update) =>
266+
message?.from && message.text
267+
? injectDeps(
268+
token,
269+
message.from.id,
270+
new Telegraf(token, {
271+
handlerTimeout: Number.POSITIVE_INFINITY,
272+
}).telegram,
273+
await toNormalizedEvent(token)(message),
274+
)(handler)()
275+
: Promise.resolve();
276+
264277
export const makeTelegramHandler = (
265278
telegramToken: string,
266279
path: string,
@@ -269,16 +282,6 @@ export const makeTelegramHandler = (
269282
{
270283
bounce: true,
271284
predicate: ({ url, method }) => url === path && method === "POST",
272-
handler: async ({ message }: grammy.Update) =>
273-
message?.from && message.text
274-
? handler(
275-
telegramToken,
276-
message.from.id,
277-
new Telegraf(telegramToken, {
278-
handlerTimeout: Number.POSITIVE_INFINITY,
279-
}).telegram,
280-
await abstractMessage(telegramToken)(message),
281-
)(doTask)()
282-
: Promise.resolve(),
285+
handler: telegramInjectDepsAndRun(telegramToken, doTask),
283286
}
284287
);

0 commit comments

Comments
 (0)