[−][src]Struct tbot::event_loop::EventLoop
Provides an event loop for handling Telegram updates.
With EventLoop
, you can configure handlers and start listening to updates
via either polling or webhook.
let mut bot = tbot::from_env!("BOT_TOKEN").event_loop(); bot.text(|_| async { println!("Got a text message") }); bot.polling().start();
tbot
has many update handlers, such as text
you have seen
in the example. You can find all of them below on this page.
Methods
impl EventLoop
[src]
pub fn into_stateful<S>(self, state: S) -> StatefulEventLoop<S> where
S: Send + Sync + 'static,
[src]
S: Send + Sync + 'static,
Turns this event loop into a stateful one. Handlers added on this event loop are kept.
pub fn username(&mut self, username: String)
[src]
Sets the bot's username.
The username is used when checking if a command such as
/command@username
was directed to the bot.
pub fn polling(self) -> Polling
[src]
Starts polling configuration.
pub fn webhook(self, url: &str, port: u16) -> Webhook
[src]
Starts webhook configuration.
See our wiki to learn how to use webhook with tbot
.
pub fn command<H, F>(&mut self, command: &'static str, handler: H) where
H: Fn(Arc<Command<Text>>) -> F + Send + Sync + 'static,
F: Future<Output = ()> + Send + 'static,
[src]
H: Fn(Arc<Command<Text>>) -> F + Send + Sync + 'static,
F: Future<Output = ()> + Send + 'static,
Adds a new handler for a command.
Note that commands such as /command@username
will be completely
ignored unless you configure the event loop with your bot's username
with either username
or fetch_username
.
pub fn commands<Cm, H, F>(&mut self, commands: Cm, handler: H) where
Cm: IntoIterator<Item = &'static str>,
F: Future<Output = ()> + Send + 'static,
H: Fn(Arc<Command<Text>>) -> F + Send + Sync + 'static,
[src]
Cm: IntoIterator<Item = &'static str>,
F: Future<Output = ()> + Send + 'static,
H: Fn(Arc<Command<Text>>) -> F + Send + Sync + 'static,
Adds a new handler for a sequence of commands.
Note that commands such as /command@username
will be completely
ignored unless you configure the event loop with your bot's username
with either username
or fetch_username
.
pub fn start<H, F>(&mut self, handler: H) where
H: Fn(Arc<Command<Text>>) -> F + Send + Sync + 'static,
F: Future<Output = ()> + Send + 'static,
[src]
H: Fn(Arc<Command<Text>>) -> F + Send + Sync + 'static,
F: Future<Output = ()> + Send + 'static,
Adds a new handler for the /start
command.
pub fn settings<H, F>(&mut self, handler: H) where
H: Fn(Arc<Command<Text>>) -> F + Send + Sync + 'static,
F: Future<Output = ()> + Send + 'static,
[src]
H: Fn(Arc<Command<Text>>) -> F + Send + Sync + 'static,
F: Future<Output = ()> + Send + 'static,
Adds a new handler for the /settings
command.
pub fn help<H, F>(&mut self, handler: H) where
H: Fn(Arc<Command<Text>>) -> F + Send + Sync + 'static,
F: Future<Output = ()> + Send + 'static,
[src]
H: Fn(Arc<Command<Text>>) -> F + Send + Sync + 'static,
F: Future<Output = ()> + Send + 'static,
Adds a new handler for the /help
command.
pub fn edited_command<H, F>(&mut self, command: &'static str, handler: H) where
H: Fn(Arc<Command<EditedText>>) -> F + Send + Sync + 'static,
F: Future<Output = ()> + Send + 'static,
[src]
H: Fn(Arc<Command<EditedText>>) -> F + Send + Sync + 'static,
F: Future<Output = ()> + Send + 'static,
Adds a new handler for an edited command.
pub fn edited_commands<Cm, H, F>(&mut self, commands: Cm, handler: H) where
Cm: IntoIterator<Item = &'static str>,
F: Future<Output = ()> + Send + 'static,
H: Fn(Arc<Command<EditedText>>) -> F + Send + Sync + 'static,
[src]
Cm: IntoIterator<Item = &'static str>,
F: Future<Output = ()> + Send + 'static,
H: Fn(Arc<Command<EditedText>>) -> F + Send + Sync + 'static,
Adds a new handler for an edited command from sequence of commands.
pub fn after_update<H, F>(&mut self, handler: H) where
H: Fn(Arc<Update>) -> F + Send + Sync + 'static,
F: Future<Output = ()> + Send + 'static,
[src]
H: Fn(Arc<Update>) -> F + Send + Sync + 'static,
F: Future<Output = ()> + Send + 'static,
Adds a new handler which is run after handling an update.
pub fn animation<H, F>(&mut self, handler: H) where
H: Fn(Arc<Animation>) -> F + Send + Sync + 'static,
F: Future<Output = ()> + Send + 'static,
[src]
H: Fn(Arc<Animation>) -> F + Send + Sync + 'static,
F: Future<Output = ()> + Send + 'static,
Adds a new handler for animations.
pub fn audio<H, F>(&mut self, handler: H) where
H: Fn(Arc<Audio>) -> F + Send + Sync + 'static,
F: Future<Output = ()> + Send + 'static,
[src]
H: Fn(Arc<Audio>) -> F + Send + Sync + 'static,
F: Future<Output = ()> + Send + 'static,
Adds a new handler for audio.
pub fn before_update<H, F>(&mut self, handler: H) where
H: Fn(Arc<Update>) -> F + Send + Sync + 'static,
F: Future<Output = ()> + Send + 'static,
[src]
H: Fn(Arc<Update>) -> F + Send + Sync + 'static,
F: Future<Output = ()> + Send + 'static,
Adds a new handler which is run before handling an update.
pub fn chosen_inline<H, F>(&mut self, handler: H) where
H: Fn(Arc<ChosenInline>) -> F + Send + Sync + 'static,
F: Future<Output = ()> + Send + 'static,
[src]
H: Fn(Arc<ChosenInline>) -> F + Send + Sync + 'static,
F: Future<Output = ()> + Send + 'static,
Adds a new handler for chosen inline results.
pub fn contact<H, F>(&mut self, handler: H) where
H: Fn(Arc<Contact>) -> F + Send + Sync + 'static,
F: Future<Output = ()> + Send + 'static,
[src]
H: Fn(Arc<Contact>) -> F + Send + Sync + 'static,
F: Future<Output = ()> + Send + 'static,
Adds a new handler for contacts.
pub fn connected_website<H, F>(&mut self, handler: H) where
H: Fn(Arc<ConnectedWebsite>) -> F + Send + Sync + 'static,
F: Future<Output = ()> + Send + 'static,
[src]
H: Fn(Arc<ConnectedWebsite>) -> F + Send + Sync + 'static,
F: Future<Output = ()> + Send + 'static,
Adds a new handler for connected websites.
pub fn created_group<H, F>(&mut self, handler: H) where
H: Fn(Arc<CreatedGroup>) -> F + Send + Sync + 'static,
F: Future<Output = ()> + Send + 'static,
[src]
H: Fn(Arc<CreatedGroup>) -> F + Send + Sync + 'static,
F: Future<Output = ()> + Send + 'static,
Adds a new handler for created groups.
pub fn data_callback<H, F>(&mut self, handler: H) where
H: Fn(Arc<DataCallback>) -> F + Send + Sync + 'static,
F: Future<Output = ()> + Send + 'static,
[src]
H: Fn(Arc<DataCallback>) -> F + Send + Sync + 'static,
F: Future<Output = ()> + Send + 'static,
Adds a new handler for data callbacks.
pub fn deleted_chat_photo<H, F>(&mut self, handler: H) where
H: Fn(Arc<DeletedChatPhoto>) -> F + Send + Sync + 'static,
F: Future<Output = ()> + Send + 'static,
[src]
H: Fn(Arc<DeletedChatPhoto>) -> F + Send + Sync + 'static,
F: Future<Output = ()> + Send + 'static,
Adds a new handler for deleted chat photos.
pub fn dice<H, F>(&mut self, handler: H) where
H: Fn(Arc<Dice>) -> F + Send + Sync + 'static,
F: Future<Output = ()> + Send + 'static,
[src]
H: Fn(Arc<Dice>) -> F + Send + Sync + 'static,
F: Future<Output = ()> + Send + 'static,
Adds a new handler for dice.
pub fn document<H, F>(&mut self, handler: H) where
H: Fn(Arc<Document>) -> F + Send + Sync + 'static,
F: Future<Output = ()> + Send + 'static,
[src]
H: Fn(Arc<Document>) -> F + Send + Sync + 'static,
F: Future<Output = ()> + Send + 'static,
Adds a new handler for documents.
pub fn edited_animation<H, F>(&mut self, handler: H) where
H: Fn(Arc<EditedAnimation>) -> F + Send + Sync + 'static,
F: Future<Output = ()> + Send + 'static,
[src]
H: Fn(Arc<EditedAnimation>) -> F + Send + Sync + 'static,
F: Future<Output = ()> + Send + 'static,
Adds a new handler for edited animations.
pub fn edited_audio<H, F>(&mut self, handler: H) where
H: Fn(Arc<EditedAudio>) -> F + Send + Sync + 'static,
F: Future<Output = ()> + Send + 'static,
[src]
H: Fn(Arc<EditedAudio>) -> F + Send + Sync + 'static,
F: Future<Output = ()> + Send + 'static,
Adds a new handler for edited audio.
pub fn edited_document<H, F>(&mut self, handler: H) where
H: Fn(Arc<EditedDocument>) -> F + Send + Sync + 'static,
F: Future<Output = ()> + Send + 'static,
[src]
H: Fn(Arc<EditedDocument>) -> F + Send + Sync + 'static,
F: Future<Output = ()> + Send + 'static,
Adds a new handler for edited documents.
pub fn edited_location<H, F>(&mut self, handler: H) where
H: Fn(Arc<EditedLocation>) -> F + Send + Sync + 'static,
F: Future<Output = ()> + Send + 'static,
[src]
H: Fn(Arc<EditedLocation>) -> F + Send + Sync + 'static,
F: Future<Output = ()> + Send + 'static,
Adds a new handler for edited locations.
pub fn edited_photo<H, F>(&mut self, handler: H) where
H: Fn(Arc<EditedPhoto>) -> F + Send + Sync + 'static,
F: Future<Output = ()> + Send + 'static,
[src]
H: Fn(Arc<EditedPhoto>) -> F + Send + Sync + 'static,
F: Future<Output = ()> + Send + 'static,
Adds a new handler for edited photos.
pub fn edited_text<H, F>(&mut self, handler: H) where
H: Fn(Arc<EditedText>) -> F + Send + Sync + 'static,
F: Future<Output = ()> + Send + 'static,
[src]
H: Fn(Arc<EditedText>) -> F + Send + Sync + 'static,
F: Future<Output = ()> + Send + 'static,
Adds a new handler for edited text messages.
pub fn edited_video<H, F>(&mut self, handler: H) where
H: Fn(Arc<EditedVideo>) -> F + Send + Sync + 'static,
F: Future<Output = ()> + Send + 'static,
[src]
H: Fn(Arc<EditedVideo>) -> F + Send + Sync + 'static,
F: Future<Output = ()> + Send + 'static,
Adds a new handler for edited videos.
pub fn game_callback<H, F>(&mut self, handler: H) where
H: Fn(Arc<GameCallback>) -> F + Send + Sync + 'static,
F: Future<Output = ()> + Send + 'static,
[src]
H: Fn(Arc<GameCallback>) -> F + Send + Sync + 'static,
F: Future<Output = ()> + Send + 'static,
Adds a new handler for game callbacks.
pub fn game<H, F>(&mut self, handler: H) where
H: Fn(Arc<Game>) -> F + Send + Sync + 'static,
F: Future<Output = ()> + Send + 'static,
[src]
H: Fn(Arc<Game>) -> F + Send + Sync + 'static,
F: Future<Output = ()> + Send + 'static,
Adds a new handler for game messages.
pub fn inline<H, F>(&mut self, handler: H) where
H: Fn(Arc<Inline>) -> F + Send + Sync + 'static,
F: Future<Output = ()> + Send + 'static,
[src]
H: Fn(Arc<Inline>) -> F + Send + Sync + 'static,
F: Future<Output = ()> + Send + 'static,
Adds a new handler for inline queries.
pub fn invoice<H, F>(&mut self, handler: H) where
H: Fn(Arc<Invoice>) -> F + Send + Sync + 'static,
F: Future<Output = ()> + Send + 'static,
[src]
H: Fn(Arc<Invoice>) -> F + Send + Sync + 'static,
F: Future<Output = ()> + Send + 'static,
Adds a new handler for invoices.
pub fn left_member<H, F>(&mut self, handler: H) where
H: Fn(Arc<LeftMember>) -> F + Send + Sync + 'static,
F: Future<Output = ()> + Send + 'static,
[src]
H: Fn(Arc<LeftMember>) -> F + Send + Sync + 'static,
F: Future<Output = ()> + Send + 'static,
Adds a new handler for left members.
pub fn location<H, F>(&mut self, handler: H) where
H: Fn(Arc<Location>) -> F + Send + Sync + 'static,
F: Future<Output = ()> + Send + 'static,
[src]
H: Fn(Arc<Location>) -> F + Send + Sync + 'static,
F: Future<Output = ()> + Send + 'static,
Adds a new handler for locations.
pub fn migration<H, F>(&mut self, handler: H) where
H: Fn(Arc<Migration>) -> F + Send + Sync + 'static,
F: Future<Output = ()> + Send + 'static,
[src]
H: Fn(Arc<Migration>) -> F + Send + Sync + 'static,
F: Future<Output = ()> + Send + 'static,
Adds a new handler for migrations.
pub fn new_chat_photo<H, F>(&mut self, handler: H) where
H: Fn(Arc<NewChatPhoto>) -> F + Send + Sync + 'static,
F: Future<Output = ()> + Send + 'static,
[src]
H: Fn(Arc<NewChatPhoto>) -> F + Send + Sync + 'static,
F: Future<Output = ()> + Send + 'static,
Adds a new handler for new chat photos.
pub fn new_chat_title<H, F>(&mut self, handler: H) where
H: Fn(Arc<NewChatTitle>) -> F + Send + Sync + 'static,
F: Future<Output = ()> + Send + 'static,
[src]
H: Fn(Arc<NewChatTitle>) -> F + Send + Sync + 'static,
F: Future<Output = ()> + Send + 'static,
Adds a new handler for new chat titles.
pub fn new_members<H, F>(&mut self, handler: H) where
H: Fn(Arc<NewMembers>) -> F + Send + Sync + 'static,
F: Future<Output = ()> + Send + 'static,
[src]
H: Fn(Arc<NewMembers>) -> F + Send + Sync + 'static,
F: Future<Output = ()> + Send + 'static,
Adds a new handler for new members.
pub fn passport<H, F>(&mut self, handler: H) where
H: Fn(Arc<Passport>) -> F + Send + Sync + 'static,
F: Future<Output = ()> + Send + 'static,
[src]
H: Fn(Arc<Passport>) -> F + Send + Sync + 'static,
F: Future<Output = ()> + Send + 'static,
Adds a new handler for passport data.
pub fn payment<H, F>(&mut self, handler: H) where
H: Fn(Arc<Payment>) -> F + Send + Sync + 'static,
F: Future<Output = ()> + Send + 'static,
[src]
H: Fn(Arc<Payment>) -> F + Send + Sync + 'static,
F: Future<Output = ()> + Send + 'static,
Adds a new handler for successful payments.
pub fn photo<H, F>(&mut self, handler: H) where
H: Fn(Arc<Photo>) -> F + Send + Sync + 'static,
F: Future<Output = ()> + Send + 'static,
[src]
H: Fn(Arc<Photo>) -> F + Send + Sync + 'static,
F: Future<Output = ()> + Send + 'static,
Adds a new handler for photos.
pub fn pinned_message<H, F>(&mut self, handler: H) where
H: Fn(Arc<PinnedMessage>) -> F + Send + Sync + 'static,
F: Future<Output = ()> + Send + 'static,
[src]
H: Fn(Arc<PinnedMessage>) -> F + Send + Sync + 'static,
F: Future<Output = ()> + Send + 'static,
Adds a new handler for pinned messages.
pub fn poll<H, F>(&mut self, handler: H) where
H: Fn(Arc<Poll>) -> F + Send + Sync + 'static,
F: Future<Output = ()> + Send + 'static,
[src]
H: Fn(Arc<Poll>) -> F + Send + Sync + 'static,
F: Future<Output = ()> + Send + 'static,
Adds a new handler for poll messages.
pub fn pre_checkout<H, F>(&mut self, handler: H) where
H: Fn(Arc<PreCheckout>) -> F + Send + Sync + 'static,
F: Future<Output = ()> + Send + 'static,
[src]
H: Fn(Arc<PreCheckout>) -> F + Send + Sync + 'static,
F: Future<Output = ()> + Send + 'static,
Adds a new handler for pre-checkout queries.
pub fn shipping<H, F>(&mut self, handler: H) where
H: Fn(Arc<Shipping>) -> F + Send + Sync + 'static,
F: Future<Output = ()> + Send + 'static,
[src]
H: Fn(Arc<Shipping>) -> F + Send + Sync + 'static,
F: Future<Output = ()> + Send + 'static,
Adds a new handler for shipping queries.
pub fn sticker<H, F>(&mut self, handler: H) where
H: Fn(Arc<Sticker>) -> F + Send + Sync + 'static,
F: Future<Output = ()> + Send + 'static,
[src]
H: Fn(Arc<Sticker>) -> F + Send + Sync + 'static,
F: Future<Output = ()> + Send + 'static,
Adds a new handler for stickers.
pub fn text<H, F>(&mut self, handler: H) where
H: Fn(Arc<Text>) -> F + Send + Sync + 'static,
F: Future<Output = ()> + Send + 'static,
[src]
H: Fn(Arc<Text>) -> F + Send + Sync + 'static,
F: Future<Output = ()> + Send + 'static,
Adds a new handler for text messages.
pub fn unhandled<H, F>(&mut self, handler: H) where
H: Fn(Arc<Unhandled>) -> F + Send + Sync + 'static,
F: Future<Output = ()> + Send + 'static,
[src]
H: Fn(Arc<Unhandled>) -> F + Send + Sync + 'static,
F: Future<Output = ()> + Send + 'static,
Adds a new handler for unhandled updates.
pub fn updated_poll<H, F>(&mut self, handler: H) where
H: Fn(Arc<UpdatedPoll>) -> F + Send + Sync + 'static,
F: Future<Output = ()> + Send + 'static,
[src]
H: Fn(Arc<UpdatedPoll>) -> F + Send + Sync + 'static,
F: Future<Output = ()> + Send + 'static,
Adds a new handler for new states of polls.
pub fn poll_answer<H, F>(&mut self, handler: H) where
H: Fn(Arc<PollAnswer>) -> F + Send + Sync + 'static,
F: Future<Output = ()> + Send + 'static,
[src]
H: Fn(Arc<PollAnswer>) -> F + Send + Sync + 'static,
F: Future<Output = ()> + Send + 'static,
Adds a new handler for new answers in the poll.
pub fn venue<H, F>(&mut self, handler: H) where
H: Fn(Arc<Venue>) -> F + Send + Sync + 'static,
F: Future<Output = ()> + Send + 'static,
[src]
H: Fn(Arc<Venue>) -> F + Send + Sync + 'static,
F: Future<Output = ()> + Send + 'static,
Adds a new handler for venues.
pub fn video<H, F>(&mut self, handler: H) where
H: Fn(Arc<Video>) -> F + Send + Sync + 'static,
F: Future<Output = ()> + Send + 'static,
[src]
H: Fn(Arc<Video>) -> F + Send + Sync + 'static,
F: Future<Output = ()> + Send + 'static,
Adds a new handler for videos.
pub fn video_note<H, F>(&mut self, handler: H) where
H: Fn(Arc<VideoNote>) -> F + Send + Sync + 'static,
F: Future<Output = ()> + Send + 'static,
[src]
H: Fn(Arc<VideoNote>) -> F + Send + Sync + 'static,
F: Future<Output = ()> + Send + 'static,
Adds a new handler for video notes.
pub fn voice<H, F>(&mut self, handler: H) where
H: Fn(Arc<Voice>) -> F + Send + Sync + 'static,
F: Future<Output = ()> + Send + 'static,
[src]
H: Fn(Arc<Voice>) -> F + Send + Sync + 'static,
F: Future<Output = ()> + Send + 'static,
Adds a new handler for voice messages.
pub async fn fetch_username<'_>(&'_ mut self) -> Result<(), MethodCall>
[src]
Fetches the bot's username.
The username is used when checking if a command such as
/command@username
was directed to the bot.
Auto Trait Implementations
impl !RefUnwindSafe for EventLoop
impl Send for EventLoop
impl Sync for EventLoop
impl Unpin for EventLoop
impl !UnwindSafe for EventLoop
Blanket Implementations
impl<T> Any for T where
T: 'static + ?Sized,
[src]
T: 'static + ?Sized,
impl<T> Borrow<T> for T where
T: ?Sized,
[src]
T: ?Sized,
impl<T> BorrowMut<T> for T where
T: ?Sized,
[src]
T: ?Sized,
fn borrow_mut(&mut self) -> &mut T
[src]
impl<T> From<T> for T
[src]
impl<T> Instrument for T
[src]
fn instrument(self, span: Span) -> Instrumented<Self>
[src]
fn in_current_span(self) -> Instrumented<Self>
[src]
impl<T, U> Into<U> for T where
U: From<T>,
[src]
U: From<T>,
impl<T, U> TryFrom<U> for T where
U: Into<T>,
[src]
U: Into<T>,
type Error = Infallible
The type returned in the event of a conversion error.
fn try_from(value: U) -> Result<T, <T as TryFrom<U>>::Error>
[src]
impl<T, U> TryInto<U> for T where
U: TryFrom<T>,
[src]
U: TryFrom<T>,
type Error = <U as TryFrom<T>>::Error
The type returned in the event of a conversion error.
fn try_into(self) -> Result<U, <U as TryFrom<T>>::Error>
[src]
impl<T> WithSubscriber for T
[src]
fn with_subscriber<S>(self, subscriber: S) -> WithDispatch<Self> where
S: Into<Dispatch>,
[src]
S: Into<Dispatch>,