From 1fc46f84d9d9ea3efcfa5aaf6cac90dae8e9c8b4 Mon Sep 17 00:00:00 2001 From: Nathan Perry Date: Wed, 14 Feb 2018 00:48:06 -0500 Subject: initial commands implemented --- src/util.rs | 20 ++++++++++++++++++++ 1 file changed, 20 insertions(+) (limited to 'src/util.rs') diff --git a/src/util.rs b/src/util.rs index 6f70037..54f10ee 100644 --- a/src/util.rs +++ b/src/util.rs @@ -1,6 +1,11 @@ use std::env; +use std::str::FromStr; use serenity::model::permissions::Permissions; +use serenity::model::id::GuildId; +use serenity::model::channel::Message; +use serenity::client::CACHE; + use url::Url; lazy_static! { @@ -26,3 +31,18 @@ lazy_static! { ) ).unwrap(); } + +pub fn must_env_lookup(s: &str) -> T { + env::var(s).expect(&format!("missing env var {}", s)) + .parse::().unwrap_or_else(|_| panic!(format!("bad format for {}", s))) +} + +pub trait GuildLookup { + fn guild_id(&self) -> Option; +} + +impl GuildLookup for Message { + fn guild_id(&self) -> Option { + CACHE.read().guild_channel(self.channel_id).map(|c| c.read().guild_id) + } +} \ No newline at end of file -- cgit v1.3.1