Overview
ExaBOT is a virtual assistant designed specifically for the “ExactasDs” Discord server, a student community from the Faculty of Exact Sciences at the National University of Salta. Its main goal is to facilitate interaction and management within the university community.
The bot offers a variety of useful features for students and administrators, including customizable welcome and farewell systems, automated moderation, and configurable reactions in specific channels. Furthermore, it integrates artificial intelligence to answer academic or general inquiries and has the ability to summarize YouTube videos, helping students consume educational content more efficiently.
Technical details
Developed in Python using the PyCord library, ExaBOT operates on a modular architecture based on “Cogs” (extensions), allowing functionality like ia.py, registros.py, and auto_reaccion.py to be loaded and reloaded without stopping the service. For data persistence, it utilizes MongoDB managed via the MongoEngine ODM, storing server configurations, audit logs, and user profiles.
The bot implements advanced features such as OpenAI API (ChatGPT) integration to maintain context-aware conversations per server and utilizes youtube-transcript-api to extract and process video transcripts. The system features custom error handling, monitoring loops (heartbeat), and a robust logging system for debugging.