Telegram bot
2500 UAHПотрібен телеграм бот на php + sqlite
Структура бд початкова, можна внести свої корективи.
users
| id | chat_id | tgid | tgname | phone |
users_actions
| user_id | message |
admins
| id | chat_id | tgid | tgname | phone | status |
subbuttons1
| id | text | status |
subbuttons2
| id | text | status |
support_dialogs
поля таблиці виходячи з п.5.1.
Алгоритм роботи бота:
1. Вітальне повідомлення усім хто зайшов у бот.
1.1. Перевіряємо по бд в полі admins чи даний користувач присутній. Якщо юзера tgid чи tgname не співпадає з тим що є в бд, тоді просимо його поділитись номером телефону і звіряємо чи такий номер є в admins. Якщо знайшли такого адміна за любим ідентифікатором, то виводимо повідомлення "Адмін, Ви авторизовані, очікуйте подальших повідомлень." Любі повідомлення в такому разі від користувача ігноруються. Якщо ж такого користувача немає в таблиці admins тоді переходимо до п. 1.2.
1.2. Перевіряємо по бд в полі users чи даний користувач присутній. Якщо юзера tgid чи tgname співпадає з тим що є в бд, тоді переходимо до п.2., інакше просимо його поділитись номером телефону і звіряємо чи такий номер є в бд в таблиці users. Якщо є то також переходимо до п.2. Якщо немає то виводимо повідомлення "Ви не авторизовані".
2. Далі в діалог виводимо дві кнопки "Кнопка 1" та "Кнопка 2".
3. Якщо користувач пише довільне повідомлення в бот не обравши жодну кнопку - пишемо повідомлення що потрібно обрати один з варіантів і виводимо знову ці дві кнопки.
4. Якщо обрав "Кнопку 1" користувач, то:
4.1. Виводимо повідомлення "Текст повідомлення до кнопки 1"
4.2. Виводимо додаткові кнопки в діалог списком, які беруться з бд таблиці subbuttons1 якщо status= active. Поле text є назвою кнопки.
4.3. Далі користувач має обрати одну з виведених кнопок. Якщо пише довільне повідомлення на даному етапі не вибравши кнопки, повторно виводимо йому кнопки з п. 4.2. із повідомленням "Потрібно обрати один з варіантів для продовження". Обраний варіант кнопки запамятовуємо для подальшого використання.
4.4. Виводимо додаткові кнопки в діалог списком, які беруться з бд таблиці subbuttons2 якщо status= active. Поле text є назвою кнопки.
4.5. Далі користувач має обрати одну з виведених кнопок. Якщо пише довільне повідомлення на даному етапі не вибравши кнопки, повторно виводимо йому кнопки з п. 4.4. із повідомленням "Потрібно обрати один з варіантів для продовження". Обраний варіант кнопки запамятовуємо для подальшого використання.
4.6. Тепер маючи два варіанти натиснутих кнопок з п.4.2. та п. 4.4. виводимо повідомлення "Введіть довільне число". Перевіряємо чи то є числом, може бути і не ціле значення з округленням до тисячних. Запамятовуємо те число. Якщо було введене не коректне число або довільне повідомлення виводимо "Введіть довільне число щоб продовжити".
4.7. Виводимо повідомлення натспуного формату:
- Ви обрали: "Текст обраної кнопки із subbuttons1"
- Ви обрали: "Текст обраної кнопки із subbuttons2"
- Ваше число: "Введене число"
- Дві кнопки "ОК" та "Відміна"
4.8. Якщо натиснута "ОК" виводимо повідомлення "Повідомлення при натиснутій ОК" та записуємо повідомлення з п.4.7. в бд в таблицю users_actions і вивести його в цьому ж боті для юзерів з таблиці admins в яких статус active.
4.9. Якщо натиснуто "Відміна" виводимо самі перші дві кнопки з п.2. Якщо уведено довільне повідомлення замість обраних варіантів то виводимо текст "Потрібно обрати один з варіантів для завершення".
5. Якщо обрав "Кнопку 2" то виводимо повідомлення:
- Напишіть своє питання і ми надамо на нього відповіть.
5.1. Тут потрібно зробить збереження написаного юзером повідомлення чи кількох повідомлень у нашу бд в таблицю support_dialogs.
Відгук замовника про співпрацю з Дмитром Дереном
Telegram botПрофесійно, швидко та продумано реалізовано поставлені задачі. Дмитро передбачає наперед багато нюансів, що можуть виникати в ході роботи кінцевого продукту. Рекомендую до співпраці, і сам буду звертатись ще!
Відгук фрилансера про співпрацю з Олександром Стасюком
Telegram botУсе пройшло чудово, Олександр надав чітке ТЗ, постійно був на зв'язку, оперативно відповідав на запитання
-
Андрей Бурдин FerretGroup
Доброго дня! А принципово на пхп?
-
Актуальні фриланс-проєкти в категорії Веб-програмування
Невелика правка на сайті
700 UAH
Потрібно перепідв'язати договір оферти в футері на новий, в компанії змінився регламент Завдання на 20 хвилин Веб-програмування, Десктопні додатки ∙ 2 години 52 секунди тому ∙ 68 ставок |
Перенос сайту на Shopify
1123 UAH
Потрібно перенести поточний сайт jdfurniture.uk з OpenCart на платформу Shopify. Зараз сайт на OpenCart в цілому нас влаштовує за структурою та логікою роботи. Основна причина переносу — проблеми з платіжними системами. На Shopify таких проблем бути не повинно. Також для нас… HTML та CSS верстання, Веб-програмування ∙ 16 годин 42 хвилини тому ∙ 31 ставка |
Веб-сайт для клінінгової компанії (3 мови: PL/EN/UKR) – потрібна укр. моваШукаю досвідченого веб-розробника / програміста для створення веб-сайту для компанії з прибирання (галузь cleaningowa). Ключова інформація про проект: Мови сайту: Сайт буде трьохмовним (польська, англійська та українська). Головна вимога: Шукаю програміста, для якого українська… Веб-програмування ∙ 18 годин 31 хвилина тому ∙ 91 ставка |
DevOps / System Administrator для перенесення та захисту WordPress-сайтуШукаємо досвідченого DevOps-інженера або системного адміністратора для разового проєкту з можливістю подальшої технічної підтримки. У нас основний комерційний сайт на WordPress. Зараз він розміщений на спільному хостингу, останнім часом ми стикаємося з підвищеною кількістю… CMS, Веб-програмування ∙ 21 година 2 хвилини тому ∙ 32 ставки |
Розробка веб-платформи для трейдингу з інтеграцією даних SBPro, відображенням кластерів, ліквідностіозробка веб-платформи для трейдингу з інтеграцією даних SBPro, відображенням кластерів, ліквідності, великих лімітних заявок (Clouds), HeatMap та автоматичними налаштуваннями індикаторів для різних таймфреймів Етап 1. Підключення до Transaq API Отримання ринкових даних у… Java, Веб-програмування ∙ 21 година 51 хвилина тому ∙ 40 ставок |