Add back in lil fren commands, delete story module

This commit is contained in:
joeyahines committed 2025-03-22 18:59:14 -06:00
1 parent 3005178a62
commit 8b9d1da206
4 files changed
+124 -367

No files matched your search

+11 -11
View File
@@ -1,14 +1,16 @@
use crate::config::GlobalData;
use crate::discord::Context;
use crate::error::Error;
use j_db::database::Database;
use j_db::model::JdbModel;
use log::{debug, info};
use poise::serenity_prelude::model::guild::Emoji;
use poise::serenity_prelude::model::id::{EmojiId, GuildId};
use poise::serenity_prelude::prelude::Context;
use poise::serenity_prelude::utils::MessageBuilder;
use rand::distr::{Distribution, StandardUniform};
use rand::{rng, Rng};
use serde::{Deserialize, Serialize};
use std::sync::Arc;
use std::time::Duration;
pub fn draw_standing(emoji: &Emoji) -> String {
@@ -296,8 +298,8 @@ impl LilFren {
lil_fren.thirst =
(lil_fren.entertainment + entertainment_diff * self.smarts).clamp(-1.0, 1.0);
if rng().gen_bool(0.75) {
println!("fren is now {:?}", self.state);
if rng().random_bool(0.75) {
info!("fren is now {:?}", self.state);
lil_fren.state = rng().random();
}
@@ -334,8 +336,8 @@ impl LilFren {
}
}
pub async fn draw(&self, ctx: &Context, guild: &GuildId) -> String {
let emoji = guild.emoji(&ctx.http, self.emoji).await.unwrap();
pub async fn draw(&self, ctx: Context<'_>, guild: &GuildId) -> String {
let emoji = guild.emoji(&ctx, self.emoji).await.unwrap();
let alive_state = self.is_alive();
if let AliveState::Alive = alive_state {
@@ -346,14 +348,12 @@ impl LilFren {
}
}
pub async fn lil_fren_task(ctx: &Context) {
pub async fn lil_fren_task(data: Arc<GlobalData>) {
tokio::time::sleep(Duration::from_secs(60)).await;
let data = ctx.data.read().await;
let global_data = data.get::<GlobalData>().unwrap();
let fren = LilFren::get_lil_fren(&global_data.db).unwrap();
let fren = LilFren::get_lil_fren(&data.db).unwrap();
if let Some(mut fren) = fren {
fren.update_fren(&global_data.db).unwrap();
debug!("Updating Lil Fren state...");
fren.update_fren(&data.db).unwrap();
}
}