mirror of
https://github.com/storytold/artcraft.git
synced 2026-11-04 01:18:34 +00:00
45 lines
1.2 KiB
Rust
45 lines
1.2 KiB
Rust
#![allow(dead_code)]
|
|
#![allow(unused_mut)]
|
|
#![allow(unused_imports)]
|
|
#![warn(unused_must_use)]
|
|
//#![allow(warnings)]
|
|
|
|
#[macro_use]
|
|
extern crate serde_derive;
|
|
|
|
mod secrets;
|
|
|
|
//use futures::TryStreamExt;
|
|
use egg_mode::stream::StreamMessage;
|
|
use crate::secrets::Secrets;
|
|
|
|
pub type AnyhowResult<T> = anyhow::Result<T>;
|
|
|
|
const ENV_PUBLISH_TOPIC : &'static str = "PUBLISH_TOPIC";
|
|
const ENV_PUBLISH_TOPIC_DEFAULT : &'static str = "firehose";
|
|
|
|
const ENV_REDIS_MAX_RETRY_COUNT : &'static str = "REDIS_MAX_RETRY_COUNT";
|
|
const ENV_REDIS_MAX_RETRY_COUNT_DEFAULT : u32 = 3;
|
|
|
|
/// Monitor Twitter for interesting events against our account.
|
|
/// With this implementation, we can capture: Mentions, Retweets, Replies.
|
|
/// We cannot capture: Follows.
|
|
#[tokio::main]
|
|
async fn main() -> anyhow::Result<()>
|
|
{
|
|
easyenv::init_env_logger(None);
|
|
|
|
let redis_publish_topic = easyenv::get_env_string_or_default(
|
|
ENV_PUBLISH_TOPIC, ENV_PUBLISH_TOPIC_DEFAULT);
|
|
|
|
let redis_max_retry_count = easyenv::get_env_num(
|
|
ENV_REDIS_MAX_RETRY_COUNT,
|
|
ENV_REDIS_MAX_RETRY_COUNT_DEFAULT)?;
|
|
|
|
let secrets = Secrets::from_file("secrets.toml")?;
|
|
|
|
secrets.twitter.request_access_token().await?;
|
|
|
|
Ok(())
|
|
}
|