MooChat

Activities ::: mod_moochat
Maintained by Brian Pool
Create full-featured AI chat activities in your course. Display inline on course page or as separate activity. Includes avatars, rate limiting, and custom personalities. Uses Moodle's core AI - no external setup needed. Course Tutor or basic subject chats, teacher configured.
Latest release:
14 sites
47 downloads
3 fans
Current versions available: 1

MooChat Activity brings AI-powered conversations to the center of your course with complete conversation tracking. Unlike sidebar blocks, this activity module provides a prominent, full-featured chat experience that can be displayed inline on the course page or as a dedicated activity - with teacher oversight of all student interactions.

Key Features:

  • PDF and PPTX File Support (NEW in v1.4.0):
    • MooChat can now read the content of PDF and PowerPoint (.pptx) files uploaded as File resources in the course section
    • PDF text extraction uses pdftotext (poppler-utils) if available on the server, with automatic fallback to the bundled smalot/pdfparser library
    • PPTX text extraction uses PHP's built-in ZipArchive and DOMDocument — no external dependencies required
    • Plain text files (txt, csv, html) are also extracted
    • The smalot/pdfparser library is bundled directly in the plugin's vendor/ folder — no Composer required on the server
  • Personalized Welcome Message - The chat welcome message now says "Start chatting with [Name]!" using the actual name of the MooChat instance, making the interface more personal
  • Active Chat Hint - After the first message exchange, the welcome message changes to "Clear the chat to start a new topic." to guide students
  • Section Content Warning - When enabling "Include Section Content" in the activity settings, a warning is now displayed: "Sections with excessive or varied content can result in slower and lower quality responses."
  • Conversation History Tracking (NEW in v1.3.0):

    • Teachers can view complete student-AI conversation histories
    • Conversations organized by date with collapsible sections
    • See which students are engaging and what they're asking
    • Full privacy compliance with GDPR data export/deletion
    • Included in course backup/restore
  • Flexible Display Modes:

    • Inline: Chat appears directly on course page (like text/media areas)
    • Separate Page: Traditional activity that opens in its own view
  • Horizontal Layout: Professional side-by-side design with avatar/info on left, chat on right

  • Custom AI Personalities: Define unique system prompts tailored to your course content

  • Avatar Support: Upload custom images with adjustable sizing (48px to 128px)

  • Rate Limiting: Prevent AI resource abuse with configurable question limits per hour or day

  • Server-Side Tracking: Students cannot bypass limits by clearing chat history

  • Conversation Management: Students can clear chat display while server maintains usage tracking

  • Auto-Cleanup: Usage records automatically purge after 7 days

Display Options: Teachers choose how students interact:

  • Inline Mode: Chat embedded directly in course page - perfect for always-available assistance
  • Separate Page Mode: Traditional activity link - ideal for focused chat sessions

Teacher Tools:

  • View complete conversation histories for all students
  • Monitor student engagement and AI usage
  • Identify common questions and learning gaps
  • Export conversation data for assessment or analysis
  • History accessible via dedicated "History" button in activity

Technical Details:

  • Built for Moodle 4.5+ using core AI subsystem
  • No external dependencies, API keys, or third-party services required
  • Works with any Moodle-compatible AI provider (OpenAI, Azure, Anthropic, local Ollama, etc.)
  • Responsive design adapts to mobile and desktop
  • Fixed-height scrolling prevents page expansion
  • Efficient database design with automatic maintenance
  • Full backup/restore support including conversation data

Use Cases:

  • Main course AI assistant accessible throughout the course
  • Specialized tutoring for complex topics with teacher oversight
  • Interactive simulations with historical/fictional characters
  • Language learning conversation partners with progress tracking
  • Study guide and exam preparation assistance
  • Project brainstorming and feedback with conversation review

Activity Features:

  • Standard Moodle activity intro/description support
  • Appears in course activity chooser
  • Full capability/permission integration
  • Activity completion tracking ready
  • Works with all Moodle course formats
  • Teacher-only conversation history access

Privacy & Data:

  • GDPR compliant with full data export/deletion support
  • Only teachers can view student conversations
  • Students cannot see other students' histories
  • Data deleted when activity is removed or course is reset
  • Full privacy provider implementation

Requirements:

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

Note: This is the activity module version of MooChat. A block version is also available separately for sidebar placement. Both can coexist on the same Moodle installation without conflicts.

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

Show comments
  • Plugins bot
    Fri, 31 Oct 2025, 4:40 AM
    Approval issue created: CONTRIB-10161
  • 我的蚂蚁
    Mon, 8 Dec 2025, 9:32 PM
    I'm sorry, is this chatbot activity unable to save, retrieve or delete chat history? Is it also unable to create new sessions? Or is it only suitable for temporary chats?
  • Brian Pool
    Thu, 11 Dec 2025, 12:08 AM
    This was specifically made for temporary chats. It does not save data from user chats at this point. I would appreciate your thoughts on how that would be used. I can certainly make changes to future versions. It is intended as a course tutor, allowing the loading of section materials to help students understand information and assignments within the course.
Please login to post comments