614456ed35 2025-02-22 arcade: //! This is telegram bot to fetch RSS/ATOM feeds and post results on public
614456ed35 2025-02-22 arcade: //! channels
614456ed35 2025-02-22 arcade:
614456ed35 2025-02-22 arcade: #![warn(missing_docs)]
614456ed35 2025-02-22 arcade:
614456ed35 2025-02-22 arcade: mod command;
614456ed35 2025-02-22 arcade: mod core;
0340541002 2025-04-24 arcade: mod sql;
0340541002 2025-04-24 arcade:
dc7c43b010 2026-01-01 arcade: use async_compat::Compat;
44575a91d3 2025-07-09 arcade: use stacked_errors::{
44575a91d3 2025-07-09 arcade: Result,
44575a91d3 2025-07-09 arcade: StackableErr,
44575a91d3 2025-07-09 arcade: };
bb89b6fab8 2025-06-15 arcade: use tgbot::handler::LongPoll;
bb89b6fab8 2025-06-15 arcade:
dc7c43b010 2026-01-01 arcade: fn main () -> Result<()> {
7393d62235 2026-01-07 arcade: smol::block_on(Compat::new(async {
dc7c43b010 2026-01-01 arcade: async_main().await.unwrap();
dc7c43b010 2026-01-01 arcade: }));
dc7c43b010 2026-01-01 arcade:
dc7c43b010 2026-01-01 arcade: Ok(())
dc7c43b010 2026-01-01 arcade: }
dc7c43b010 2026-01-01 arcade:
dc7c43b010 2026-01-01 arcade: async fn async_main () -> Result<()> {
e624ef9d66 2025-04-20 arcade: let settings = config::Config::builder()
42b29b744b 2026-01-01 arcade: .set_default("api_gateway", "https://api.telegram.org").stack()?
e624ef9d66 2025-04-20 arcade: .add_source(config::File::with_name("rsstg"))
44575a91d3 2025-07-09 arcade: .build()
44575a91d3 2025-07-09 arcade: .stack()?;
e624ef9d66 2025-04-20 arcade:
44575a91d3 2025-07-09 arcade: let core = core::Core::new(settings).await.stack()?;
e624ef9d66 2025-04-20 arcade:
bb89b6fab8 2025-06-15 arcade: LongPoll::new(core.tg.clone(), core).run().await;
61df933942 2020-11-18 arcade:
61df933942 2020-11-18 arcade: Ok(())
61df933942 2020-11-18 arcade: }