Add docs for the servers sub-module of groups

This commit is contained in:
2025-08-13 14:34:26 -03:00
parent 285f1d4516
commit e35b200d03
3 changed files with 14 additions and 4 deletions
+4 -4
View File
@@ -1,16 +1,16 @@
//! Payphone-specific code. All features like calls and moderation go here. //! Payphone-specific code. All features like calls and moderation go here.
//! //!
//! Sub-modules in this module usually follow the same structure: //! Sub-modules in this module usually follow the same structure:
//! //!
//! - A `mod.rs` file exporting the public API of the sub-module. //! - A `mod.rs` file exporting the public API of the sub-module.
//! - A `commands.rs` file containing the command definitions. //! - A `commands.rs` file containing the command definitions.
//! - A `embeds.rs` file containing embed-generating functions for those commands. //! - A `embeds.rs` file containing embed-generating functions for those commands.
//! - A `events.rs` file containing event handlers related to the features the sub-module covers. //! - A `events.rs` file containing event handlers related to the features the sub-module covers.
//! - Any additional modules the sub-module may specifically require. //! - Any additional modules the sub-module may specifically require.
//! //!
//! An example of extra modules not listed above is the [`calls::moderation`] module, which //! An example of extra modules not listed above is the [`calls::moderation`] module, which
//! includes the tools for parsing messages and detecting rule breakings in them. //! includes the tools for parsing messages and detecting rule breakings in them.
//! //!
//! > *Note that not all sub-modules have commands, nor they all have event listeners, etc. Each of //! > *Note that not all sub-modules have commands, nor they all have event listeners, etc. Each of
//! > them only defines the modules they need.* //! > them only defines the modules they need.*
+5
View File
@@ -1,3 +1,5 @@
//! The event handlers for the servers sub-module.
use std::sync::Arc; use std::sync::Arc;
use async_trait::async_trait; use async_trait::async_trait;
@@ -14,6 +16,7 @@ use crate::{
state::State, state::State,
}; };
/// Adds servers to the DB when they get created.
#[derive(Debug)] #[derive(Debug)]
pub struct ServerCreateHandler; pub struct ServerCreateHandler;
@@ -43,6 +46,7 @@ impl OnServerCreateHandler<State> for ServerCreateHandler {
} }
} }
/// Updates DB server data when a server gets updated.
#[derive(Debug)] #[derive(Debug)]
pub struct ServerUpdateHandler; pub struct ServerUpdateHandler;
@@ -74,6 +78,7 @@ impl OnServerUpdateHandler<State> for ServerUpdateHandler {
} }
} }
/// Deletes servers from the DB when they get deleted or payphone is kicked.
#[derive(Debug)] #[derive(Debug)]
pub struct ServerDeleteHandler; pub struct ServerDeleteHandler;
+5
View File
@@ -1 +1,6 @@
//! Payphone's Discord server-related features.
//!
//! This sub-module is responsible for registering servers in the database, updating them when they
//! update, and removing them when they get deleted or Payphone is kicked.
pub mod events; pub mod events;