pub struct SendPoll {Show 23 fields
pub chat_id: Recipient,
pub question: String,
pub options: Vec<InputPollOption>,
pub business_connection_id: Option<BusinessConnectionId>,
pub message_thread_id: Option<ThreadId>,
pub question_parse_mode: Option<ParseMode>,
pub question_entities: Option<Vec<MessageEntity>>,
pub is_anonymous: Option<bool>,
pub type_: Option<PollType>,
pub allows_multiple_answers: Option<bool>,
pub correct_option_id: Option<u8>,
pub explanation: Option<String>,
pub explanation_parse_mode: Option<ParseMode>,
pub explanation_entities: Option<Vec<MessageEntity>>,
pub open_period: Option<u16>,
pub close_date: Option<DateTime<Utc>>,
pub is_closed: Option<bool>,
pub disable_notification: Option<bool>,
pub protect_content: Option<bool>,
pub allow_paid_broadcast: Option<bool>,
pub message_effect_id: Option<EffectId>,
pub reply_parameters: Option<ReplyParameters>,
pub reply_markup: Option<ReplyMarkup>,
}Expand description
Use this method to send a native poll. On success, the sent Message is returned.
Fields§
§chat_id: RecipientUnique identifier for the target chat or username of the target channel (in the format @channelusername)
question: StringPoll question, 1-300 characters
options: Vec<InputPollOption>A JSON-serialized list of 2-10 answer options
business_connection_id: Option<BusinessConnectionId>Unique identifier of the business connection on behalf of which the message will be sent
message_thread_id: Option<ThreadId>Unique identifier for the target message thread (topic) of the forum; for forum supergroups only
question_parse_mode: Option<ParseMode>Mode for parsing entities in the question. See formatting options for more details. Currently, only custom emoji entities are allowed
question_entities: Option<Vec<MessageEntity>>A JSON-serialized list of special entities that appear in the poll question. It can be specified instead of question_parse_mode
is_anonymous: Option<bool>True, if the poll needs to be anonymous, defaults to True
type_: Option<PollType>Poll type, “quiz” or “regular”, defaults to “regular”
allows_multiple_answers: Option<bool>True, if the poll allows multiple answers, ignored for polls in quiz mode, defaults to False
correct_option_id: Option<u8>0-based identifier of the correct answer option, required for polls in quiz mode
explanation: Option<String>Text that is shown when a user chooses an incorrect answer or taps on the lamp icon in a quiz-style poll, 0-200 characters with at most 2 line feeds after entities parsing
explanation_parse_mode: Option<ParseMode>Mode for parsing entities in the message text. See formatting options for more details.
explanation_entities: Option<Vec<MessageEntity>>List of special entities that appear in the poll explanation, which can be specified instead of parse_mode
open_period: Option<u16>Amount of time in seconds the poll will be active after creation, 5-600. Can’t be used together with close_date.
close_date: Option<DateTime<Utc>>Point in time (Unix timestamp) when the poll will be automatically closed. Must be at least 5 and no more than 600 seconds in the future. Can’t be used together with open_period.
is_closed: Option<bool>Pass True, if the poll needs to be immediately closed. This can be useful for poll preview.
disable_notification: Option<bool>Sends the message silently. Users will receive a notification with no sound.
protect_content: Option<bool>Protects the contents of sent messages from forwarding and saving
allow_paid_broadcast: Option<bool>Pass true to allow up to 1000 messages per second, ignoring broadcasting limits for a fee of 0.1 Telegram Stars per message. The relevant Stars will be withdrawn from the bot’s balance
message_effect_id: Option<EffectId>Unique identifier of the message effect to be added to the message; for private chats only
reply_parameters: Option<ReplyParameters>Description of the message to reply to
reply_markup: Option<ReplyMarkup>Additional interface options. A JSON-serialized object for an inline keyboard, custom reply keyboard, instructions to remove a reply keyboard or to force a reply from the user. Not supported for messages sent on behalf of a business account.
Implementations§
Trait Implementations§
Source§impl Payload for SendPoll
impl Payload for SendPoll
Source§fn timeout_hint(&self) -> Option<Duration>
fn timeout_hint(&self) -> Option<Duration>
GetUpdates with
big timeout), the minimum timeout that should be used.Source§impl Serialize for SendPoll
impl Serialize for SendPoll
Source§fn serialize<__S>(
&self,
__serializer: __S,
) -> Result<<__S as Serializer>::Ok, <__S as Serializer>::Error>where
__S: Serializer,
fn serialize<__S>(
&self,
__serializer: __S,
) -> Result<<__S as Serializer>::Ok, <__S as Serializer>::Error>where
__S: Serializer,
impl Eq for SendPoll
impl StructuralPartialEq for SendPoll
Auto Trait Implementations§
impl Freeze for SendPoll
impl RefUnwindSafe for SendPoll
impl Send for SendPoll
impl Sync for SendPoll
impl Unpin for SendPoll
impl UnwindSafe for SendPoll
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<Q, K> Equivalent<K> for Q
impl<Q, K> Equivalent<K> for Q
Source§impl<Q, K> Equivalent<K> for Q
impl<Q, K> Equivalent<K> for Q
Source§fn equivalent(&self, key: &K) -> bool
fn equivalent(&self, key: &K) -> bool
key and return true if they are equal.Source§impl<T> Erasable for T
impl<T> Erasable for T
Source§impl<P> HasPayload for Pwhere
P: Payload,
impl<P> HasPayload for Pwhere
P: Payload,
Source§fn payload_mut(&mut self) -> &mut <P as HasPayload>::Payload
fn payload_mut(&mut self) -> &mut <P as HasPayload>::Payload
Source§fn payload_ref(&self) -> &<P as HasPayload>::Payload
fn payload_ref(&self) -> &<P as HasPayload>::Payload
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 moreSource§impl<T> PolicyExt for Twhere
T: ?Sized,
impl<T> PolicyExt for Twhere
T: ?Sized,
Source§impl<T> RequestReplyExt<SendPoll> for Twhere
T: SendPollSetters,
impl<T> RequestReplyExt<SendPoll> for Twhere
T: SendPollSetters,
Source§impl<P> SendPollSetters for Pwhere
P: HasPayload<Payload = SendPoll>,
impl<P> SendPollSetters for Pwhere
P: HasPayload<Payload = SendPoll>,
Source§fn business_connection_id(self, value: BusinessConnectionId) -> Self
fn business_connection_id(self, value: BusinessConnectionId) -> Self
business_connection_id field.Source§fn message_thread_id(self, value: ThreadId) -> Self
fn message_thread_id(self, value: ThreadId) -> Self
message_thread_id field.Source§fn question_parse_mode(self, value: ParseMode) -> Self
fn question_parse_mode(self, value: ParseMode) -> Self
question_parse_mode field.Source§fn question_entities<T>(self, value: T) -> Self
fn question_entities<T>(self, value: T) -> Self
question_entities field.Source§fn is_anonymous(self, value: bool) -> Self
fn is_anonymous(self, value: bool) -> Self
is_anonymous field.Source§fn allows_multiple_answers(self, value: bool) -> Self
fn allows_multiple_answers(self, value: bool) -> Self
allows_multiple_answers field.Source§fn correct_option_id(self, value: u8) -> Self
fn correct_option_id(self, value: u8) -> Self
correct_option_id field.Source§fn explanation<T>(self, value: T) -> Self
fn explanation<T>(self, value: T) -> Self
explanation field.Source§fn explanation_parse_mode(self, value: ParseMode) -> Self
fn explanation_parse_mode(self, value: ParseMode) -> Self
explanation_parse_mode field.Source§fn explanation_entities<T>(self, value: T) -> Self
fn explanation_entities<T>(self, value: T) -> Self
explanation_entities field.Source§fn open_period(self, value: u16) -> Self
fn open_period(self, value: u16) -> Self
open_period field.Source§fn close_date<T>(self, value: T) -> Self
fn close_date<T>(self, value: T) -> Self
close_date field.Source§fn disable_notification(self, value: bool) -> Self
fn disable_notification(self, value: bool) -> Self
disable_notification field.Source§fn protect_content(self, value: bool) -> Self
fn protect_content(self, value: bool) -> Self
protect_content field.Source§fn allow_paid_broadcast(self, value: bool) -> Self
fn allow_paid_broadcast(self, value: bool) -> Self
allow_paid_broadcast field.Source§fn message_effect_id(self, value: EffectId) -> Self
fn message_effect_id(self, value: EffectId) -> Self
message_effect_id field.Source§fn reply_parameters(self, value: ReplyParameters) -> Self
fn reply_parameters(self, value: ReplyParameters) -> Self
reply_parameters field.Source§fn reply_markup<T>(self, value: T) -> Selfwhere
T: Into<ReplyMarkup>,
fn reply_markup<T>(self, value: T) -> Selfwhere
T: Into<ReplyMarkup>,
reply_markup field.