Skip to end of metadata
Go to start of metadata

You are viewing an old version of this page. View the current version.

Compare with Current View Version History

« Previous Version 7 Next »

The Moodle Chatbot plugin adds custom functions for allowing 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 it’s installed, further functions are added. Additionally two custom fields are added in Moodle’s data model: Dialing prefix in the user’s profile to store the country dialling code, and Bot Mode in the course settings, to identify which courses the chatbot should present to the chatbot user.

What does it do?

Bot Manager Plugin creates varios customised 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, allowing to create an moodle user account, enrol on ‘chatbot’ compatible courses, and then run lesson content, quizzes, feedback and custom certificate(s), if the related plugin is installed.

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: stores the user's country dialling code.

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

Adds a custom table:

  • Mdl_local_botmanager_data_entity: 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 course completion percentage and the progress status name.

  • local_botmanager_get_activities: provides information related to the activities supported by the chatbot (quiz, lesson, and feedback). It also checks if the user is enrolled in the queried course; if not, it enrolls the user in the course.

  • local_botmanager_get_quiz_attempts_summary: gets a summary overview of a specific quiz attempt, including grades and time spent, formatted for display.

  • local_botmanager_open_lesson: initiates a user's interaction with the content of a lesson through the Moodle Chatbot app.

  • local_botmanager_view_lesson_page: obtains 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 the summary of a user attempt on a lesson. It includes information about participation, including start and end times, duration, and completion status.

  • local_botmanager_get_feedback: provides feedback activity's title, item ID, name, type, and completion status fields. Additionally, it performs transformations to better represent questions on the Moodle Chatbot App.

  • local_botmanager_feedback_answer_question: 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 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: additionally 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.

  • No labels