aboutsummaryrefslogtreecommitdiff
path: root/src/framework/standard/create_group.rs
diff options
context:
space:
mode:
Diffstat (limited to 'src/framework/standard/create_group.rs')
-rw-r--r--src/framework/standard/create_group.rs31
1 files changed, 7 insertions, 24 deletions
diff --git a/src/framework/standard/create_group.rs b/src/framework/standard/create_group.rs
index fb3ceb6..f9097e6 100644
--- a/src/framework/standard/create_group.rs
+++ b/src/framework/standard/create_group.rs
@@ -1,12 +1,11 @@
-pub use super::command::{Command, CommandGroup, CommandType, Error as CommandError};
+pub use super::command::{Command, CommandGroup, CommandOptions, Error as CommandError};
pub(crate) use super::command::CommandOrAlias;
+pub(crate) use super::command::A;
pub use super::create_command::CreateCommand;
pub use super::Args;
use client::Context;
use model::{Message, Permissions};
-use std::collections::HashMap;
-use std::default::Default;
use std::sync::Arc;
/// Used to create command groups
@@ -28,7 +27,7 @@ pub struct CreateGroup(pub CommandGroup);
impl CreateGroup {
fn build_command(&self) -> CreateCommand {
- let mut cmd = CreateCommand(Command::default())
+ let mut cmd = CreateCommand(CommandOptions::default(), |_, _, _| Ok(()))
.required_permissions(self.0.required_permissions)
.dm_only(self.0.dm_only)
.guild_only(self.0.guild_only)
@@ -45,9 +44,9 @@ impl CreateGroup {
/// Adds a command to group.
pub fn command<F>(mut self, command_name: &str, f: F) -> Self
where F: FnOnce(CreateCommand) -> CreateCommand {
- let cmd = f(self.build_command()).0;
+ let cmd = f(self.build_command()).finish();
- for n in &cmd.aliases {
+ for n in &cmd.options().aliases {
if let Some(ref prefix) = self.0.prefix {
self.0.commands.insert(
format!("{} {}", prefix, n.to_string()),
@@ -63,7 +62,7 @@ impl CreateGroup {
self.0.commands.insert(
command_name.to_string(),
- CommandOrAlias::Command(Arc::new(cmd)),
+ CommandOrAlias::Command(cmd),
);
self
@@ -73,7 +72,7 @@ impl CreateGroup {
/// You can return Err(From::from(string)) if there's an error.
pub fn on(mut self, name: &str,
f: fn(&mut Context, &Message, Args) -> Result<(), CommandError>) -> Self {
- let cmd = Arc::new(Command::new(f));
+ let cmd = Arc::new(A(f));
self.0
.commands
@@ -145,19 +144,3 @@ impl CreateGroup {
self
}
}
-
-impl Default for CommandGroup {
- fn default() -> CommandGroup {
- CommandGroup {
- prefix: None,
- commands: HashMap::new(),
- bucket: None,
- required_permissions: Permissions::empty(),
- dm_only: false,
- guild_only: false,
- help_available: true,
- owners_only: false,
- allowed_roles: Vec::new(),
- }
- }
-}