feat: add optional error messaging to bot admin

This commit is contained in:
Kristofers Solo 2025-11-13 11:02:15 +02:00
parent 34b7ffd6b5
commit 74518da0bc
Signed by: kristoferssolo
GPG Key ID: 74FF8144483D82C8
2 changed files with 10 additions and 1 deletions

View File

@ -1,10 +1,12 @@
use crate::error::{Error, Result};
use std::{env, fmt::Debug, path::PathBuf, sync::OnceLock};
use teloxide::types::ChatId;
static GLOBAL_CONFIG: OnceLock<Config> = OnceLock::new();
#[derive(Debug, Clone, Default)]
pub struct Config {
pub chat_id: Option<ChatId>,
pub youtube: YoutubeConfig,
pub instagram: InstagramConfig,
pub tiktok: TiktokConfig,
@ -36,7 +38,11 @@ impl Config {
/// Load configuration from environment variables.
#[must_use]
pub fn from_env() -> Self {
let chat_id: Option<ChatId> = env::var("CHAT_ID")
.ok()
.and_then(|id| id.parse::<i64>().ok().map(ChatId));
Self {
chat_id,
youtube: YoutubeConfig::from_env(),
instagram: InstagramConfig::from_env(),
tiktok: TiktokConfig::from_env(),

View File

@ -2,7 +2,7 @@ use dotenv::dotenv;
use teloxide::{prelude::*, respond};
use tg_relay_rs::{
comments::Comments,
config::Config,
config::{Config, global_config},
handler::{Handler, create_handlers},
telemetry::setup_logger,
};
@ -58,6 +58,9 @@ async fn process_message(bot: &Bot, msg: &Message, handlers: &[Handler]) {
let _ = bot
.send_message(msg.chat.id, "Failed to fetch media, you foking donkey.")
.await;
if let Some(chat_id) = global_config().chat_id {
let _ = bot.send_message(chat_id, format!("{err}")).await;
}
}
return;
}