add ci for tg bot
Deploy app frontend / app frontend (push) Failing after 54s
Deploy service couchdb / service couchdb (push) Successful in 38s
Deploy db-migrations / db-migrations (push) Failing after 50s
Deploy service message-delivery-method-web-push / service message-delivery-method-web-push (push) Failing after 1m27s
Deploy service tg-bot / service tg-bot (push) Failing after 44s

This commit is contained in:
2024-12-12 17:45:01 +02:00
parent e07d748e87
commit 7df04c0103
24 changed files with 309 additions and 365 deletions
@@ -9,6 +9,7 @@ import {
} from "../utils/keyboards";
import { createQRCode } from "../../api/qrCodes";
import { generateQRCodeImage } from "../../services/qrGenerator";
import { selectMultipleActions } from "./selectMultipleActions";
// Тип разговора (конверсии)
type MyConversation = Conversation<MyContext>;
@@ -67,34 +68,25 @@ export async function newQRCodeConversation(
return;
}
// 3. Выбор действий, доступных при сканировании
await ctx.reply(
"Выберите одно или несколько действий, которые будут доступны при сканировании этого QR-кода:",
{
reply_markup: {
inline_keyboard: buildActionsKeyboard([
{ action: "sendMessage", label: "Отправить сообщение" },
{ action: "viewContactInfo", label: "Посмотреть контактные данные" },
]),
},
},
// 3. Выбор действий
const availableActions = [
{ action: "sendMessage", label: "📩 Отправить сообщение" },
{ action: "viewContactInfo", label: "📞 Посмотреть контактные данные" },
] as const;
const chosenActions = await selectMultipleActions(
conversation,
ctx,
availableActions,
);
const actionsMsg = await conversation.waitFor("callback_query:data");
const chosenAction = actionsMsg.update.callback_query?.data;
if (!chosenAction) {
await ctx.reply("Вы не выбрали действие. Попробуйте снова /new.");
if (chosenActions.length === 0) {
await ctx.reply("Вы не выбрали ни одного действия. Попробуйте снова /new.");
return;
}
// Подтверждаем выбор
await actionsMsg.answerCallbackQuery({ text: "Действие выбрано!" });
// Пока для MVP можно выбрать только одно действие, в будущем можно расширить
const chosenActions = [chosenAction];
// 4. Создание документа в БД
const { url, uri } = await createQRCode({
const { url } = await createQRCode({
userUuid,
name,
placement: typedPlacement,