Bump versions
This commit is contained in:
parent
fb74c90a55
commit
26eabbe275
1886
Cargo.lock
generated
1886
Cargo.lock
generated
File diff suppressed because it is too large
Load Diff
20
Cargo.toml
20
Cargo.toml
@ -1,6 +1,6 @@
|
||||
[package]
|
||||
name = "fren"
|
||||
version = "2.8.1"
|
||||
version = "2.9.0"
|
||||
edition = "2024"
|
||||
|
||||
# See more keys and their definitions at https://doc.rust-lang.org/cargo/reference/manifest.html
|
||||
@ -8,16 +8,16 @@ edition = "2024"
|
||||
[dependencies]
|
||||
config = "0.15.11"
|
||||
structopt = "0.3.26"
|
||||
reqwest = { version = "0.12.15", features = ["json", "multipart"] }
|
||||
reqwest = { version = "0.13.3", features = ["json", "multipart", "query"] }
|
||||
serde = "1.0.195"
|
||||
rand = "0.9.0"
|
||||
rand = "0.10.1"
|
||||
tera = "1.19.1"
|
||||
ndm = "0.9.10"
|
||||
ndm = "0.10.0"
|
||||
regex = "1.10.2"
|
||||
magick_rust = "1.0.0"
|
||||
magick_rust = "2.0.0"
|
||||
json = "0.12.4"
|
||||
axum = "0.8.1"
|
||||
sha3 = "0.10.8"
|
||||
sha3 = "0.11.0"
|
||||
base64 = "0.22.0"
|
||||
j_db = { version = "0.1.2", registry = "ahines" }
|
||||
chrono = { version = "0.4.31", features = ["serde"] }
|
||||
@ -26,17 +26,17 @@ serde_json = "1.0.113"
|
||||
raas_types = { version = "0.1.0", registry = "ahines"}
|
||||
tonic = "0.12.3"
|
||||
prost = "0.13.5"
|
||||
emojis = "0.6.2"
|
||||
emojis = "0.8.1"
|
||||
poise = "0.6.1"
|
||||
tracing-subscriber = { version = "0.3.19", features = ["env-filter"] }
|
||||
log = "0.4.26"
|
||||
cta-api = { version = "0.5.0", registry = "ahines"}
|
||||
thiserror = "2.0.12"
|
||||
tracing-core = "0.1.33"
|
||||
strum = { version = "0.27.2", features = ["derive"] }
|
||||
strum = { version = "0.28.0", features = ["derive"] }
|
||||
thousands = "0.2.0"
|
||||
url = { version = "2.5.7", features = ["serde"] }
|
||||
convert_case = "0.10.0"
|
||||
convert_case = "0.11.0"
|
||||
rust-dsn-parser = { version = "1.0.0", registry = "ahines"}
|
||||
|
||||
[dependencies.tokio]
|
||||
@ -44,7 +44,7 @@ version = "1.35.1"
|
||||
features = ["macros", "rt-multi-thread"]
|
||||
|
||||
[dependencies.songbird]
|
||||
version = "0.5.0"
|
||||
version = "0.6.0"
|
||||
features = ["builtin-queue"]
|
||||
|
||||
[dependencies.symphonia]
|
||||
|
||||
@ -3,7 +3,6 @@ use crate::error::Error;
|
||||
use crate::models::birthday::BirthdayEntry;
|
||||
use poise::serenity_prelude::model::id::UserId;
|
||||
use poise::serenity_prelude::utils::MessageBuilder;
|
||||
use rand::{Rng, rng};
|
||||
|
||||
/// Add your birthday to the bot, it can probably be trusted with this info
|
||||
#[poise::command(prefix_command, category = "Birthdays")]
|
||||
@ -33,7 +32,7 @@ pub async fn add_birthday(
|
||||
ctx.reply(format!(
|
||||
"Thank you subject #{}, I am now {}% closer to making a full AI replica of you.",
|
||||
ctx.author().id.get(),
|
||||
rng().random_range(0.0..100.0)
|
||||
rand::random_range(0.0..100.0)
|
||||
))
|
||||
.await?;
|
||||
} else {
|
||||
|
||||
@ -52,7 +52,7 @@ pub async fn race(ctx: Context<'_>) -> Result<(), Error> {
|
||||
|
||||
let emojis = ctx.guild_id().unwrap().emojis(ctx.http()).await?;
|
||||
|
||||
let racers: Vec<_> = emojis.iter().choose_multiple(&mut rng(), NUMBER_OF_RACERS);
|
||||
let racers: Vec<_> = emojis.iter().sample(&mut rng(), NUMBER_OF_RACERS);
|
||||
|
||||
let racers: Result<Vec<Racer>, Error> = racers
|
||||
.iter()
|
||||
|
||||
@ -5,7 +5,6 @@ use j_db::database::Database;
|
||||
use log::info;
|
||||
use poise::serenity_prelude::model::id::UserId;
|
||||
use poise::serenity_prelude::prelude::Mentionable;
|
||||
use rand::{Rng, rng};
|
||||
|
||||
/// Get your balance or someone else's
|
||||
#[poise::command(prefix_command, category = "Fren Coin", aliases("audit"))]
|
||||
@ -120,11 +119,7 @@ pub async fn give_coin(
|
||||
percent: f64,
|
||||
number_of_coins: i64,
|
||||
) -> Result<bool, Error> {
|
||||
let should_get_coin = {
|
||||
let mut rng = rng();
|
||||
|
||||
rng.random_bool(percent)
|
||||
};
|
||||
let should_get_coin = { rand::random_bool(percent) };
|
||||
|
||||
if should_get_coin {
|
||||
info!("Randomly giving {} {} fren coins", user, number_of_coins);
|
||||
|
||||
@ -398,7 +398,7 @@ pub async fn emoji_8ball(
|
||||
|
||||
emojis.append(&mut unicode_emojis);
|
||||
|
||||
let emoji_msg: Vec<String> = emojis.choose_multiple(&mut rng(), 3).cloned().collect();
|
||||
let emoji_msg: Vec<String> = emojis.sample(&mut rng(), 3).cloned().collect();
|
||||
|
||||
ctx.reply(emoji_msg.join("")).await?;
|
||||
|
||||
|
||||
@ -5,7 +5,7 @@ use crate::models::lil_fren::{AliveState, LilFren, LilFrenState};
|
||||
use poise::serenity_prelude::model::misc::EmojiIdentifier;
|
||||
use poise::serenity_prelude::utils::MessageBuilder;
|
||||
use rand::prelude::IndexedRandom;
|
||||
use rand::{Rng, rng};
|
||||
use rand::rng;
|
||||
|
||||
/// Adopt a new little buddy!
|
||||
#[poise::command(
|
||||
@ -113,7 +113,7 @@ pub async fn feed(
|
||||
|
||||
if let Some(mut lil_fren) = lil_fren {
|
||||
if lil_fren.is_alive() == AliveState::Alive {
|
||||
let feed: f32 = rng().random_range(-0.1..=1.0);
|
||||
let feed: f32 = rand::random_range(-0.1..=1.0);
|
||||
lil_fren.hunger = (lil_fren.hunger + feed).clamp(-1.0, 1.0);
|
||||
let guild = ctx.guild_id().unwrap();
|
||||
|
||||
@ -159,7 +159,7 @@ pub async fn give_water(ctx: Context<'_>) -> Result<(), Error> {
|
||||
ctx.reply("Lil buddy be drinking!").await?;
|
||||
ctx.data().db.insert(lil_fren)?;
|
||||
|
||||
let drink = if rng().random_bool(0.20) {
|
||||
let drink = if rand::random_bool(0.20) {
|
||||
":beer:"
|
||||
} else {
|
||||
":cup_with_straw:"
|
||||
@ -190,7 +190,7 @@ pub async fn play(ctx: Context<'_>) -> Result<(), Error> {
|
||||
if let Some(mut lil_fren) = lil_fren {
|
||||
if lil_fren.is_alive() == AliveState::Alive {
|
||||
lil_fren.entertainment =
|
||||
(lil_fren.entertainment + rng().random_range(0.10..1.0)).clamp(-1.0, 1.0);
|
||||
(lil_fren.entertainment + rand::random_range(0.10..1.0)).clamp(-1.0, 1.0);
|
||||
let guild = ctx.guild_id().unwrap();
|
||||
|
||||
let lil_fren_emoji = guild.emoji(ctx, lil_fren.emoji).await?;
|
||||
|
||||
@ -33,7 +33,7 @@ use poise::serenity_prelude::{
|
||||
CreateMessage, GuildId, Http, Message, MessageBuilder, ReactionType, RoleId,
|
||||
};
|
||||
use poise::{FrameworkOptions, find_command, serenity_prelude as serenity};
|
||||
use rand::{Rng, rng};
|
||||
use rand::rng;
|
||||
use regex::Regex;
|
||||
use songbird::SerenityInit;
|
||||
use std::sync::Arc;
|
||||
@ -167,8 +167,7 @@ async fn handle_message(
|
||||
new_message.author.name, phrase.phrase
|
||||
);
|
||||
|
||||
let social_credit_change =
|
||||
rand::rng().random_range(phrase.lower_bound..=phrase.upper_bound);
|
||||
let social_credit_change = rand::random_range(phrase.lower_bound..=phrase.upper_bound);
|
||||
|
||||
User::update_social_credit(&data.db, new_message.author.id, social_credit_change)?;
|
||||
}
|
||||
@ -516,7 +515,7 @@ pub async fn is_alive(ctx: Context<'_>) -> Result<bool, Error> {
|
||||
ctx.reply("Sorry there ghosty looking fella, you appear to be unalived. I only give service to those who are alive.").await?;
|
||||
Ok(false)
|
||||
} else {
|
||||
if is_ghoul && rng().random_bool(0.50) {
|
||||
if is_ghoul && rand::random_bool(0.50) {
|
||||
let ghoul_responses = [
|
||||
"Oh god, what's wrong with your face? Looks like someone took it through a blender and lit it on fire",
|
||||
"You kiss your mother with that mouth?",
|
||||
|
||||
@ -9,7 +9,6 @@ use crate::user::{User, UserError};
|
||||
use chrono::{Duration, Utc};
|
||||
use poise::serenity_prelude::utils::MessageBuilder;
|
||||
use poise::serenity_prelude::{Channel, CreateMessage, UserId};
|
||||
use rand::{Rng, rng};
|
||||
use std::collections::hash_map::DefaultHasher;
|
||||
use std::hash::Hasher;
|
||||
use std::sync::Arc;
|
||||
@ -363,34 +362,34 @@ pub async fn restock_shop(
|
||||
|
||||
bot_user
|
||||
.inventory
|
||||
.give_item(ItemType::TheConceptOfLove, rng().random_range(0..=5), None);
|
||||
.give_item(ItemType::TheConceptOfLove, rand::random_range(0..=5), None);
|
||||
bot_user
|
||||
.inventory
|
||||
.give_item(ItemType::GoodFortune, rng().random_range(0..10), None);
|
||||
.give_item(ItemType::GoodFortune, rand::random_range(0..10), None);
|
||||
bot_user
|
||||
.inventory
|
||||
.give_item(ItemType::CancelInsurance, rng().random_range(1..=3), None);
|
||||
.give_item(ItemType::CancelInsurance, rand::random_range(1..=3), None);
|
||||
bot_user
|
||||
.inventory
|
||||
.give_item(ItemType::LicenseToBeHorny, rng().random_range(0..=25), None);
|
||||
.give_item(ItemType::LicenseToBeHorny, rand::random_range(0..=25), None);
|
||||
bot_user
|
||||
.inventory
|
||||
.give_item(ItemType::KillGun, rng().random_range(1..=5), None);
|
||||
.give_item(ItemType::KillGun, rand::random_range(1..=5), None);
|
||||
bot_user
|
||||
.inventory
|
||||
.give_item(ItemType::CancelRay, rng().random_range(1..=5), None);
|
||||
.give_item(ItemType::CancelRay, rand::random_range(1..=5), None);
|
||||
bot_user
|
||||
.inventory
|
||||
.give_item(ItemType::Helmet, rng().random_range(1..=3), None);
|
||||
.give_item(ItemType::Helmet, rand::random_range(1..=3), None);
|
||||
bot_user
|
||||
.inventory
|
||||
.give_item(ItemType::EMP, rng().random_range(1..=2), None);
|
||||
.give_item(ItemType::EMP, rand::random_range(1..=2), None);
|
||||
bot_user
|
||||
.inventory
|
||||
.give_item(ItemType::PhraseCanceler, rng().random_range(1..=5), None);
|
||||
.give_item(ItemType::PhraseCanceler, rand::random_range(1..=5), None);
|
||||
bot_user
|
||||
.inventory
|
||||
.give_item(ItemType::LandMine, rng().random_range(1..=5), None);
|
||||
.give_item(ItemType::LandMine, rand::random_range(1..=5), None);
|
||||
bot_user.inventory.give_item(ItemType::Nuke, 1, None);
|
||||
|
||||
loop {
|
||||
|
||||
@ -199,7 +199,7 @@ pub async fn speak(
|
||||
|
||||
let src = input::File::new(word_path);
|
||||
|
||||
let audio_src = Compressed::new(src.into(), Bitrate::BitsPerSecond(128_000))
|
||||
let audio_src = Compressed::new(src.into(), Bitrate::Bits(128_000))
|
||||
.await
|
||||
.expect("Bad params on message load");
|
||||
|
||||
|
||||
@ -9,7 +9,6 @@ use log::{debug, error};
|
||||
use poise::serenity_prelude::{
|
||||
ArgumentConvert, CacheHttp, ChannelId, Context, Emoji, MessageId, UserId,
|
||||
};
|
||||
use rand::{Rng, rng};
|
||||
use serde::{Deserialize, Serialize};
|
||||
use std::fmt::Debug;
|
||||
use std::sync::Arc;
|
||||
@ -160,7 +159,7 @@ impl Listener {
|
||||
}
|
||||
|
||||
pub fn check_if_triggers(&self, trigger_type: &TriggerType) -> bool {
|
||||
self.trigger.match_event(trigger_type) && rng().random_bool(self.trigger_chance)
|
||||
self.trigger.match_event(trigger_type) && rand::random_bool(self.trigger_chance)
|
||||
}
|
||||
|
||||
pub async fn handle_action(
|
||||
|
||||
@ -190,22 +190,12 @@ async fn apply_motivation_layer(
|
||||
border_wand.set_color(&motivation.border_color)?;
|
||||
let width = wand.get_image_width();
|
||||
let border = width / 100;
|
||||
wand.border_image(
|
||||
&border_wand,
|
||||
border,
|
||||
border,
|
||||
magick_rust::bindings::CompositeOperator_OverCompositeOp.into(),
|
||||
)?;
|
||||
wand.border_image(&border_wand, border, border, CompositeOperator::Over)?;
|
||||
|
||||
border_wand.set_color("black")?;
|
||||
let width = wand.get_image_width();
|
||||
let border = width * 20 / 100;
|
||||
wand.border_image(
|
||||
&border_wand,
|
||||
border,
|
||||
border,
|
||||
magick_rust::bindings::CompositeOperator_OverCompositeOp.into(),
|
||||
)?;
|
||||
wand.border_image(&border_wand, border, border, CompositeOperator::Over)?;
|
||||
|
||||
let text_pos_x = wand.get_image_width() as f64 / 2.0;
|
||||
let text_pos_y = wand.get_image_height() as f64 - (wand.get_image_height() as f64 * 0.05);
|
||||
@ -363,8 +353,8 @@ impl Alignment {
|
||||
}
|
||||
|
||||
impl Distribution<Alignment> for StandardUniform {
|
||||
fn sample<R: Rng + ?Sized>(&self, rng: &mut R) -> Alignment {
|
||||
match rng.random_range(0..=2) {
|
||||
fn sample<R: Rng + ?Sized>(&self, _rng: &mut R) -> Alignment {
|
||||
match rand::random_range(0..=2) {
|
||||
0 => Alignment::Left,
|
||||
1 => Alignment::Center,
|
||||
_ => Alignment::Right,
|
||||
|
||||
@ -4,7 +4,7 @@ use j_db::database::Database;
|
||||
use j_db::model::JdbModel;
|
||||
use poise::serenity_prelude::model::id::UserId;
|
||||
use rand::distr::Alphanumeric;
|
||||
use rand::{Rng, rng};
|
||||
use rand::{RngExt, rng};
|
||||
use serde::{Deserialize, Serialize};
|
||||
use sha3::digest::FixedOutput;
|
||||
use sha3::{Digest, Sha3_256};
|
||||
|
||||
@ -5,7 +5,6 @@ use chrono::{DateTime, Days, NaiveTime, TimeZone, Utc};
|
||||
use j_db::database::Database;
|
||||
use log::info;
|
||||
use poise::serenity_prelude::UserId;
|
||||
use rand::{Rng, rng};
|
||||
use serde::{Deserialize, Serialize};
|
||||
use std::collections::HashMap;
|
||||
use thiserror::Error;
|
||||
@ -216,11 +215,11 @@ impl GogurtReserves {
|
||||
}
|
||||
|
||||
pub fn market_function() -> f64 {
|
||||
match rng().random_range(0..100) {
|
||||
0..10 => rng().random_range(8.5..10.0),
|
||||
90..98 => rng().random_range(10.0..12.0),
|
||||
98..100 => rng().random_range(12.0..14.0),
|
||||
_ => rng().random_range(9.0..11.0),
|
||||
match rand::random_range(0..100) {
|
||||
0..10 => rand::random_range(8.5..10.0),
|
||||
90..98 => rand::random_range(10.0..12.0),
|
||||
98..100 => rand::random_range(12.0..14.0),
|
||||
_ => rand::random_range(9.5..10.1),
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
@ -9,7 +9,7 @@ use poise::serenity_prelude::model::guild::Emoji;
|
||||
use poise::serenity_prelude::model::id::{EmojiId, GuildId};
|
||||
use poise::serenity_prelude::utils::MessageBuilder;
|
||||
use rand::distr::{Distribution, StandardUniform};
|
||||
use rand::{Rng, rng};
|
||||
use rand::{Rng, RngExt, rng};
|
||||
use serde::{Deserialize, Serialize};
|
||||
use std::sync::Arc;
|
||||
|
||||
@ -285,8 +285,8 @@ impl LilFren {
|
||||
thirst: 1.0,
|
||||
entertainment: 1.0,
|
||||
state: LilFrenState::Standing,
|
||||
smarts: rng().random_range(0.0..0.5),
|
||||
metabolism: rng().random_range(0.2..0.75),
|
||||
smarts: rand::random_range(0.0..0.5),
|
||||
metabolism: rand::random_range(0.2..0.75),
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
@ -3,7 +3,6 @@ use crate::user::UserError;
|
||||
use j_db::database::Database;
|
||||
use j_db::model::JdbModel;
|
||||
use poise::serenity_prelude::{Emoji, EmojiId, MessageBuilder, UserId};
|
||||
use rand::{Rng, rng};
|
||||
use serde::{Deserialize, Serialize};
|
||||
use std::fmt::{Display, Formatter};
|
||||
|
||||
@ -121,7 +120,7 @@ impl Eq for Racer {}
|
||||
impl Racer {
|
||||
pub fn new(emoji: Emoji) -> Self {
|
||||
let genetic_stat = (emoji.id.get() & 0xff) as f32 / 255.0;
|
||||
let random_stat = rng().random_range(0.0..0.5);
|
||||
let random_stat = rand::random_range(0.0..0.5);
|
||||
let speed = BASE_SPEED + (0.50 * genetic_stat) + (0.50 * random_stat);
|
||||
|
||||
Racer {
|
||||
@ -133,7 +132,7 @@ impl Racer {
|
||||
}
|
||||
|
||||
pub fn update_pos(&mut self) {
|
||||
let speed_boost = rng().random_range(-0.75..0.75);
|
||||
let speed_boost = rand::random_range(-0.75..0.75);
|
||||
self.pos += self.speed + (self.speed * speed_boost);
|
||||
|
||||
self.pos = self.pos.clamp(0.0, RACE_SIZE as f32);
|
||||
|
||||
Loading…
x
Reference in New Issue
Block a user