Техническое задание на разработку и внедрение чат бота по дисциплине «технологии программирования» - 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 Ожидаемые результаты работ

• Бот подключается на свободный сокет при загрузке сервера. • Бот выдаёт справочную информацию по запросам пользователя (количество пользователей, статус, кто администратор и т.п.

• Реализация простейшего диалога с ботом (приветствие, как дела и т.п. вопросы).

• Бот анализирует вопрос и выдаёт ответы из своего словаря. При невозможности дать ответ, сообщает об этом. Выдаваемые фразы выбираются рандомно (например, «Привет!!!», «Здравствуйте!» или «Приветствую, рад вам.» и т.п.)