Skip to content
/ teo Public

๐ŸŽ“ A multifunctional bot designed to enhance Discord management.

Notifications You must be signed in to change notification settings

nauqh/teo

Folders and files

NameName
Last commit message
Last commit date

Latest commit

ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 

Repository files navigation

T.e.o - The Excellent Organizer

Version Python Discord

About the project

T.e.o, is a multifunctional bot designed to enhance forum management. With its advanced moderation and logging capabilities, it meticulously monitors forum activity, promoting moderator accountability and easing the workload for staff members by automating query filtering.

Moreover, T.e.o excels in proactive engagement by sending timely reminders to TAs staff regarding unresolved queries as well as generating comprehensive monthly reports on forum interactions. Its user-friendly interface ensures efficient and swift operation, making it an indispensable tool for forum management.

Interoperability

T.e.o is probably a useful bot for your server if:

โœ… Your server is active and needs automatic moderation

โœ… You want to give more power to your moderators

โœ… You need a long-term analsysis management system

T.e.o is probably NOT the right bot for your server if:

โŒ You don't already know how to use forum thread

โŒ You aren't able and willing to read this wiki to solve most problems

If any of the above apply, then T.e.o will probably not be the best bot for your server, and you should consider searching on discord.bots.gg for a different moderation bot.

Main functionality

1. Notify unresolved threads

Teo sends a message to the staff-channel about threads that have not been resolved for over 15 minutes. The message will look like this:

2. Monthly thread data (๐ŸšงUnder development)

Additionally, Teo is responsible for collecting data on question-center forum interactions on a monthly basis. This data will be used to generate reports that detail the activities of both learners and staff on Discord.

Techstack

The repository structure follows the conceptual architecture of Teobot, which consists of three loosely-coupled sub-systems.

To briefly explain these three sub-systems:

  • Notificator utilizes Asyncio for interval checking of unresolved threads, ensuring timely notifications to moderators for thread resolution.
  • Storage relies on PostgreSQL as a robust and feature-rich database system for persistent storage of forum queries and session log, while leveraging SQLAlchemy as the ORM tool for simplified interaction with the database.
  • Logger utilizes built-in Logging to record and manage thread events, errors, and messages within the server. It employs different log levels to categorize messages, providing a comprehensive overview of system activities.

Installation

Open a terminal and clone the repository Create a .env file and fill in with this template

TOKEN_PROD=YOUR_BOT_TOKEN
ADMIN=ADMIN_DISCORD_ID

# You can customize with Primary and Secondary server
# Data server
DATA_GUILD=GUILD_ID
DATA_FORUM_CHANNEL=FORUM_CHANNEL_ID
DATA_EXAM_CHANNEL=STAFF_CHANNEL_ID
DATA_STAFF_CHANNEL=STAFF_CHANNEL_ID

# Fsw server
FSW_GUILD=
FSW_FORUM_CHANNEL=
FSW_EXAM_CHANNEL=
FSW_STAFF_CHANNEL=

Run the bot using the following command

python -Om bot

Documentation

Since Teobot is built on the basis of Hikari library, it is essential to look for the library documentation for further implementation.

Coderschool projects

  • T.e.o - The Excelent Organizer for Discord channel - Github repo
  • T.i. - Test Inspector for Automated Exam Grading - Github repo

About

๐ŸŽ“ A multifunctional bot designed to enhance Discord management.

Topics

Resources

Stars

Watchers

Forks