Updated randoms to be less repeaty

This commit is contained in:
joeyahines committed 2024-03-22 21:06:06 -06:00
1 parent a65fdfdd4d
commit 93975f463c
5 files changed
+156 -17

No files matched your search

+11 -5
View File
@@ -1,7 +1,7 @@
use crate::album_manager::{Album, AlbumQuery, ImageQuery, ImageSort};
use crate::error::Error;
use crate::models::insult_compliment::{RandomResponseTemplate, ResponseType};
use crate::models::random::RandomConfig;
use crate::models::random::{Random, RandomConfig};
use crate::{command, group, GlobalData, BAD_APPLE};
use reqwest::Client;
use serde::{Deserialize, Serialize};
@@ -106,7 +106,7 @@ pub async fn random(ctx: &Context, msg: &Message, random_name: &str) -> CommandR
Some(r) => r,
};
let response_template_str = match random.get_response()? {
let response_template_str = match random.get_response(&global_data.db)? {
None => {
msg.reply(&ctx, format!("I'm all out of material for {}", random_name))
.await?;
@@ -125,7 +125,7 @@ pub async fn random(ctx: &Context, msg: &Message, random_name: &str) -> CommandR
let reply = render_random(
guild_member.display_name(),
global_data,
response_template_str,
&response_template_str,
)
.await?;
@@ -189,10 +189,16 @@ pub async fn list_random(ctx: &Context, msg: &Message, args: Args) -> CommandRes
let dm_channel = msg.author.id.create_dm_channel(&ctx.http).await?;
if let Some(random) = random {
let mut msg_builder = MessageBuilder::new();
msg_builder.push_line(format!("All possible responses for {}:", random_name));
msg_builder.push_line(format!(
"All possible responses for {} all {} of them..:",
random_name,
random.responses.len()
));
for resp in random.responses {
let line_msg = format!("* {}", resp);
let random = global_data.db.get::<Random>(resp)?;
let line_msg = format!("* ({}) ({}) {}", resp, random.score, random.response);
if (msg_builder.0.len() + line_msg.len()) > MESSAGE_CODE_LIMIT {
dm_channel.say(&ctx.http, msg_builder.build()).await?;