Versions Compared

Key

  • This line was added.
  • This line was removed.
  • Formatting was changed.

The Moodle Bot Chatbot Manager plugin adds custom functions for allowing to allow the Moodle eLearning Chatbot app to interact with user and course data. For courses, it adds functions to the following activities: lessons, quizzes, and , feedback. If the custom certificate plugin [link] it’s is installed, further functions are added. Additionally two Two custom fields are added in Moodle’s data model: Dialing prefix in the user’s profile to store the country dialing code , and Bot Mode in the course settings , to identify which courses the chatbot should present to the chatbot user.

What does

...

the Moodle Chatbot Manager plugin do?

The Bot Manager Plugin creates 13 various customized functions that are used by the Moodle eLearning Chatbot app. These functions provide new ways to retrieve information by the Chatbot app, which presents users with a conversation-style chatbot that allows , allowing them to create an a Moodle user account, enroll on ‘chatbot’ chatbot-compatible courses, and then run lesson content, quizzes, learner feedback, and generate custom certificate(s)certificates, if the necessary related plugin is availableinstalled.

Features 

...

Info

Source code and latest updates for the chatbot plugin available at
https://

...

github.

...

com/

...

psi-org/moodle-local_chatbot_plugin

Features 

Adds the following custom properties:

  • Dialing Prefix field: This field captures stores the user's country dialing code.

  • Bot Mode field: This field identifies if a course has been configured as a chatbot course.

Adds the following functionsa custom table:

  • Mdl_local_botmanager_getdata_user: Allows retrieving user information from Moodle based on specific criteria such as user ID, mobile phone number, WhatsApp ID, or email. It returns user data that matches the provided criteria.

  • local_botmanager_create_user: Enables creating a new user in Moodle using information provided through an external API.

  • local_botmanager_update_user: Updates user information in Moodle based on provided parameters. It allows modification of various user attributes like first name, last name, email, password, gender, date of birth, and language. The function returns a status message indicating the success of the update and the user's ID.

  • local_botmanager_get_courses: Retrieves a list of courses for a specific user based on their user ID. Returned courses are filtered to include only those with a custom field named 'Bot Mode' set to 'yes'. It provides detailed information for each course, including course ID, course category ID, short name, full name, summary, format, user ID, course enrollment status, progress, raw grade, percentage grade, grade pass threshold, enrollment time, start time, and completion timeentity: table is used to store the user’s chatbot session.

Adds the following functions:

  • local_botmanager_get_courses: search and filter courses with Bot Mode custom field set to “Yes” value. It also provides the course completion percentage and the progress status name.

  • local_botmanager_enrolget_user: Enrolls a user in a specific course activities: provides information related to the activities supported by the chatbot (quiz, lesson, and feedback). It also checks if the user is not already enrolled in that course. It returns the enrollment status as a response.local_botmanager_get_activities: Retrieves information about activities within a specific course for a given user. It can obtain details about all activities or a specific activity within the queried course; if not, it enrolls the user in the course.

  • local_botmanager_get_quiz_attempts_summary: Retrieves gets a summary overview of a specific quiz attempt, providing details about the quiz, the attempt, the user, and the attempt's resultsincluding grades and time spent, formatted for display.

  • local_botmanager_open_lesson: Used to retrieve information about opening a lesson, such as the ID of the starting page and the ID of the last seen page for a specific user in a lessoninitiates a user's interaction with the content of a lesson through the Moodle Chatbot app.

  • local_botmanager_view_lesson_page: Provides data about the content of a lesson page, including content type, position, and more. It supports tracking user progress within the lesson and is an essential component for presenting lesson content through the Moodle external APIobtains lesson contents by breaking down each paragraph into small texts to help with legibility on chatbot-based renderings.

  • local_botmanager_get_lesson_attemps_summary: Retrieves a retrieves the summary of a user attempts within attempt on a lesson. It offers includes information about participation, including start and end times, duration, and completion status.

  • local_botmanager_get_feedback: Retrieves user feedback details for a specific feedback activity. It provides information about the activityprovides feedback activity's title, item ID, name, type, and completion status . This function efficiently extracts and delivers valuable feedback data through the Moodle external APIfields. It also performs transformations to represent questions on the Moodle Chatbot App better.

  • local_botmanager_feedback_answer_question: Allows allows users to submit answers to questions in a feedback activity. It handles the processing of user responses, verifies correctness, and manages completion status.

  • local_botmanager_get_certificates: Retrieves retrieves information about certificates earned by a user in a specific course. It gathers data such as certificate title, description, user's full name, course short name, completion date, and element positions for display.

  • local_botmanager_create_user: In addition to Moodle’s core fields, it also populates custom user profile field Dialing prefix.

  • local_botmanager_get_user: allows user search based on “userid,” “mobile_phone,” or “email” fields. In contrast to Moodle's core function, it supports search by mobile_phone.

  • Local_botmanager_update_user: allows updating specific user profile fields intended for the Moodle Chatbot app.

  • local_botmanager_get_botdataentity: fetch a single record from the table mdl_local_botmanager_dataentity. This helps the Moodle Chatbot app to track the user's state in the conversation flow.

  • local_botmanager_update_botdataentity: performs an update on an existing record in the table mdl_local_botmanager_dataentity.

  • local_botmanager_delete_botdataentity: deletes a record in the table mdl_local_botmanager_dataentity. This allows the user to restart the conversation in the Moodle Chatbot app.