Telegram боты / Демо-жоба
ClubGate
Бот жабық Telegram қауымдастығына кіруге рұқсат береді, оның мерзімін ұзартады, аяқталатынын ескертеді және төлемді қайтарады.

Міндет
Жабық клуб иесі кімнің кіру ақысын төлегенін және рұқсат мерзімі қашан бітетінін білуі керек. Төлем оқиғасы қайталанса немесе Telegram жауап бермесе, бот қатысушының кіру құқығын сақтап, операцияның нәтижесін тексеруі тиіс.
Шешім
Telegram Stars арқылы бір реттік төлем 30 күнге кіруге мүмкіндік береді. Бот жеке шақыру жібереді, қосылу кезінде кіру құқығын тексереді және мерзімнің аяқталатынын ескертеді. Ұзарту жаңа кезең қосады. Қайтарым тек тиісті сатып алу кезеңін жояды.
Жұмыс барысы


Нәтиже
Іске асыру есебінде 88 тестің сәтті өткені көрсетілген. Жергілікті сценарийде екі сынақ төлемі, екі кіру кезеңі, бір қайтарым және мерзімі біткен қатысушыны шығару расталды. Демода Telegram имитацияланады. Нақты қауымдастық пен төлемдер тексерілген жоқ.
Менің үлесім
Төлемді, кіру құқығын және нақты мүшелікті бөлек модельдедім. PostgreSQL оқиғалар мен тапсырмаларды сақтайды. Сондықтан оқиға қайта келсе де, кіру мерзімі екі рет есептелмейді. Күту уақыты аяқталса, бот келесі әрекетке дейін күйді тексереді.
Архитектура
Кіріс оқиғалары, кіру құқығы және сыртқы әрекеттер PostgreSQL арқылы байланысады.
Оқиғаларды қабылдау
Бот немесе жергілікті сценарий кіріс оқиғаларын өңдеуге дейін сақтайды.
Компоненттер байланысы
- Оқиғаларды қабылдау: Бот немесе жергілікті сценарий кіріс оқиғаларын өңдеуге дейін сақтайды.
- Төлем және кіру: Бизнес логикасы тапсырысты тексеріп, бөлек кіру кезеңін тіркейді.
- Фондық өңдеу: Фондық процесс әрекеттерді Telegram адаптері арқылы орындап, нәтижесі белгісіз операцияларды тексереді.
- Оқиғаларды қабылдау → Төлем және кіру
- Төлем және кіру → Фондық өңдеу