pub struct TelegramConfig {
pub bot_token: String,
pub daemon_url: Option<String>,
pub allowed_user_ids: Vec<u64>,
pub workspace_path: Option<String>,
}Expand description
Telegram bot configuration.
Fields§
§bot_token: StringTelegram Bot API token (from @BotFather).
daemon_url: Option<String>WebSocket URL for the daemon (e.g. ws://127.0.0.1:3100).
If not set, auto-discovers from ~/.astrid/daemon.port.
allowed_user_ids: Vec<u64>Telegram user IDs allowed to interact with the bot. Empty means allow all users.
workspace_path: Option<String>Workspace path to use when creating sessions.
Implementations§
Source§impl TelegramConfig
impl TelegramConfig
Sourcepub fn load(workspace_root: Option<&Path>) -> TelegramResult<Self>
pub fn load(workspace_root: Option<&Path>) -> TelegramResult<Self>
Load configuration from the unified config system, falling back to environment variables.
Config file locations (highest priority first):
{workspace}/.astrid/config.toml~/.astrid/config.toml/etc/astrid/config.toml
Environment variable fallbacks:
TELEGRAM_BOT_TOKEN→bot_tokenASTRID_DAEMON_URL→daemon_urlTELEGRAM_ALLOWED_USERS(comma-separated) →allowed_user_idsASTRID_WORKSPACE→workspace_path
Sourcepub fn is_user_allowed(&self, user_id: u64) -> bool
pub fn is_user_allowed(&self, user_id: u64) -> bool
Check if a user ID is allowed.
Trait Implementations§
Source§impl Clone for TelegramConfig
impl Clone for TelegramConfig
Source§fn clone(&self) -> TelegramConfig
fn clone(&self) -> TelegramConfig
Returns a duplicate of the value. Read more
1.0.0 · Source§fn clone_from(&mut self, source: &Self)
fn clone_from(&mut self, source: &Self)
Performs copy-assignment from
source. Read moreAuto Trait Implementations§
impl Freeze for TelegramConfig
impl RefUnwindSafe for TelegramConfig
impl Send for TelegramConfig
impl Sync for TelegramConfig
impl Unpin for TelegramConfig
impl UnsafeUnpin for TelegramConfig
impl UnwindSafe for TelegramConfig
Blanket Implementations§
Source§impl<T> BorrowMut<T> for Twhere
T: ?Sized,
impl<T> BorrowMut<T> for Twhere
T: ?Sized,
Source§fn borrow_mut(&mut self) -> &mut T
fn borrow_mut(&mut self) -> &mut T
Mutably borrows from an owned value. Read more
Source§impl<T> CloneToUninit for Twhere
T: Clone,
impl<T> CloneToUninit for Twhere
T: Clone,
Source§impl<T> Erasable for T
impl<T> Erasable for T
Source§impl<T> GetSetFdFlags for T
impl<T> GetSetFdFlags for T
Source§fn get_fd_flags(&self) -> Result<FdFlags, Error>where
T: AsFilelike,
fn get_fd_flags(&self) -> Result<FdFlags, Error>where
T: AsFilelike,
Query the “status” flags for the
self file descriptor.Source§fn new_set_fd_flags(&self, fd_flags: FdFlags) -> Result<SetFdFlags<T>, Error>where
T: AsFilelike,
fn new_set_fd_flags(&self, fd_flags: FdFlags) -> Result<SetFdFlags<T>, Error>where
T: AsFilelike,
Source§fn set_fd_flags(&mut self, set_fd_flags: SetFdFlags<T>) -> Result<(), Error>where
T: AsFilelike,
fn set_fd_flags(&mut self, set_fd_flags: SetFdFlags<T>) -> Result<(), Error>where
T: AsFilelike,
Set the “status” flags for the
self file descriptor. Read moreSource§impl<T> Instrument for T
impl<T> Instrument for T
Source§fn instrument(self, span: Span) -> Instrumented<Self>
fn instrument(self, span: Span) -> Instrumented<Self>
Source§fn in_current_span(self) -> Instrumented<Self>
fn in_current_span(self) -> Instrumented<Self>
Source§impl<T> IntoEither for T
impl<T> IntoEither for T
Source§fn into_either(self, into_left: bool) -> Either<Self, Self>
fn into_either(self, into_left: bool) -> Either<Self, Self>
Converts
self into a Left variant of Either<Self, Self>
if into_left is true.
Converts self into a Right variant of Either<Self, Self>
otherwise. Read moreSource§fn into_either_with<F>(self, into_left: F) -> Either<Self, Self>
fn into_either_with<F>(self, into_left: F) -> Either<Self, Self>
Converts
self into a Left variant of Either<Self, Self>
if into_left(&self) returns true.
Converts self into a Right variant of Either<Self, Self>
otherwise. Read more