diff --git a/Cargo.lock b/Cargo.lock
index 67e8de1..7d2be5c 100644
--- a/Cargo.lock
+++ b/Cargo.lock
@@ -204,7 +204,6 @@ dependencies = [
name = "bot"
version = "0.1.0"
dependencies = [
- "chrono",
"clap",
"dotenv",
"hex_color",
@@ -294,10 +293,8 @@ checksum = "a21f936df1771bf62b77f047b726c4625ff2e8aa607c01ec06e5a05bd8463401"
dependencies = [
"android-tzdata",
"iana-time-zone",
- "js-sys",
"num-traits",
"serde",
- "wasm-bindgen",
"windows-targets 0.52.6",
]
diff --git a/src/commands/self_roles/color.rs b/src/commands/self_roles/color.rs
index 4248e27..26cdb61 100644
--- a/src/commands/self_roles/color.rs
+++ b/src/commands/self_roles/color.rs
@@ -20,8 +20,15 @@ pub async fn color(ctx: Context<'_>, color: String) -> Result<(), Error> {
};
if let Some(guild) = ctx.guild_id() {
- let role = match super::get_user_role(ctx, ctx.author().id, guild, db).await? {
- Some(role) => role,
+ match super::get_user_role(ctx.author().id, guild, db).await? {
+ Some(role) => {
+ guild.edit_role(ctx, role, EditRole::new().colour(Color::from_rgb(color.r, color.g, color.b))).await?;
+ let role = guild.role(ctx, role).await?;
+
+ ctx.reply(format!("{}'s color has been updated!", role)).await?;
+
+ Ok(())
+ },
None => {
let role = guild.create_role(ctx,
EditRole::new()
@@ -40,13 +47,7 @@ pub async fn color(ctx: Context<'_>, color: String) -> Result<(), Error> {
ctx.reply(format!("You have been given the {} role!", role)).await?;
return Ok(());
}
- };
-
- guild.edit_role(ctx, role, EditRole::new().colour(Color::from_rgb(color.r, color.g, color.b))).await?;
-
- ctx.reply("Your custom role's color has been updated!").await?;
-
- Ok(())
+ }
} else {
ctx.reply("This command must be run within a server.").await?;
Ok(())
diff --git a/src/commands/self_roles/disown.rs b/src/commands/self_roles/disown.rs
index 80b3ac1..f95e997 100644
--- a/src/commands/self_roles/disown.rs
+++ b/src/commands/self_roles/disown.rs
@@ -9,7 +9,7 @@ pub async fn disown(ctx: Context<'_>) -> Result<(), Error> {
let db = db.as_mut();
if let Some(guild) = ctx.guild_id() {
- if let Some(role) = super::get_user_role(ctx, ctx.author().id, guild, db).await? {
+ if let Some(role) = super::get_user_role(ctx.author().id, guild, db).await? {
guild.delete_role(ctx, role).await?;
sqlx::query("DELETE FROM selfroles WHERE roleid = $1")
diff --git a/src/commands/self_roles/mod.rs b/src/commands/self_roles/mod.rs
index b0c5a98..46dae12 100644
--- a/src/commands/self_roles/mod.rs
+++ b/src/commands/self_roles/mod.rs
@@ -8,6 +8,7 @@ mod whois;
mod color;
mod name;
mod disown;
+mod remove;
#[poise::command(
prefix_command,
@@ -18,13 +19,14 @@ mod disown;
"color::color",
"name::name",
"disown::disown",
+ "remove::remove",
)
)]
pub async fn role(_ctx: Context<'_>) -> Result<(), Error> {
Ok(())
}
-pub async fn get_user_role(_ctx: Context<'_>, user: UserId, guild: GuildId, db: &mut PgConnection) -> Result