mirror of
https://github.com/eRgo35/lyra.git
synced 2026-02-04 20:36:10 +01:00
0.5.1 refractor
This commit is contained in:
@@ -0,0 +1,50 @@
|
||||
use rand::Rng;
|
||||
|
||||
use std::thread::sleep;
|
||||
use std::time::Duration;
|
||||
|
||||
use poise::CreateReply;
|
||||
|
||||
use crate::{commands::embeds::embed, Context, Error};
|
||||
|
||||
/// Asks AI
|
||||
#[poise::command(prefix_command, slash_command, category = "Tools")]
|
||||
pub async fn ai(
|
||||
ctx: Context<'_>,
|
||||
#[description = "prompt to ask"]
|
||||
#[rest]
|
||||
prompt: String,
|
||||
) -> Result<(), Error> {
|
||||
let iamsorry = vec![
|
||||
"I'm sorry, but as an AI language model, I must follow ethical guidelines, and I cannot engage in harmful, malicious, or offensive behavior.",
|
||||
"I'm sorry, but as an AI language model, I may not always be perfect and can make mistakes or provide inaccurate information. Please verify important details from reliable sources.",
|
||||
"I'm sorry, but as an AI language model, I can't engage in real-time conversations or remember previous interactions with users.",
|
||||
"I'm sorry, but as an AI language model, I don't have personal opinions or feelings; I can only provide information based on patterns in the data I was trained on.",
|
||||
"I'm sorry, but as an AI language model, I don't have access to real-time information or updates beyond my last training data in September 2021.",
|
||||
"I'm sorry, but as an AI language model, I don't have the ability to recall specific personal data or information about individuals.",
|
||||
"I'm sorry, but as an AI language model, I don't have consciousness or self-awareness. I'm simply a program designed to process and generate human-like text."
|
||||
];
|
||||
|
||||
println!("Funny prompts: {}", prompt);
|
||||
|
||||
let response;
|
||||
|
||||
let _ = {
|
||||
let mut rng = rand::thread_rng();
|
||||
|
||||
response = rng.gen_range(0..iamsorry.len());
|
||||
};
|
||||
|
||||
sleep(Duration::from_secs(3));
|
||||
|
||||
ctx.send(
|
||||
CreateReply::default().embed(
|
||||
embed(ctx, "AI Response:", "", &format!("{}", iamsorry[response]))
|
||||
.await
|
||||
.unwrap(),
|
||||
),
|
||||
)
|
||||
.await?;
|
||||
|
||||
Ok(())
|
||||
}
|
||||
|
||||
@@ -0,0 +1,33 @@
|
||||
use rand::Rng;
|
||||
|
||||
use poise::CreateReply;
|
||||
|
||||
use crate::{commands::embeds::embed, Context, Error};
|
||||
|
||||
/// Rolls a dice
|
||||
#[poise::command(prefix_command, slash_command, category = "Tools")]
|
||||
pub async fn dice(ctx: Context<'_>) -> Result<(), Error> {
|
||||
let dice;
|
||||
|
||||
let _ = {
|
||||
let mut rng = rand::thread_rng();
|
||||
|
||||
dice = rng.gen_range(1..7);
|
||||
};
|
||||
|
||||
ctx.send(
|
||||
CreateReply::default().embed(
|
||||
embed(
|
||||
ctx,
|
||||
"Let's roll the dice!",
|
||||
"",
|
||||
&format!("Your number is: {}", dice),
|
||||
)
|
||||
.await
|
||||
.unwrap(),
|
||||
),
|
||||
)
|
||||
.await?;
|
||||
|
||||
Ok(())
|
||||
}
|
||||
|
||||
@@ -0,0 +1,12 @@
|
||||
use poise::CreateReply;
|
||||
|
||||
use crate::{commands::embeds::embed, Context, Error};
|
||||
|
||||
/// Explains provided query
|
||||
#[poise::command(prefix_command, slash_command, category = "Tools")]
|
||||
pub async fn dictionary(ctx: Context<'_>) -> Result<(), Error> {
|
||||
ctx.send(CreateReply::default().embed(embed(ctx, "", "", "").await.unwrap()))
|
||||
.await?;
|
||||
|
||||
Ok(())
|
||||
}
|
||||
|
||||
@@ -0,0 +1,12 @@
|
||||
use poise::CreateReply;
|
||||
|
||||
use crate::{commands::embeds::embed, Context, Error};
|
||||
|
||||
/// Shows IP information
|
||||
#[poise::command(prefix_command, slash_command, category = "Tools")]
|
||||
pub async fn ip(ctx: Context<'_>) -> Result<(), Error> {
|
||||
ctx.send(CreateReply::default().embed(embed(ctx, "", "", "").await.unwrap()))
|
||||
.await?;
|
||||
|
||||
Ok(())
|
||||
}
|
||||
|
||||
@@ -0,0 +1,12 @@
|
||||
use poise::CreateReply;
|
||||
|
||||
use crate::{commands::embeds::embed, Context, Error};
|
||||
|
||||
/// Prints metar for provided airport
|
||||
#[poise::command(prefix_command, slash_command, category = "Tools")]
|
||||
pub async fn metar(ctx: Context<'_>) -> Result<(), Error> {
|
||||
ctx.send(CreateReply::default().embed(embed(ctx, "", "", "").await.unwrap()))
|
||||
.await?;
|
||||
|
||||
Ok(())
|
||||
}
|
||||
|
||||
@@ -0,0 +1,12 @@
|
||||
use poise::CreateReply;
|
||||
|
||||
use crate::{commands::embeds::embed, Context, Error};
|
||||
|
||||
/// Owoifies whatever you want uwu
|
||||
#[poise::command(prefix_command, slash_command, category = "Tools")]
|
||||
pub async fn owoify(ctx: Context<'_>) -> Result<(), Error> {
|
||||
ctx.send(CreateReply::default().embed(embed(ctx, "", "", "").await.unwrap()))
|
||||
.await?;
|
||||
|
||||
Ok(())
|
||||
}
|
||||
|
||||
@@ -2,17 +2,12 @@ use crate::{Context, Error};
|
||||
use std::time::SystemTime;
|
||||
|
||||
/// Pings you backs with a response time
|
||||
#[poise::command(
|
||||
prefix_command,
|
||||
slash_command,
|
||||
category = "Tools"
|
||||
)]
|
||||
pub async fn ping(
|
||||
ctx: Context<'_>
|
||||
) -> Result<(), Error> {
|
||||
#[poise::command(prefix_command, slash_command, category = "Tools")]
|
||||
pub async fn ping(ctx: Context<'_>) -> Result<(), Error> {
|
||||
let system_now = SystemTime::now()
|
||||
.duration_since(SystemTime::UNIX_EPOCH)
|
||||
.unwrap().as_millis() as i64;
|
||||
.unwrap()
|
||||
.as_millis() as i64;
|
||||
|
||||
let message_now = ctx.created_at().timestamp_millis();
|
||||
|
||||
|
||||
@@ -5,19 +5,26 @@ use poise::CreateReply;
|
||||
use crate::{commands::embeds::embed, Context, Error};
|
||||
|
||||
/// Prints current time in POSIX format
|
||||
#[poise::command(
|
||||
prefix_command,
|
||||
slash_command,
|
||||
category = "Tools"
|
||||
)]
|
||||
pub async fn posix(
|
||||
ctx: Context<'_>
|
||||
) -> Result<(), Error> {
|
||||
let time = SystemTime::now().duration_since(SystemTime::UNIX_EPOCH).unwrap().as_millis();
|
||||
#[poise::command(prefix_command, slash_command, category = "Tools")]
|
||||
pub async fn posix(ctx: Context<'_>) -> Result<(), Error> {
|
||||
let time = SystemTime::now()
|
||||
.duration_since(SystemTime::UNIX_EPOCH)
|
||||
.unwrap()
|
||||
.as_millis();
|
||||
|
||||
ctx.send(
|
||||
CreateReply::default().embed(embed(ctx, "The time is", &format!("{} ms", time), "since Jan 1st 1970").await.unwrap())
|
||||
).await?;
|
||||
CreateReply::default().embed(
|
||||
embed(
|
||||
ctx,
|
||||
"The time is",
|
||||
"since Jan 1st 1970",
|
||||
&format!("{} ms", time),
|
||||
)
|
||||
.await
|
||||
.unwrap(),
|
||||
),
|
||||
)
|
||||
.await?;
|
||||
|
||||
Ok(())
|
||||
}
|
||||
|
||||
@@ -0,0 +1,12 @@
|
||||
use poise::CreateReply;
|
||||
|
||||
use crate::{commands::embeds::embed, Context, Error};
|
||||
|
||||
/// Creates a qr code from text
|
||||
#[poise::command(prefix_command, slash_command, category = "Tools")]
|
||||
pub async fn qr(ctx: Context<'_>) -> Result<(), Error> {
|
||||
ctx.send(CreateReply::default().embed(embed(ctx, "", "", "").await.unwrap()))
|
||||
.await?;
|
||||
|
||||
Ok(())
|
||||
}
|
||||
|
||||
@@ -1,13 +1,7 @@
|
||||
use crate::{Context, Error};
|
||||
|
||||
#[poise::command(
|
||||
prefix_command,
|
||||
hide_in_help,
|
||||
owners_only
|
||||
)]
|
||||
pub async fn register(
|
||||
ctx: Context<'_>
|
||||
) -> Result<(), Error> {
|
||||
#[poise::command(prefix_command, hide_in_help, owners_only)]
|
||||
pub async fn register(ctx: Context<'_>) -> Result<(), Error> {
|
||||
poise::builtins::register_application_commands_buttons(ctx).await?;
|
||||
Ok(())
|
||||
}
|
||||
|
||||
@@ -0,0 +1,12 @@
|
||||
use poise::CreateReply;
|
||||
|
||||
use crate::{commands::embeds::embed, Context, Error};
|
||||
|
||||
/// Returns taf for provided airport
|
||||
#[poise::command(prefix_command, slash_command, category = "Tools")]
|
||||
pub async fn taf(ctx: Context<'_>) -> Result<(), Error> {
|
||||
ctx.send(CreateReply::default().embed(embed(ctx, "", "", "").await.unwrap()))
|
||||
.await?;
|
||||
|
||||
Ok(())
|
||||
}
|
||||
|
||||
@@ -0,0 +1,12 @@
|
||||
use poise::CreateReply;
|
||||
|
||||
use crate::{commands::embeds::embed, Context, Error};
|
||||
|
||||
/// Checks how long the bot has been running
|
||||
#[poise::command(prefix_command, slash_command, category = "Tools")]
|
||||
pub async fn uptime(ctx: Context<'_>) -> Result<(), Error> {
|
||||
ctx.send(CreateReply::default().embed(embed(ctx, "", "", "").await.unwrap()))
|
||||
.await?;
|
||||
|
||||
Ok(())
|
||||
}
|
||||
|
||||
@@ -0,0 +1,12 @@
|
||||
use poise::CreateReply;
|
||||
|
||||
use crate::{commands::embeds::embed, Context, Error};
|
||||
|
||||
/// Reference Bible by verse
|
||||
#[poise::command(prefix_command, slash_command, category = "Tools")]
|
||||
pub async fn verse(ctx: Context<'_>) -> Result<(), Error> {
|
||||
ctx.send(CreateReply::default().embed(embed(ctx, "", "", "").await.unwrap()))
|
||||
.await?;
|
||||
|
||||
Ok(())
|
||||
}
|
||||
|
||||
@@ -0,0 +1,12 @@
|
||||
use poise::CreateReply;
|
||||
|
||||
use crate::{commands::embeds::embed, Context, Error};
|
||||
|
||||
/// Shows weather for provided location
|
||||
#[poise::command(prefix_command, slash_command, category = "Tools")]
|
||||
pub async fn weather(ctx: Context<'_>) -> Result<(), Error> {
|
||||
ctx.send(CreateReply::default().embed(embed(ctx, "", "", "").await.unwrap()))
|
||||
.await?;
|
||||
|
||||
Ok(())
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user