1
0
Fork 0

Compare commits

..

5 Commits

7 changed files with 64 additions and 13 deletions

1
Cargo.lock generated
View File

@ -1407,6 +1407,7 @@ checksum = "13dc2df351e3202783a1fe0d44375f7295ffb4049267b0f3018346dc122a1d94"
[[package]]
name = "manifold"
version = "8.0.0"
source = "git+https://code.orbiter-radio.uk/discord/manifold.git#a9fb91c7718a5b21310f2c9a196ee66081d72054"
dependencies = [
"built",
"chrono",

15
Dockerfile Normal file
View File

@ -0,0 +1,15 @@
FROM rust:latest AS builder
WORKDIR /usr/src/hal
COPY . .
RUN cargo install --path .
FROM debian:bookworm-slim
RUN apt-get update && apt-get install -y libpq5 libssl3 && rm -rf /var/lib/apt/lists/*
RUN mkdir -pv /srv/hal
COPY --from=builder /usr/local/cargo/bin/hal /srv/hal
RUN chmod a+x /srv/hal/hal
COPY --from=builder /usr/src/hal/config /srv/hal/config
COPY --from=builder /usr/src/hal/txt /srv/hal/txt
RUN find /srv/hal/
WORKDIR /srv/hal
CMD ["./hal", "-e", "development"]

17
compose.yaml Normal file
View File

@ -0,0 +1,17 @@
services:
hal:
depends_on:
psql:
condition: service_started
restart: true
build: .
environment:
- DISCORD_TOKEN=${DISCORD_TOKEN}
- RUST_LOG=warn
psql:
image: postgres
restart: always
# set shared memory limit when using docker compose
shm_size: 128mb
environment:
POSTGRES_PASSWORD: "7ZhUVzr7sxcPEEDMdxfEryW4NTZX5C2ufzZd3r2s25xULgH7FWXJVts"

View File

@ -2,10 +2,10 @@
"prefix": "!",
"nickname": "Hal 9000",
"database": {
"host": "127.0.0.1",
"user": "badgey_development",
"host": "psql",
"user": "postgres",
"pass": "7ZhUVzr7sxcPEEDMdxfEryW4NTZX5C2ufzZd3r2s25xULgH7FWXJVts",
"database_name": "hal_development",
"database_name": "postgres",
"port": 5432
},
"channels": {

View File

@ -42,14 +42,28 @@ async fn randommk(context: ManifoldContext<'_>, count: u32, balance: bool, insid
for combo in combos {
context.send(|c| {
c.embed(|embed| {
embed
.title(format!("{combo_number}. {0}, {1}, {2}, {3}", combo.character, combo.body, combo.tires, combo.glider))
.image(format!("https://mkrandomizer.awsxdr.com/images/characters/{0}.png", combo.character))
.image(format!("https://mkrandomizer.awsxdr.com/images/bodies/{0}.png", combo.body))
.image(format!("https://mkrandomizer.awsxdr.com/images/tires/{0}.png", combo.tires))
.image(format!("https://mkrandomizer.awsxdr.com/images/gliders/{0}.png", combo.glider))
})
c
.content(format!("{combo_number}. {0}, {1}, {2}, {3}", combo.character, combo.body, combo.tires, combo.glider))
.embed(|embed| {
embed
.url("https://mkrandomizer.awsxdr.com/")
.image(format!("https://mkrandomizer.awsxdr.com/images/characters/{0}.png", combo.character))
})
.embed(|embed| {
embed
.url("https://mkrandomizer.awsxdr.com/")
.image(format!("https://mkrandomizer.awsxdr.com/images/bodies/{0}.png", combo.body))
})
.embed(|embed| {
embed
.url("https://mkrandomizer.awsxdr.com/")
.image(format!("https://mkrandomizer.awsxdr.com/images/tires/{0}.png", combo.tires))
})
.embed(|embed| {
embed
.url("https://mkrandomizer.awsxdr.com/")
.image(format!("https://mkrandomizer.awsxdr.com/images/gliders/{0}.png", combo.glider))
})
}).await?;
combo_number += 1;

View File

@ -58,7 +58,7 @@ impl MarioKartRandomizer {
let selection_slice = &scored_combinations[min as usize..max as usize];
for _ in 1..count {
for _ in 0..count {
let combo = selection_slice.choose(&mut random).unwrap();
result.push(combo.combination.clone());
}
@ -71,7 +71,7 @@ impl MarioKartRandomizer {
get_kart_combinations()
} else {
let stats = get_item_stats();
get_kart_combinations().iter().filter(|k| { stats.bodies[&k.body].inside_drift }).cloned().collect()
get_kart_combinations().iter().filter(|k| { !stats.bodies[&k.body].inside_drift }).cloned().collect()
}
}

View File

@ -16,6 +16,8 @@ pub async fn run(arguments: ArgMatches) {
let git_info: String = built_info::GIT_VERSION.unwrap_or("unknown").to_string();
let version_string = format!("Hal 9000 Bot version {ver} built at {time} from revision {rev}", ver=built_info::PKG_VERSION, time=built_info::BUILT_TIME_UTC, rev=git_info).to_string();
warn!("HAL Client initialising...");
let client = match manifold::prepare_client::<HalHandler>(arguments, GatewayIntents::all(), commands::collect_commands(), version_string, MIGRATIONS).await {
Ok(c) => c,
Err(e) => {
@ -24,5 +26,7 @@ pub async fn run(arguments: ArgMatches) {
}
};
warn!("HAL Client connecting...");
let _ = client.build().await.unwrap().start().await;
}