Fix scenario where guild exists in file, but with no submissionChannel set
This commit is contained in:
parent
c3baa99068
commit
095062f17d
2 changed files with 11 additions and 4 deletions
|
@ -125,13 +125,14 @@ async fn submit(ctx: &Context, msg: &Message) -> CommandResult {
|
||||||
// there are large duplicated sections that need to be merged somehow.
|
// there are large duplicated sections that need to be merged somehow.
|
||||||
let guild_data = get_guild_data();
|
let guild_data = get_guild_data();
|
||||||
let guild = msg.guild_id.unwrap().as_u64().to_string();
|
let guild = msg.guild_id.unwrap().as_u64().to_string();
|
||||||
if !guild_data.contains_key(&guild) {
|
let current_guild_data = &guild_data[&guild].as_object().unwrap();
|
||||||
|
if !guild_data.contains_key(&guild) || !current_guild_data.contains_key("submissionChannel") {
|
||||||
msg.reply(&ctx.http, "Submissions aren't enabled for this server yet.").await?;
|
msg.reply(&ctx.http, "Submissions aren't enabled for this server yet.").await?;
|
||||||
return Ok(());
|
return Ok(());
|
||||||
}
|
}
|
||||||
let submission_channel = &guild_data[&guild].as_object().unwrap()["submissionChannel"].as_str().unwrap();
|
let submission_channel = current_guild_data["submissionChannel"].as_str().unwrap();
|
||||||
if submission_channel != &msg.channel_id.as_u64().to_string() {
|
if submission_channel != &msg.channel_id.as_u64().to_string() {
|
||||||
msg.reply(&ctx.http, format!("Sorry, submissions aren't permitted here. Please go to <#{}>. Thanks!", submission_channel)).await?;
|
msg.reply(&ctx.http, format!("Sorry, submissions aren't permitted here. Please go to <#{}>. Thanks!", guild)).await?;
|
||||||
return Ok(());
|
return Ok(());
|
||||||
}
|
}
|
||||||
if msg.attachments.len() == 0 {
|
if msg.attachments.len() == 0 {
|
||||||
|
|
|
@ -77,7 +77,13 @@ async fn setSubmissionChannel(ctx: &Context, msg: &Message) -> CommandResult {
|
||||||
let guild = msg.guild_id.unwrap().as_u64().to_string();
|
let guild = msg.guild_id.unwrap().as_u64().to_string();
|
||||||
let channel = msg.channel_id.as_u64().to_string();
|
let channel = msg.channel_id.as_u64().to_string();
|
||||||
if guild_data.contains_key(&guild) {
|
if guild_data.contains_key(&guild) {
|
||||||
guild_data[&guild].as_object_mut().unwrap()["submissionChannel"] = channel.into();
|
let mut current_guild_data = guild_data[&guild].as_object().unwrap().clone();
|
||||||
|
if current_guild_data.contains_key("submissionChannel") {
|
||||||
|
current_guild_data["submissionChannel"] = channel.into();
|
||||||
|
} else {
|
||||||
|
current_guild_data.insert(String::from("submissionChannel"), channel.into());
|
||||||
|
}
|
||||||
|
guild_data[&guild] = current_guild_data.into();
|
||||||
} else {
|
} else {
|
||||||
guild_data.insert(guild, json!({
|
guild_data.insert(guild, json!({
|
||||||
"submissionChannel": channel
|
"submissionChannel": channel
|
||||||
|
|
Loading…
Add table
Reference in a new issue