Struct tbot::contexts::PreCheckout[][src]

#[non_exhaustive]
pub struct PreCheckout { pub bot: Bot, pub id: Id, pub from: User, pub currency: String, pub total_amount: u32, pub invoice_payload: String, pub shipping_option_id: Option<String>, pub order_info: Option<OrderInfo>, }

The context for pre_checkout handlers.

Fields (Non-exhaustive)

Non-exhaustive structs could have additional fields added in future. Therefore, non-exhaustive structs cannot be constructed in external crates using the traditional Struct {{ .. }} syntax; cannot be matched against without a wildcard ..; and struct update syntax will not work.
bot: Bot

A bot for calling API without information inference.

id: Id

The ID of the query.

from: User

The user who sent the query.

currency: String

The currency of of the invoice.

total_amount: u32

The total price.

invoice_payload: String

The invoice payload sent previously by the bot.

shipping_option_id: Option<String>

The ID of the chosen shipping option.

order_info: Option<OrderInfo>

The order information.

Implementations

impl PreCheckout[src]

pub fn answer(
    &self,
    result: Result<(), impl Into<String>>
) -> AnswerPreCheckoutQuery<'_>
[src]

Reports if the checkout is possible.

Note that this method suits better when you already deal with an Option. You might also want to use the ok and err methods from this context.

pub fn ok(&self) -> AnswerPreCheckoutQuery<'_>[src]

Reports that shipping is possible and shows possible shipping options.

pub fn err(&self, err: impl Into<String>) -> AnswerPreCheckoutQuery<'_>[src]

Reports that shipping is impossible and shows the error message.

Trait Implementations

impl Clone for PreCheckout[src]

impl Context for PreCheckout[src]

impl Debug for PreCheckout[src]

Auto Trait Implementations

impl !RefUnwindSafe for PreCheckout

impl Send for PreCheckout

impl Sync for PreCheckout

impl Unpin for PreCheckout

impl !UnwindSafe for PreCheckout

Blanket Implementations

impl<T> Any for T where
    T: 'static + ?Sized
[src]

impl<T> Borrow<T> for T where
    T: ?Sized
[src]

impl<T> BorrowMut<T> for T where
    T: ?Sized
[src]

impl<T> From<T> for T[src]

impl<T> Instrument for T[src]

impl<T, U> Into<U> for T where
    U: From<T>, 
[src]

impl<T> Same<T> for T

type Output = T

Should always be Self

impl<T> ToOwned for T where
    T: Clone
[src]

type Owned = T

The resulting type after obtaining ownership.

impl<T, U> TryFrom<U> for T where
    U: Into<T>, 
[src]

type Error = Infallible

The type returned in the event of a conversion error.

impl<T, U> TryInto<U> for T where
    U: TryFrom<T>, 
[src]

type Error = <U as TryFrom<T>>::Error

The type returned in the event of a conversion error.