Skip to content

Latest commit

 

History

History
41 lines (33 loc) · 1.9 KB

File metadata and controls

41 lines (33 loc) · 1.9 KB

About

This document outlines the key components and features of our project, detailing the various technologies and methodologies we've employed.

Tech Stack

  • Python 3: The core programming language used.
  • Discord API: Integrates with Discord for bot functionalities.
  • Yake: Utilized for keyword extraction.

Question Detection

  • Token Parsing: Utilizes regex to break down long messages into smaller tokens.
  • Detection Logic: Identifies if each token begins with keywords that signify a question.

Yake - Keyword Extractor

  • Function: Extracts keywords from sentences.
  • Ranking System: Keywords are ranked based on their relevance, with scores closer to 0 indicating higher significance.

Overall Architecture Design

  • Data Structure: Employs a hash table for efficient data handling.
  • Key Management: Uses keywords as the primary keys.
  • Value Storage: Associates lists of messages with each key.

Discord API Integration

  • Setup: Utilized the Discord Developer Portal to establish team and applications.
  • Bot Creation: Developed a bot using a Discord token.
  • Interaction Handling: Implements discord.interactions and events for slash command functionality.
  • Data Presentation: Utilizes embeds for displaying information.

Work-in-Progress (WIP)

  • Database Migration: Transitioning from Pickle to TinyDB.
  • Data Restoration: Implementing a human-readable JSON file to restore data after bot restarts.
  • Interactive Features:
    • Query users and admins on question categorization and answer storage.
    • Enable or disable responses.
    • Internal statistics management.
  • NLP Enhancements: Support for keyword extraction and answer summarization.
  • Cross-Platform Compatibility: Enable cross-channel and server support.
  • Security: Focus on input sanitization.
  • API Implementation: Planning to integrate Canvas API.