Skip to content

Commit

Permalink
A couple unwrap fixes (#179)
Browse files Browse the repository at this point in the history
* Assign avatar url at first shard ready

* Fix unwrap on no suitable compielrs found

* Error on unable to edit
  • Loading branch information
Headline authored Aug 30, 2022
1 parent 115250b commit f919299
Show file tree
Hide file tree
Showing 2 changed files with 24 additions and 17 deletions.
24 changes: 9 additions & 15 deletions src/events.rs
Original file line number Diff line number Diff line change
Expand Up @@ -31,25 +31,13 @@ pub struct Handler; // event handler for serenity

#[async_trait]
trait ShardsReadyHandler {
async fn all_shards_ready(
&self,
ctx: &Context,
stats: &mut MutexGuard<'_, StatsManager>,
ready: &Ready,
);
async fn all_shards_ready(&self, ctx: &Context, stats: &mut MutexGuard<'_, StatsManager>);
}

#[async_trait]
impl ShardsReadyHandler for Handler {
async fn all_shards_ready(
&self,
ctx: &Context,
stats: &mut MutexGuard<'_, StatsManager>,
ready: &Ready,
) {
async fn all_shards_ready(&self, ctx: &Context, stats: &mut MutexGuard<'_, StatsManager>) {
let data = ctx.data.read().await;
let mut info = data.get::<ConfigCache>().unwrap().write().await;
info.insert("BOT_AVATAR", ready.user.avatar_url().unwrap());

let shard_manager = data.get::<ShardManagerCache>().unwrap().lock().await;
let guild_count = stats.get_boot_vec_sum();
Expand Down Expand Up @@ -301,8 +289,14 @@ impl EventHandler for Handler {
let guild_count = ready.guilds.len() as u64;
stats.add_shard(guild_count);

// insert avatar at first opportunity
if stats.shard_count() == 1 {
let mut info = data.get::<ConfigCache>().unwrap().write().await;
info.insert("BOT_AVATAR", ready.user.avatar_url().unwrap());
}

if stats.shard_count() == total_shards_to_spawn {
self.all_shards_ready(&ctx, &mut stats, &ready).await;
self.all_shards_ready(&ctx, &mut stats).await;
}
}
}
Expand Down
17 changes: 15 additions & 2 deletions src/utls/discordhelpers/interactions.rs
Original file line number Diff line number Diff line change
Expand Up @@ -202,6 +202,14 @@ pub async fn create_compiler_options(
}
}

if list.is_none() {
warn!("No suitable compilers found for: {}", &language);
return Err(CommandError::from(format!(
"No suitable compilers found for: {}",
language
)));
}

for compiler in list.unwrap() {
let mut option = CreateSelectMenuOption::default();
option.label(compiler[0]);
Expand Down Expand Up @@ -512,12 +520,17 @@ where
}
}

command
if let Err(err) = command
.edit_original_interaction_response(&ctx.http, |resp| {
edit_to_confirmation_interaction(&result, resp)
})
.await
.unwrap();
{
return Err(CommandError::from(format!(
"Unable to update response: {}",
err
)));
}

let int_resp = command.get_interaction_response(&ctx.http).await?;
if let Some(int) = int_resp.await_component_interaction(&ctx.shard).await {
Expand Down

0 comments on commit f919299

Please sign in to comment.