pub struct TelegramConfig {
pub bot_token: String,
pub allowed_users: Vec<String>,
pub stream_mode: StreamMode,
pub draft_update_interval_ms: u64,
pub interrupt_on_new_message: bool,
pub mention_only: bool,
pub ack_reactions: Option<bool>,
pub proxy_url: Option<String>,
pub notification_chat_id: Option<String>,
}Expand description
Telegram bot channel configuration.
Fields§
§bot_token: StringTelegram Bot API token (from @BotFather).
allowed_users: Vec<String>Allowed Telegram user IDs or usernames. Empty = deny all.
stream_mode: StreamModeStreaming mode for progressive response delivery via message edits.
draft_update_interval_ms: u64Minimum interval (ms) between draft message edits to avoid rate limits.
interrupt_on_new_message: boolWhen true, a newer Telegram message from the same sender in the same chat cancels the in-flight request and starts a fresh response with preserved history.
mention_only: boolWhen true, only respond to messages that @-mention the bot in groups. Direct messages are always processed.
ack_reactions: Option<bool>Override for the top-level ack_reactions setting. When None, the
channel falls back to [channels_config].ack_reactions. When set
explicitly, it takes precedence.
proxy_url: Option<String>Per-channel proxy URL (http, https, socks5, socks5h).
Overrides the global [proxy] setting for this channel only.
notification_chat_id: Option<String>Telegram chat ID for workflow notifications and human-approval prompts.
When set, workflow notify steps targeting “telegram” post here, and
approval replies are scoped to this chat via reply_to_message_id.
Trait Implementations§
Source§impl ChannelConfig for TelegramConfig
impl ChannelConfig for TelegramConfig
Source§impl Clone for TelegramConfig
impl Clone for TelegramConfig
Source§fn clone(&self) -> TelegramConfig
fn clone(&self) -> TelegramConfig
1.0.0 (const: unstable) · Source§fn clone_from(&mut self, source: &Self)
fn clone_from(&mut self, source: &Self)
source. Read moreSource§impl Debug for TelegramConfig
impl Debug for TelegramConfig
Source§impl<'de> Deserialize<'de> for TelegramConfig
impl<'de> Deserialize<'de> for TelegramConfig
Source§fn deserialize<__D>(__deserializer: __D) -> Result<Self, __D::Error>where
__D: Deserializer<'de>,
fn deserialize<__D>(__deserializer: __D) -> Result<Self, __D::Error>where
__D: Deserializer<'de>,
Source§impl JsonSchema for TelegramConfig
impl JsonSchema for TelegramConfig
Source§fn schema_id() -> Cow<'static, str>
fn schema_id() -> Cow<'static, str>
Source§fn json_schema(generator: &mut SchemaGenerator) -> Schema
fn json_schema(generator: &mut SchemaGenerator) -> Schema
Source§fn inline_schema() -> bool
fn inline_schema() -> bool
$ref keyword. 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
Source§impl<T> CloneToUninit for Twhere
T: Clone,
impl<T> CloneToUninit for Twhere
T: Clone,
Source§impl<T> Downcast for Twhere
T: Any,
impl<T> Downcast for Twhere
T: Any,
Source§fn into_any(self: Box<T>) -> Box<dyn Any>
fn into_any(self: Box<T>) -> Box<dyn Any>
Box<dyn Trait> (where Trait: Downcast) to Box<dyn Any>. Box<dyn Any> can
then be further downcast into Box<ConcreteType> where ConcreteType implements Trait.Source§fn into_any_rc(self: Rc<T>) -> Rc<dyn Any>
fn into_any_rc(self: Rc<T>) -> Rc<dyn Any>
Rc<Trait> (where Trait: Downcast) to Rc<Any>. Rc<Any> can then be
further downcast into Rc<ConcreteType> where ConcreteType implements Trait.Source§fn as_any(&self) -> &(dyn Any + 'static)
fn as_any(&self) -> &(dyn Any + 'static)
&Trait (where Trait: Downcast) to &Any. This is needed since Rust cannot
generate &Any’s vtable from &Trait’s.Source§fn as_any_mut(&mut self) -> &mut (dyn Any + 'static)
fn as_any_mut(&mut self) -> &mut (dyn Any + 'static)
&mut Trait (where Trait: Downcast) to &Any. This is needed since Rust cannot
generate &mut Any’s vtable from &mut Trait’s.Source§impl<T> DowncastSync for T
impl<T> DowncastSync for T
Source§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>
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>
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