dvlsc000 / EmergingTechnologies

0 stars 0 forks source link

CREATE CHATBOT LOGIC #23

Open dvlsc000 opened 1 week ago

dvlsc000 commented 1 week ago

eliza.js

Implement function to generate responses and message handling function to update conversation history.

dvlsc000 commented 1 week ago

Implement ELIZA Response Patterns

Implement ELIZA Response Patterns with Dynamic Placeholder Substitution

Description: Implement an array of ELIZA response patterns (elizaResponses) using regex to recognize user inputs and generate relevant responses. Utilize $1 placeholders in the responses to allow dynamic insertion of captured phrases.

Acceptance Criteria:

Create an array of objects elizaResponses with regex patterns and responses. Each pattern should match specific user inputs, e.g., greetings like /hello|hi|hey/i. Ensure a fallback pattern /.*/ to handle unmatched inputs with a default response.

dvlsc000 commented 1 week ago

Develop getElizaResponse Function for Context-Sensitive Replies

Develop getElizaResponse Function to Match and Generate Context-Sensitive Replies Description: Create a function getElizaResponse that takes a user's input and returns an appropriate response by matching the input against regex patterns in elizaResponses.

Steps: Iterate through elizaResponses to match patterns against the user input. On a match, substitute the captured phrase into the response using replace("$1", match[1]). Return the first matching response or a fallback response if no patterns match.

Acceptance Criteria: Correct response returned for matching patterns. Uses $1 placeholder for dynamic content insertion. Defaults to a fallback response if no patterns match.

dvlsc000 commented 1 week ago

Create processInput Function to Handle User Input and Display Chat

Create processInput Function to Process User Input and Display Chat Interactions Description: Design processInput to handle and display user input in the chat box, retrieve ELIZA's response, and update the chat box. This function integrates user input processing with the visual chat log.

Steps: Retrieve user-input and chat-box elements. Display user message in the chat box with the prefix “You:”. Retrieve ELIZA’s response by calling getElizaResponse(userMessage) and append it to the chat box with the prefix "ELIZA:". Clear user-input field after each submission. Scroll to the bottom of the chat box for visibility.

Acceptance Criteria:

Correctly displays both user input and ELIZA’s responses in the chat. Clears the input field after message submission. Scrolls chat box automatically to show the latest message.

dvlsc000 commented 1 week ago

Implement resetChat Function for Clearing Chat History

Implement resetChat Function to Clear Chat History on Demand Description: Create resetChat to clear the entire chat history in the chat box, allowing a fresh conversation to begin. This function is accessible via a reset button in the HTML.

Steps: Retrieve the chat-box element. Clear all messages by setting innerHTML to an empty string.

Acceptance Criteria: Removes all previous messages from the chat box. Can be triggered by a reset button in the HTML interface. by the reset button in the HTML, allowing user to clear the chat history.

dvlsc000 commented 1 week ago

SUMMARY

This JavaScript code is simple and well-organized, managing the main chatbot interactions through pattern matching, response generation, and updating the user interface. The use of regex patterns and text replacement allows ELIZA to give responses that feel more relevant to the conversation, creating a basic flow. Each function is clear and focused on one specific task, making it easier to expand with new features and more patterns.