diff options
| author | Nathan Perry <avaglir@gmail.com> | 2018-02-14 00:48:06 -0500 |
|---|---|---|
| committer | Nathan Perry <avaglir@gmail.com> | 2018-02-14 00:48:06 -0500 |
| commit | 1fc46f84d9d9ea3efcfa5aaf6cac90dae8e9c8b4 (patch) | |
| tree | 055daed9052d73c6f6d5fa6f0c6a66e9e90de3db /src/util.rs | |
| parent | 04da3bc579466e7fae48c3df2dbc17ed3b7d4a52 (diff) | |
initial commands implemented
Diffstat (limited to 'src/util.rs')
| -rw-r--r-- | src/util.rs | 20 |
1 files changed, 20 insertions, 0 deletions
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<T: FromStr>(s: &str) -> T { + env::var(s).expect(&format!("missing env var {}", s)) + .parse::<T>().unwrap_or_else(|_| panic!(format!("bad format for {}", s))) +} + +pub trait GuildLookup { + fn guild_id(&self) -> Option<GuildId>; +} + +impl GuildLookup for Message { + fn guild_id(&self) -> Option<GuildId> { + CACHE.read().guild_channel(self.channel_id).map(|c| c.read().guild_id) + } +}
\ No newline at end of file |
