MooChat

Blocks ::: block_moochat
Maintained by Brian Pool
Add AI-powered chatbots to your course sidebars. Create custom AI assistants with unique personalities, avatars, and rate limiting. Works seamlessly with Moodle's core AI subsystem - no external services required.
Latest release:
27 sites
86 downloads
Current versions available: 1

Full Description:

MooChat Block transforms your Moodle course sidebar into an interactive AI assistant. Teachers can create multiple chatbot blocks, each with its own personality, avatar, and purpose - from subject tutors to historical figures.

Key Features:

  • Custom AI Personalities: Define unique system prompts for each chatbot (math tutor, writing coach, historical character, etc.)
  • Avatar Support: Upload custom images to give your chatbot visual identity with adjustable sizing
  • Rate Limiting: Control student usage with configurable limits (questions per hour or per day) to manage AI resource consumption
  • Server-Side Tracking: Rate limits persist across sessions - students can't bypass limits by clearing their chat
  • Automatic Cleanup: Usage data automatically purges after 7 days to keep database lean
  • Multiple Instances: Add different chatbots to the same course for various purposes
  • User-Friendly Interface: Clean, modern chat interface with message history and clear/send controls

Technical Details:

  • Integrates with Moodle 4.5+ core AI subsystem
  • No external API keys or services required - uses your configured AI providers
  • Works with any Moodle-compatible AI provider (OpenAI, Anthropic, local models via Ollama, etc.)
  • Minimal database footprint with automatic cleanup
  • Fully compatible with Moodle's capability system for granular permissions

Perfect For:

  • Subject-specific tutoring assistants
  • Role-playing historical or literary figures
  • 24/7 homework help
  • Language practice conversations
  • Concept reinforcement

Requirements:

  • Moodle 4.5 or higher
  • Moodle core AI subsystem configured with at least one AI provider

Screenshots

Screenshot #0
Screenshot #1
Screenshot #2
Screenshot #3

Contributors

Brian Pool (Lead maintainer)
Please login to view contributors details and/or to contact them

Comments

Visa kommentarer
  • Plugins bot
    fre, 31 okt. 2025, 04:20
    Approval issue created: CONTRIB-10160
  • Brian Pool
    fre, 31 okt. 2025, 04:31
    This was implemented with a locally hosted Ollama server.
  • Joud AlDhuwaihi
    lör, 20 dec. 2025, 21:03
    Hello Brian,

    I’m currently using MooChat on Moodle 4.5 for an institutional LMS, and first of all, thank you for a clean and well-structured plugin.

    I’m exploring a custom extension where the chatbot acts as an AI tutor, with access to student context (name, custom profile fields like major), course info, and grade summary, injected into the system prompt.

    Before going further, I wanted to ask a few architectural questions:

    1- Is classes/local/send_message.php the intended place to enrich the prompt with additional context (student/course data)?

    2- Are there any Moodle-side limitations or best practices you recommend when passing contextual data into core_ai\aiactions\generate_text?

    3- From your perspective, is MooChat better forked for this use case, or extended directly?

    I’m not asking for custom development, just validation that this approach aligns with how you intended the plugin to be extended.

    Thanks again for your work any guidance would be appreciated.
  • Brian Pool
    mån, 19 jan. 2026, 05:04
    I apologize for not seeing this earlier. My Moochat MOD does exactly what you are suggesting. It is a full mod and allows you to include all the section content in the AI. I use it specifically as a tutor. It only embeds the section because including more would result in a huge amount of data being passed to the AI. It is selectable whether the Moodle section content is included. Take a look at the Mod by the same name as the block.
  • Brian Pool
    mån, 19 jan. 2026, 05:07
    Oh, mine does not include the student information. However, I do access the grade level in AICheck (local plugin) to try to give grade-specific feedback. I would look at modifying the Moochat mod. It is larger (physically) and can be either in the center of the course (like a label) or linked (like an assignment.)
Please login to post comments