Updated randoms to be less repeaty
This commit is contained in:
5 files changed
+156
-17
No files matched your search
+11
-5
@@ -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?;
|
||||
|
||||
Reference in new issue
Block a user