mirror of
https://github.com/supleed2/nanobot.git
synced 2024-12-22 22:25:51 +00:00
Switch to custom service
This commit is contained in:
parent
9ecd3722cb
commit
b761e7f7fc
26
src/main.rs
26
src/main.rs
|
@ -49,6 +49,14 @@ struct ManualMember {
|
||||||
#[shuttle_runtime::main]
|
#[shuttle_runtime::main]
|
||||||
async fn poise(
|
async fn poise(
|
||||||
#[shuttle_secrets::Secrets] secret_store: shuttle_secrets::SecretStore,
|
#[shuttle_secrets::Secrets] secret_store: shuttle_secrets::SecretStore,
|
||||||
|
#[shuttle_shared_db::Postgres] pool: sqlx::PgPool,
|
||||||
|
) -> Result<service::NanoBot, shuttle_runtime::Error> {
|
||||||
|
// Run SQLx Migrations
|
||||||
|
sqlx::migrate!()
|
||||||
|
.run(&pool)
|
||||||
|
.await
|
||||||
|
.map_err(shuttle_runtime::CustomError::new)?;
|
||||||
|
|
||||||
// Load secrets
|
// Load secrets
|
||||||
let au_ch_id = secret_store
|
let au_ch_id = secret_store
|
||||||
.get("AU_CHANNEL_ID")
|
.get("AU_CHANNEL_ID")
|
||||||
|
@ -75,6 +83,20 @@ async fn poise(
|
||||||
.parse()
|
.parse()
|
||||||
.expect("MEMBER_ID not valid u64");
|
.expect("MEMBER_ID not valid u64");
|
||||||
|
|
||||||
|
// Build Axum Router
|
||||||
|
use axum::routing::{get, post};
|
||||||
|
let router = axum::Router::new()
|
||||||
|
.route("/", get(routes::hello_world))
|
||||||
|
.route(
|
||||||
|
"/verify",
|
||||||
|
post({
|
||||||
|
let pool = pool.clone();
|
||||||
|
let key = secret_store
|
||||||
|
.get("VERIFY_KEY")
|
||||||
|
.context("VERIFY_KEY not found")?;
|
||||||
|
move |body| routes::verify(pool, body, key)
|
||||||
|
}),
|
||||||
|
);
|
||||||
.options(poise::FrameworkOptions {
|
.options(poise::FrameworkOptions {
|
||||||
commands: vec![
|
commands: vec![
|
||||||
cmds::cmds(),
|
cmds::cmds(),
|
||||||
|
@ -119,6 +141,10 @@ async fn poise(
|
||||||
})
|
})
|
||||||
});
|
});
|
||||||
|
|
||||||
|
// Return NanoBot
|
||||||
|
Ok(service::NanoBot { router, discord })
|
||||||
|
}
|
||||||
|
|
||||||
async fn event_handler(
|
async fn event_handler(
|
||||||
ctx: &serenity::Context,
|
ctx: &serenity::Context,
|
||||||
event: &poise::Event<'_>,
|
event: &poise::Event<'_>,
|
||||||
|
|
Loading…
Reference in a new issue