Допомогти вирішити проблему з WebApp в боті телеграму
500 UAHДобрий день, потрібна допомога з розробкою бота в телеграмі з використанням WebApp
Основні компоненти бота
- Веб-додаток (index.html): Інтерфейс для вибору дати та часу бронювання, який інтегрований у Telegram як WebApp.
- Файл конфігурації (.env): Містить необхідні налаштування, такі як токен бота, ID групи для отримання бронювань та URL веб-додатку.
- Скрипт бота (bot_start.py): Основний код бота, який обробляє взаємодію з користувачем.
- Файл залежностей (requirements): Визначає необхідні бібліотеки для роботи бота.
Детальний опис роботи бота
1. Початок взаємодії (/start)
- Команда
/startзапускає діалог з користувачем. - Бот вітає користувача та пропонує два варіанти дій:
- "Забронювати столик"
- "Переглянути меню"
2. Перегляд меню
- Якщо користувач обирає "Переглянути меню", бот надсилає посилання на меню (
https://gustouapp.com/menu) і повертає користувача до початкового вибору дій.
3. Бронювання столика
Вибір закладу
- При виборі "Забронювати столик", бот просить обрати один із доступних закладів (наприклад,
'Вул. Антоновича'або'пр-т. Тичини').
Вибір дати та часу
- Після вибору закладу бот надсилає кнопку "Обрати дату та час", яка відкриває WebApp (ваш
index.html). - Веб-додаток використовує бібліотеку Flatpickrдля зручного вибору дати та часу.
- Користувач обирає бажану дату та час.
- Після підтвердження, вибрана дата та час відправляються назад до бота через
window.Telegram.WebApp.sendData(selectedDatetime).
Обробка даних з WebApp
- Бот отримує вибрану дату та час і підтверджує їх користувачу.
- Далі бот запитує кількість гостей.
4. Введення кількості гостей
- Користувач вводить кількість гостей.
- Бот перевіряє, чи введене значення є коректним числом більше нуля.
- Після підтвердження, бот просить вказати ім'я.
5. Введення імені
- Користувач вводить своє ім'я.
- Бот зберігає ім'я та переходить до вибору способу надання контактного номера телефону:
- "Ввести номер вручну"
- "Поділитись контактом"
6. Надавання контактного номера телефону
Вибір способу надання номера
- "Ввести номер вручну":
- Бот просить ввести номер у форматі
+380XXXXXXXXX. - Перевіряє коректність введеного номера.
- Бот просить ввести номер у форматі
- "Поділитись контактом":
- Бот надає кнопку для поділу контактом.
- Користувач натискає кнопку, і його номер телефону автоматично надсилається боту.
7. Завершення бронювання
- Після отримання всіх необхідних даних (заклад, дата та час, кількість гостей, ім'я, телефон), бот формує інформацію про бронювання.
- Інформація про бронювання надсилається до групового чату (
GROUP_CHAT_ID), де адміністратори можуть її переглянути та підтвердити. - Бот дякує користувачу за бронювання та пропонує:
- "Повернутись до початку"
- "Переглянути меню"
8. Обробка помилок та скасування
- Якщо виникає помилка під час відправки бронювання, бот повідомляє користувачу про необхідність спробувати ще раз.
- Користувач може скасувати процес бронювання командою
/cancel, і бот повертає його до початкового стану або завершує розмову.
Взаємодія між компонентами
- Користувач починає взаємодію з ботом через Telegram.
- Бот обробляє команди та повідомлення, керуючи станом розмови за допомогою
ConversationHandler. - При виборі дати та часу, бот відкриває WebApp (ваш
index.html) в Telegram. - Веб-додаток дозволяє користувачу вибрати дату та час, після чого відправляє ці дані назад до бота.
- Бот отримує ці дані, продовжує процес бронювання, збираючи необхідну інформацію.
- Після завершення, бот надсилає інформацію про бронювання до вказаної групи для подальшої обробки.
Проблема в тому, що коли відкривається WebApp він завжди показує що відкрито не через телеграм, нижче прикладу файли боту
Файл index.html знаходиться на GitHub
Додатки 1
Відгук замовника про співпрацю з Ivan O.
Допомогти вирішити проблему з WebApp в боті телеграмуДуже швидко виконав роботу
Відгук фрилансера про співпрацю з Андрієм Спірідоновим
Допомогти вирішити проблему з WebApp в боті телеграмувсе пройшло лего та просто. рекомендую
-
Доброго дня
Знаю в чому у Вас проблема і як її вирішити
Готовий це зробити прямо зараз.
-
369 1 0 Доброго дня, спробую зайнятись вашим ботом.
Я вже мала справу з ботами тому маю уявлення що треба робити!
Хотілося в лс дізнатися більше подробиць
Актуальні фриланс-проєкти в категорії Python
Створення додаткуБажаю створити мобільний додаток для спілкування, в застосунку має бути аудіо,відео дзвінок, створення групових чатів,можливість синхронізувати з контактами телефону, налаштуваннями акаунта: привязка по мейлу, 2фа, номеру телефону,можливість налаштовувати сповіщення… Java, Python ∙ 7 годин 33 хвилини тому ∙ 11 ставок |
Налаштування двосторонньої інтеграції WhatsApp з Odoo CRMВітаю! Шукаємо спеціаліста для реалізації технічного завдання з налаштування двосторонньої інтеграції месенджера WhatsApp з CRM-системою Odoo. ⚠️ Важливе технічне уточнення:Офіційний WhatsApp Business API (WABA) не розглядається. Необхідно впровадити стабільне «сіре» рішення… Python, Веб-програмування ∙ 17 годин 28 хвилин тому ∙ 20 ставок |
Парсинг даних через мобільне APIШукаю людину з досвідом парсингу даних через мобільне API, для парсингу e-commerce, rozetka та аналоги Завдання: 1. Перехоплення трафіку мобільного додатку (Android) налаштування проксі, аналіз запитів 2. Визначення потрібних API endpoints, куди йдуть запити, які headers… Python, Парсинг даних ∙ 2 дні 14 годин тому ∙ 30 ставок |
Знайти товарний фід (Google Merchant XML) для сайту на OpenCart
700 UAH
Необхідно знайти пряме посилання на діючий товарний фід (XML) конкурента для Google Merchant Center Платформа (CMS): OpenCart / ocStore Знайти оригінальний фідВимоги до результату: Робоче посилання на XML-файл Python, Парсинг даних ∙ 7 днів 23 години тому ∙ 29 ставок |
Розробка Тік-Ток ферми (контент-завод)Необхідно розробити систему для централізованого управління кількома TikTok-акаунтами з автоматичною публікацією контенту, використанням індивідуальних проксі та імітацією природної активності акаунтів. Функціональні вимоги1. Управління акаунтами Додавання та видалення… Python, Розробка ботів ∙ 8 днів 10 годин тому ∙ 22 ставки |