Техническое задание на разработку и внедрение чат бота по дисциплине «технологии программирования» - fenfil/rgsu_prog GitHub Wiki
ЦЕЛИ И ЗАДАЧИ ПРОЕКТА
1.1. Цели проекта
Целью проекта является разработка и внедрение чат-ботов, которые обеспечат информирование пользователей. 1.2. Задачи проекта
Создание механизма информационного взаимодействия между чат-ботом и пользователем 1.3 Задачи Системы
• Каждый раз, когда подключается новый пользователь в консоль чат-сервера, выводится количество уже подключенных пользователей. Например, «Total users connected: 7». • Создана проверка валидности имени пользователя, т.е. имя не содержит запятых, пробелов и других служебных символов. Сохраняется имя пользователя в структуру только, если оно валидное.
• Осуществляется проверка существования введённого имени. Сохраняется имя пользователя в структуру только, если оно уникальное.
• Проверяется, что длина имени пользователя не превышает 255 символов. Сохраняется имя пользователя в структуру только, если оно валидное.
• Если пользователь пытается послать сообщение какому-то несуществующему участнику, сервер ему отвечает сообщением “Error, there is no user with ID = 123”.
• Существует возможность смены имени пользователем.
• Существует возможность запуска сервера с ключом –l для записи логов в файл.
• Выполняется команда-пароль, наделяющую пользователя правами администратора (пользователь отправляет серверу пароль, сервер вычисляет хэш пароля и сравнивает его с хэшем из своей структуры или из файла).
1.4 Ожидаемые результаты работ
• Бот подключается на свободный сокет при загрузке сервера. • Бот выдаёт справочную информацию по запросам пользователя (количество пользователей, статус, кто администратор и т.п.
• Реализация простейшего диалога с ботом (приветствие, как дела и т.п. вопросы).
• Бот анализирует вопрос и выдаёт ответы из своего словаря. При невозможности дать ответ, сообщает об этом. Выдаваемые фразы выбираются рандомно (например, «Привет!!!», «Здравствуйте!» или «Приветствую, рад вам.» и т.п.)