Разработка чат-ботов. Задачи чат-бота: Обратная связь, заполнение анкеты, база данных. Платформа: Telegram. Продукт: Личное использование. Техзадание есть. Пока что хочу узнать цену проекта, так как при написании самому возникли некоторые проблемы. ?? Команда `/start` Текст: Здравствуйте, дорогой пользователь нашего бота. Я - бот для поддержки, пожалуйста выберите один из вариантов Инлайн-кнопки: [ ?? Заявление на администратора ] [ ?? Связь с менеджером ] [ ?? Написать администраторам ] ?? ЗАЯВЛЕНИЕ НА АДМИНИСТРАТОРА Удаляется стартовое сообщение Сообщение: Заполните заявку на АДМИНИСТРАТОРА Кнопка: ?? Вернуться назад Далее бот по очереди задаёт вопросы и сохраняет ответы в БД: Вопросы (таблица заявок): 1. Возраст - Сколько вам лет? 2. Имя - Как вас зовут? 3. Часовой пояс - Какой вас часовой пояс? 4. Сколько времени готов уделять - Сколько времени можете уделять своему посту? 5. Опыт работы - Имеется ли у вас опыт в данной сфере? 6. Грамотность - Насколько вы оцениваете свою грамотность? 7. Поведение при конфликте - Как вы поведете себя при конфликте с другим администратором? 8. Тег - Какой тег будет у вас? После заполнения: Все ответы объединяются в одно сообщение Отправляются в `SENIOR_CHAT_ID` Так же логгируется в Базе данных Пользователю: > Ваша заявка успешно отправлена на рассмотрение Ответ владельца/директора: Пишется ответом на сообщение бота Бот копирует и отправляет пользователю в ЛС СВЯЗЬ С МЕНЕДЖЕРОМ Аналогично заявке Сообщение: > Напишите сообщение для МЕНЕДЖЕРОВ Все сообщения - тот же SENIOR_CHAT_ID Пользователю: > Ваша заявка успешно принята на рассмотрение НАПИСАТЬ АДМИНИСТРАТОРАМ Сообщение: > Привет, дорогой пользователь... (дружелюбный текст) Пользователь пишет сообщение Бот пересылает его в `ADMIN_CHAT_ID` Ответ администратора: Только ответом на пересланное сообщение Бот копирует, а не пересылает Если ответил Монтажер или Менеджер - бот пишет: > У вас нет доступа ЕСЛИ БОТ ЗАБЛОКИРОВАН Если невозможно отправить ЛС пользователю: > Бот заблокирован у пользователя, отправить сообщение невозможно (сообщение уходит в админ-чат) РАНГИ ПО НУМЕРАЦИИ | 1 | Монтажер | 2 | Менеджер | 3 | Администратор | 4 | Младший модератор | 5 | Старший модератор | 6 | Директор | 7 | Владелец Владелец задаётся в коде Монтажер и Менеджер не имеют доступ к командам При попытке ответить пользователю - ошибка КОМАНДЫ (РАБОТАЮТ ТОЛЬКО С `!`) Команда !мут(для администраторов): !мут@user(Или ИД админа из БД) (Время в минутах) (Причина) Ошибка при неполной форме Ошибка если мут уже есть Команда !пред(для администраторов): !пред @user(или ИД админа из БД) (Причина) Снимается автоматически через 7 дней 3/3 ? кик + сообщение: > (ранг) (тег) снят со своего поста, причина: 3/3 Команда !бан: !бан @user(или ИД пользователя) (Дни) (Причина) Запись в БД Забаненный пользователь при любом сообщении: > Ошибка! Вы заблокированы, обратитесь владельцу в лс для обжалования - @... Команда !назначить: !назначить @user(или ИД) (Ранг) (Имя) (Возраст) (Тег) Запись в таблицу состава Внутренний ID администратора Сообщение в чат администраторов Команда !снять: !снять (ИД из личной нумерации в БД) Причина Удаление из БД Сообщение в админ-чат Команда !состав: Форма: !состав Состав по иерархии: ID(Телеграм) | Ранг | Имя | #тег ОГРАНИЧЕНИЯ КОМАНД Обязательно реализовать: Проверку прав доступа по рангу Защиту от самоназначения Защиту от мута/бана равных и выше по рангу КД (cooldown) на команды Логи действий модерации Обработку ошибок БД Обработку пустых сообщений Проверку формата упоминаний