aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
-rw-r--r--bin/main.rs29
-rw-r--r--configs/config.toml4
2 files changed, 23 insertions, 10 deletions
diff --git a/bin/main.rs b/bin/main.rs
index 7869548..8f1877a 100644
--- a/bin/main.rs
+++ b/bin/main.rs
@@ -13,7 +13,6 @@ extern crate diesel;
#[macro_use]
extern crate log;
-#[cfg(not(feature = "mysql"))]
use std::collections::HashMap;
use log::{LogRecord, LogLevel, LogLevelFilter, LogMetadata};
@@ -94,6 +93,7 @@ fn main() {
for config in configs {
let mut disabled_plugins = None;
+ let mut mysql_url = None;
if let &Some(ref options) = &config.options {
if let Some(disabled) = options.get("disabled_plugins") {
disabled_plugins = Some(disabled
@@ -101,6 +101,8 @@ fn main() {
.map(|p| p.trim())
.collect::<Vec<_>>());
}
+
+ mysql_url = options.get("mysql_url");
}
let mut bot = frippy::Bot::new();
@@ -111,18 +113,27 @@ fn main() {
bot.add_plugin(plugins::KeepNick::new());
#[cfg(feature = "mysql")]
{
- use diesel;
- use diesel::Connection;
- match diesel::mysql::MysqlConnection::establish("mysql://user:password@address/db") {
- Ok(conn) => {
- embedded_migrations::run(&conn).unwrap();
- bot.add_plugin(plugins::Factoids::new(conn));
+ if let Some(url) = mysql_url {
+ use diesel;
+ use diesel::Connection;
+ match diesel::mysql::MysqlConnection::establish(url) {
+ Ok(conn) => {
+ embedded_migrations::run(&conn).unwrap();
+ bot.add_plugin(plugins::Factoids::new(conn));
+ }
+ Err(e) => error!("Failed to connect to database: {}", e),
}
- Err(e) => error!("Failed to connect to database: {}", e),
+ } else {
+ bot.add_plugin(plugins::Factoids::new(HashMap::new()));
}
}
#[cfg(not(feature = "mysql"))]
- bot.add_plugin(plugins::Factoids::new(HashMap::new()));
+ {
+ if let Some(_) = mysql_url {
+ error!("frippy was not built with the mysql feature")
+ }
+ bot.add_plugin(plugins::Factoids::new(HashMap::new()));
+ }
if let Some(disabled_plugins) = disabled_plugins {
diff --git a/configs/config.toml b/configs/config.toml
index 02f86fd..56e5240 100644
--- a/configs/config.toml
+++ b/configs/config.toml
@@ -24,5 +24,7 @@ source = "https://github.com/Mavulp/frippy"
#[channel_keys]
#"#frippy" = ""
-#[options]
+[options]
#disabled_plugins = "Url"
+# If no database url is set a HashMap is used
+#mysql_url = "mysql://user:password@address/db"