mirror of
https://github.com/whekin/household-bot.git
synced 2026-03-31 20:24:03 +00:00
feat(payments): track household payment confirmations
This commit is contained in:
@@ -11,6 +11,7 @@ export const enBotTranslations: BotTranslationCatalog = {
|
||||
bind_purchase_topic: 'Bind the current topic as purchases',
|
||||
bind_feedback_topic: 'Bind the current topic as feedback',
|
||||
bind_reminders_topic: 'Bind the current topic as reminders',
|
||||
bind_payments_topic: 'Bind the current topic as payments',
|
||||
pending_members: 'List pending household join requests',
|
||||
approve_member: 'Approve a pending household member'
|
||||
},
|
||||
@@ -53,7 +54,7 @@ export const enBotTranslations: BotTranslationCatalog = {
|
||||
[
|
||||
`Household ${created ? 'created' : 'already registered'}: ${householdName}`,
|
||||
`Chat ID: ${telegramChatId}`,
|
||||
'Next: open the purchase topic and run /bind_purchase_topic, then open the feedback topic and run /bind_feedback_topic. If you want a dedicated reminders topic, open it and run /bind_reminders_topic.',
|
||||
'Next: open the purchase topic and run /bind_purchase_topic, then open the feedback topic and run /bind_feedback_topic. If you want dedicated reminders or payments topics, open them and run /bind_reminders_topic or /bind_payments_topic.',
|
||||
'Members should open the bot chat from the button below and confirm the join request there.'
|
||||
].join('\n'),
|
||||
useBindPurchaseTopicInGroup: 'Use /bind_purchase_topic inside the household group topic.',
|
||||
@@ -65,6 +66,9 @@ export const enBotTranslations: BotTranslationCatalog = {
|
||||
useBindRemindersTopicInGroup: 'Use /bind_reminders_topic inside the household group topic.',
|
||||
remindersTopicSaved: (householdName, threadId) =>
|
||||
`Reminders topic saved for ${householdName} (thread ${threadId}).`,
|
||||
useBindPaymentsTopicInGroup: 'Use /bind_payments_topic inside the household group topic.',
|
||||
paymentsTopicSaved: (householdName, threadId) =>
|
||||
`Payments topic saved for ${householdName} (thread ${threadId}).`,
|
||||
usePendingMembersInGroup: 'Use /pending_members inside the household group.',
|
||||
useApproveMemberInGroup: 'Use /approve_member inside the household group.',
|
||||
approveMemberUsage: 'Usage: /approve_member <telegram_user_id>',
|
||||
@@ -147,5 +151,13 @@ export const enBotTranslations: BotTranslationCatalog = {
|
||||
recorded: (summary) => `Recorded purchase: ${summary}`,
|
||||
savedForReview: (summary) => `Saved for review: ${summary}`,
|
||||
parseFailed: "Saved for review: I couldn't parse this purchase yet."
|
||||
},
|
||||
payments: {
|
||||
topicMissing:
|
||||
'Payments topic is not configured for this household yet. Ask an admin to run /bind_payments_topic.',
|
||||
recorded: (kind, amount, currency) =>
|
||||
`Recorded ${kind === 'rent' ? 'rent' : 'utilities'} payment: ${amount} ${currency}`,
|
||||
savedForReview: 'Saved this payment confirmation for review.',
|
||||
duplicate: 'This payment confirmation was already processed.'
|
||||
}
|
||||
}
|
||||
|
||||
@@ -11,6 +11,7 @@ export const ruBotTranslations: BotTranslationCatalog = {
|
||||
bind_purchase_topic: 'Назначить текущий топик для покупок',
|
||||
bind_feedback_topic: 'Назначить текущий топик для анонимных сообщений',
|
||||
bind_reminders_topic: 'Назначить текущий топик для напоминаний',
|
||||
bind_payments_topic: 'Назначить текущий топик для оплат',
|
||||
pending_members: 'Показать ожидающие заявки на вступление',
|
||||
approve_member: 'Подтвердить участника дома'
|
||||
},
|
||||
@@ -55,7 +56,7 @@ export const ruBotTranslations: BotTranslationCatalog = {
|
||||
[
|
||||
`${created ? 'Дом создан' : 'Дом уже подключён'}: ${householdName}`,
|
||||
`ID чата: ${telegramChatId}`,
|
||||
'Дальше: откройте топик покупок и выполните /bind_purchase_topic, затем откройте топик обратной связи и выполните /bind_feedback_topic. Если хотите отдельный топик для напоминаний, откройте его и выполните /bind_reminders_topic.',
|
||||
'Дальше: откройте топик покупок и выполните /bind_purchase_topic, затем откройте топик обратной связи и выполните /bind_feedback_topic. Если хотите отдельные топики для напоминаний или оплат, откройте их и выполните /bind_reminders_topic или /bind_payments_topic.',
|
||||
'Участники должны открыть чат с ботом по кнопке ниже и подтвердить заявку на вступление.'
|
||||
].join('\n'),
|
||||
useBindPurchaseTopicInGroup: 'Используйте /bind_purchase_topic внутри топика группы дома.',
|
||||
@@ -67,6 +68,9 @@ export const ruBotTranslations: BotTranslationCatalog = {
|
||||
useBindRemindersTopicInGroup: 'Используйте /bind_reminders_topic внутри топика группы дома.',
|
||||
remindersTopicSaved: (householdName, threadId) =>
|
||||
`Топик напоминаний сохранён для ${householdName} (тред ${threadId}).`,
|
||||
useBindPaymentsTopicInGroup: 'Используйте /bind_payments_topic внутри топика группы дома.',
|
||||
paymentsTopicSaved: (householdName, threadId) =>
|
||||
`Топик оплат сохранён для ${householdName} (тред ${threadId}).`,
|
||||
usePendingMembersInGroup: 'Используйте /pending_members внутри группы дома.',
|
||||
useApproveMemberInGroup: 'Используйте /approve_member внутри группы дома.',
|
||||
approveMemberUsage: 'Использование: /approve_member <telegram_user_id>',
|
||||
@@ -150,5 +154,13 @@ export const ruBotTranslations: BotTranslationCatalog = {
|
||||
recorded: (summary) => `Покупка сохранена: ${summary}`,
|
||||
savedForReview: (summary) => `Сохранено на проверку: ${summary}`,
|
||||
parseFailed: 'Сохранено на проверку: пока не удалось распознать эту покупку.'
|
||||
},
|
||||
payments: {
|
||||
topicMissing:
|
||||
'Для этого дома ещё не настроен топик оплат. Попросите админа выполнить /bind_payments_topic.',
|
||||
recorded: (kind, amount, currency) =>
|
||||
`Оплата ${kind === 'rent' ? 'аренды' : 'коммуналки'} сохранена: ${amount} ${currency}`,
|
||||
savedForReview: 'Это подтверждение оплаты сохранено на проверку.',
|
||||
duplicate: 'Это подтверждение оплаты уже было обработано.'
|
||||
}
|
||||
}
|
||||
|
||||
@@ -9,6 +9,7 @@ export type TelegramCommandName =
|
||||
| 'bind_purchase_topic'
|
||||
| 'bind_feedback_topic'
|
||||
| 'bind_reminders_topic'
|
||||
| 'bind_payments_topic'
|
||||
| 'pending_members'
|
||||
| 'approve_member'
|
||||
|
||||
@@ -21,6 +22,7 @@ export interface BotCommandDescriptions {
|
||||
bind_purchase_topic: string
|
||||
bind_feedback_topic: string
|
||||
bind_reminders_topic: string
|
||||
bind_payments_topic: string
|
||||
pending_members: string
|
||||
approve_member: string
|
||||
}
|
||||
@@ -77,6 +79,8 @@ export interface BotTranslationCatalog {
|
||||
feedbackTopicSaved: (householdName: string, threadId: string) => string
|
||||
useBindRemindersTopicInGroup: string
|
||||
remindersTopicSaved: (householdName: string, threadId: string) => string
|
||||
useBindPaymentsTopicInGroup: string
|
||||
paymentsTopicSaved: (householdName: string, threadId: string) => string
|
||||
usePendingMembersInGroup: string
|
||||
useApproveMemberInGroup: string
|
||||
approveMemberUsage: string
|
||||
@@ -153,4 +157,10 @@ export interface BotTranslationCatalog {
|
||||
savedForReview: (summary: string) => string
|
||||
parseFailed: string
|
||||
}
|
||||
payments: {
|
||||
topicMissing: string
|
||||
recorded: (kind: 'rent' | 'utilities', amount: string, currency: string) => string
|
||||
savedForReview: string
|
||||
duplicate: string
|
||||
}
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user