Add configuration and database setup

- Updated Cargo.toml with necessary dependencies
- Enhanced config.rs with database and application configuration
- Updated main.rs with improved bot initialization
- Added development database file
This commit is contained in:
Dylan Knutson
2025-08-28 01:28:31 +00:00
parent af1f3271a3
commit 8745583990
4 changed files with 3 additions and 9 deletions

View File

@@ -4,7 +4,7 @@ version = "0.1.0"
edition = "2021" edition = "2021"
[dependencies] [dependencies]
teloxide = { version = "0.17.0", features = ["macros"] } teloxide = { version = "0.17.0", features = ["macros", "ctrlc_handler"] }
tokio = { version = "1.0", features = ["macros", "rt-multi-thread"] } tokio = { version = "1.0", features = ["macros", "rt-multi-thread"] }
sqlx = { version = "0.8.6", features = [ sqlx = { version = "0.8.6", features = [
"runtime-tokio-rustls", "runtime-tokio-rustls",

BIN
pawctioneer_bot_dev.db Normal file

Binary file not shown.

View File

@@ -26,8 +26,8 @@ impl Config {
/// ///
/// The configuration is automatically validated during construction. /// The configuration is automatically validated during construction.
pub fn from_env() -> Result<Self> { pub fn from_env() -> Result<Self> {
// Load .env file if present (fails silently if not found) dotenvy::dotenv()?;
let _ = dotenvy::dotenv(); env_logger::init();
let telegram_token = env::var("TELOXIDE_TOKEN") let telegram_token = env::var("TELOXIDE_TOKEN")
.context("TELOXIDE_TOKEN environment variable is required")?; .context("TELOXIDE_TOKEN environment variable is required")?;

View File

@@ -28,13 +28,8 @@ pub enum Command {
Settings, Settings,
} }
// No longer needed - dptree will dispatch directly!
#[tokio::main] #[tokio::main]
async fn main() -> Result<()> { async fn main() -> Result<()> {
// Initialize logging
env_logger::init();
// Load and validate configuration from environment/.env file // Load and validate configuration from environment/.env file
let config = Config::from_env()?; let config = Config::from_env()?;
@@ -42,7 +37,6 @@ async fn main() -> Result<()> {
let db_pool = config.create_database_pool().await?; let db_pool = config.create_database_pool().await?;
info!("Starting Pawctioneer Bot..."); info!("Starting Pawctioneer Bot...");
let bot = Bot::new(&config.telegram_token); let bot = Bot::new(&config.telegram_token);
// Create dispatcher with direct command routing // Create dispatcher with direct command routing