From c1568065e0e639f3d668fedf18d8ad29cb98184d Mon Sep 17 00:00:00 2001 From: nextel Date: Thu, 12 Sep 2019 21:31:25 +0300 Subject: [PATCH 01/34] add methods to send venue action --- src/core/requests/send_venue.rs | 130 +++++++++++++++++++++++++++++--- 1 file changed, 119 insertions(+), 11 deletions(-) diff --git a/src/core/requests/send_venue.rs b/src/core/requests/send_venue.rs index deac9b61..4b3010b6 100644 --- a/src/core/requests/send_venue.rs +++ b/src/core/requests/send_venue.rs @@ -1,4 +1,8 @@ -use crate::core::requests::{ChatId, RequestContext}; +use crate::core::network; +use crate::core::requests::{ + ChatId, Request, RequestContext, RequestFuture, ResponseResult, +}; +use crate::core::types::{Message, ReplyMarkup}; //TODO:: need implementation ///Use this method to send information about a venue. On success, the sent @@ -9,35 +13,139 @@ struct SendVenue<'a> { ctx: RequestContext<'a>, /// Integer or String Yes Unique identifier for the target chat or /// username of the target channel (in the format @channelusername) - chat_id: ChatId, + pub chat_id: ChatId, /// Float number Yes Latitude of the venue - latitude: f64, + pub latitude: f64, ///Float number Yes Longitude of the venue - longitude: f64, + pub longitude: f64, /// Yes Name of the venue - title: String, + pub title: String, ///String Yes Address of the venue - address: String, + pub address: String, /// String Optional Foursquare identifier of the venue #[serde(skip_serializing_if = "Option::is_none")] - foursquare_id: Option, + pub foursquare_id: Option, /// String Optional Foursquare type of the venue, if known. (For /// example, “arts_entertainment/default”, “arts_entertainment/aquarium” or /// “food/icecream”.) #[serde(skip_serializing_if = "Option::is_none")] - foursquare_type: Option, + pub foursquare_type: Option, /// Boolean Optional Sends the message silently. Users will receive a /// notification with no sound. #[serde(skip_serializing_if = "Option::is_none")] - disable_notification: Option, + pub disable_notification: Option, /// Integer Optional If the message is a reply, ID of the original /// message #[serde(skip_serializing_if = "Option::is_none")] - reply_to_message_id: Option, + pub reply_to_message_id: Option, /// InlineKeyboardMarkup or ReplyKeyboardMarkup or ReplyKeyboardRemove or /// ForceReply Optional Additional interface options. A JSON-serialized /// object for an inline keyboard, custom reply keyboard, instructions to /// remove reply keyboard or to force a reply from the user. #[serde(skip_serializing_if = "Option::is_none")] - reply_markup: Option<()>, //TODO: need concrete type + pub reply_markup: Option, +} + +impl<'a> Request<'a> for SendVenue<'a> { + type ReturnValue = Message; + + fn send(self) -> RequestFuture<'a, ResponseResult> { + Box::pin(async move { + network::request_json( + &self.ctx.client, + &self.ctx.token, + "sendVenue", + Some(&self), + ) + .await + }) + } +} + +impl<'a> SendVenue<'a> { + pub fn new( + ctx: RequestContext<'a>, + chat_id: ChatId, + latitude: f64, + longitude: f64, + title: String, + address: String, + ) -> Self { + Self { + ctx, + chat_id, + latitude, + longitude, + title, + address, + foursquare_id: None, + foursquare_type: None, + disable_notification: None, + reply_to_message_id: None, + reply_markup: None, + } + } + pub fn chat_id(mut self, chat_id: T) -> Self + where + T: Into, + { + self.chat_id = chat_id.into(); + self + } + + pub fn longitude(mut self, longitude: T) -> Self + where + T: Into, + { + self.longitude = longitude.into(); + self + } + + pub fn latitude(mut self, latitude: T) -> Self + where + T: Into, + { + self.latitude = latitude.into(); + self + } + + pub fn title(mut self, title: T) -> Self + where + T: Into, + { + self.title = title.into(); + self + } + + pub fn address(mut self, address: T) -> Self + where + T: Into, + { + self.address = address.into(); + self + } + + pub fn foursquare_id(mut self, foursquare_id: T) -> Self + where + T: Into, + { + self.foursquare_id = Some(foursquare_id.into()); + self + } + + pub fn disable_notification(mut self, disable_notification: T) -> Self + where + T: Into, + { + self.disable_notification = Some(disable_notification.into()); + self + } + + pub fn foursquare_type(mut self, foursquare_type: T) -> Self + where + T: Into, + { + self.foursquare_type = Some(foursquare_type.into()); + self + } } From 6e76d0441d990a4480d20e95a8ff3290ad054ddd Mon Sep 17 00:00:00 2001 From: Waffle Date: Fri, 13 Sep 2019 00:58:08 +0300 Subject: [PATCH 02/34] Fix compilers warnings (unused imports, unused fields, etc) --- src/core/network/mod.rs | 15 ++++++++++----- src/core/requests/form_builder.rs | 1 - src/core/requests/forward_message.rs | 7 +++++-- src/core/requests/send_message.rs | 7 +++++-- src/core/requests/send_photo.rs | 2 -- src/core/requests/stop_message_live_location.rs | 11 ++++++----- src/core/requests/utils.rs | 11 +++++++---- 7 files changed, 33 insertions(+), 21 deletions(-) diff --git a/src/core/network/mod.rs b/src/core/network/mod.rs index 8fdde960..244c6d63 100644 --- a/src/core/network/mod.rs +++ b/src/core/network/mod.rs @@ -9,7 +9,6 @@ use reqwest::{ StatusCode, }; use serde::{de::DeserializeOwned, Serialize}; -use serde_json::Value; const TELEGRAM_API_URL: &str = "https://api.telegram.org"; @@ -63,7 +62,7 @@ pub async fn request_multipart( TelegramResponse::Err { description, error_code, - response_parameters, + response_parameters: _, .. } => Err(RequestError::ApiError { description, @@ -95,7 +94,7 @@ pub async fn request_json( TelegramResponse::Err { description, error_code, - response_parameters, + response_parameters: _, .. } => Err(RequestError::ApiError { description, @@ -108,11 +107,17 @@ pub async fn request_json( #[serde(untagged)] enum TelegramResponse { Ok { - ok: bool, // true + /// Dummy field. Used for deserialization. + #[allow(dead_code)] + ok: bool, // TODO: True type + result: R, }, Err { - ok: bool, // false + /// Dummy field. Used for deserialization. + #[allow(dead_code)] + ok: bool, // TODO: False type + description: String, error_code: u16, response_parameters: Option, diff --git a/src/core/requests/form_builder.rs b/src/core/requests/form_builder.rs index e266c837..d9bd8b69 100644 --- a/src/core/requests/form_builder.rs +++ b/src/core/requests/form_builder.rs @@ -6,7 +6,6 @@ use crate::core::{ }; use reqwest::r#async::multipart::Form; -use serde::Serialize; /// This is a convenient struct that builds `reqwest::r#async::multipart::Form` /// from scratch. diff --git a/src/core/requests/forward_message.rs b/src/core/requests/forward_message.rs index 8e61bce6..dc751bfd 100644 --- a/src/core/requests/forward_message.rs +++ b/src/core/requests/forward_message.rs @@ -1,8 +1,11 @@ use crate::core::{ network, requests::{ - form_builder::FormBuilder, ChatId, Request, RequestContext, - RequestFuture, ResponseResult, + ChatId, + Request, + RequestFuture, + RequestContext, + ResponseResult, }, types::Message, }; diff --git a/src/core/requests/send_message.rs b/src/core/requests/send_message.rs index 889bcb14..d3bf2421 100644 --- a/src/core/requests/send_message.rs +++ b/src/core/requests/send_message.rs @@ -1,8 +1,11 @@ use crate::core::{ network, requests::{ - form_builder::FormBuilder, ChatId, Request, RequestContext, - RequestFuture, ResponseResult, + ChatId, + Request, + RequestFuture, + RequestContext, + ResponseResult, }, types::{Message, ParseMode, ReplyMarkup}, }; diff --git a/src/core/requests/send_photo.rs b/src/core/requests/send_photo.rs index 0d4e40e3..9d2a07b5 100644 --- a/src/core/requests/send_photo.rs +++ b/src/core/requests/send_photo.rs @@ -1,5 +1,3 @@ -use std::path::Path; - use crate::core::{ network, requests::{ diff --git a/src/core/requests/stop_message_live_location.rs b/src/core/requests/stop_message_live_location.rs index 2598f4bf..cea3da80 100644 --- a/src/core/requests/stop_message_live_location.rs +++ b/src/core/requests/stop_message_live_location.rs @@ -1,12 +1,13 @@ -use std::path::Path; - use crate::core::{ network, requests::{ - form_builder::FormBuilder, ChatId, Request, RequestContext, - RequestFuture, ResponseResult, + ChatId, + Request, + RequestFuture, + RequestContext, + ResponseResult, }, - types::{InlineKeyboardMarkup, Message, ParseMode}, + types::{InlineKeyboardMarkup, Message}, }; /// Use this method to stop updating a live location message before live_period diff --git a/src/core/requests/utils.rs b/src/core/requests/utils.rs index 44231ef2..193bad0c 100644 --- a/src/core/requests/utils.rs +++ b/src/core/requests/utils.rs @@ -1,9 +1,12 @@ +use std::path::PathBuf; + use bytes::{Bytes, BytesMut}; use reqwest::r#async::multipart::Part; -use std::fs::File; -use std::path::PathBuf; -use tokio::codec::FramedRead; -use tokio::prelude::*; +use tokio::{ + prelude::*, + codec::FramedRead, +}; + struct FileDecoder; From 300a3cb285c24a3ceb63a6f97fd6cabcb98e321f Mon Sep 17 00:00:00 2001 From: Waffle Date: Fri, 13 Sep 2019 01:01:38 +0300 Subject: [PATCH 03/34] Make `StopMessageLiveLocation` public --- src/core/requests/stop_message_live_location.rs | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/core/requests/stop_message_live_location.rs b/src/core/requests/stop_message_live_location.rs index cea3da80..9cae0ad6 100644 --- a/src/core/requests/stop_message_live_location.rs +++ b/src/core/requests/stop_message_live_location.rs @@ -14,7 +14,7 @@ use crate::core::{ /// expires. On success, if the message was sent by the bot, the sent Message is /// returned, otherwise True is returned. #[derive(Debug, Clone, Serialize)] -struct StopMessageLiveLocation<'a> { +pub struct StopMessageLiveLocation<'a> { #[serde(skip_serializing)] ctx: RequestContext<'a>, /// Required if inline_message_id is not specified. Unique identifier for From fedc346e234554ba4970d9e3d0441ee711004abf Mon Sep 17 00:00:00 2001 From: Waffle Date: Fri, 13 Sep 2019 01:05:22 +0300 Subject: [PATCH 04/34] Add `Box::ctx` shortcut --- src/bot/mod.rs | 17 +++++++++-------- 1 file changed, 9 insertions(+), 8 deletions(-) diff --git a/src/bot/mod.rs b/src/bot/mod.rs index d87df13f..9a305eb0 100644 --- a/src/bot/mod.rs +++ b/src/bot/mod.rs @@ -23,15 +23,19 @@ impl Bot { client, } } + + fn ctx(&self) -> RequestContext { + RequestContext { + token: &self.token, + client: &self.client, + } + } } /// Telegram functions impl Bot { pub fn get_me(&self) -> GetMe { - GetMe::new(RequestContext { - token: &self.token, - client: &self.client, - }) + GetMe::new(self.ctx()) } pub fn send_message(&self, chat_id: C, text: T) -> SendMessage @@ -40,10 +44,7 @@ impl Bot { T: Into, { SendMessage::new( - RequestContext { - token: &self.token, - client: &self.client, - }, + self.ctx(), chat_id.into(), text.into(), ) From 7cf5ad52722c16ae51f194bf16c69a69d09607b3 Mon Sep 17 00:00:00 2001 From: Waffle Date: Fri, 13 Sep 2019 01:39:25 +0300 Subject: [PATCH 05/34] Add `Box::{edit_message_live_location, forward_message, send_audio, send_location, send_media_group, send_photo, stop_message_live_location}` methods --- src/bot/mod.rs | 117 +++++++++++++++++- .../requests/stop_message_live_location.rs | 2 +- 2 files changed, 116 insertions(+), 3 deletions(-) diff --git a/src/bot/mod.rs b/src/bot/mod.rs index 9a305eb0..74ff89d4 100644 --- a/src/bot/mod.rs +++ b/src/bot/mod.rs @@ -1,7 +1,24 @@ use reqwest::r#async::Client; -use crate::core::requests::{ - get_me::GetMe, send_message::SendMessage, ChatId, RequestContext, +use crate::core::{ + types::{ + InputFile, + InputMedia, + }, + requests::{ + ChatId, + RequestContext, + + get_me::GetMe, + send_message::SendMessage, + edit_message_live_location::EditMessageLiveLocation, + forward_message::ForwardMessage, + send_audio::SendAudio, + send_location::SendLocation, + send_media_group::SendMediaGroup, + send_photo::SendPhoto, + stop_message_live_location::StopMessageLiveLocation, + } }; pub struct Bot { @@ -49,4 +66,100 @@ impl Bot { text.into(), ) } + + pub fn edit_message_live_location( + &self, + latitude: Lt, + longitude: Lg, + ) -> EditMessageLiveLocation + where + Lt: Into, + Lg: Into, + { + EditMessageLiveLocation::new( + self.ctx(), + latitude.into(), + longitude.into(), + ) + } + + pub fn forward_message( + &self, + chat_id: C, + from_chat_id: F, + message_id: M + ) -> ForwardMessage + where + C: Into, + F: Into, + M: Into, + { + ForwardMessage::new( + self.ctx(), + chat_id.into(), + from_chat_id.into(), + message_id.into(), + ) + } + + pub fn send_audio(&self, chat_id: C, audio: A) -> SendAudio + where + C: Into, + A: Into, + { + SendAudio::new( + self.ctx(), + chat_id.into(), + audio.into() + ) + } + + pub fn send_location( + &self, + chat_id: C, + latitude: Lt, + longitude: Lg, + ) -> SendLocation + where + C: Into, + Lt: Into, + Lg: Into, + { + SendLocation::new( + self.ctx(), + chat_id.into(), + latitude.into(), + longitude.into(), + ) + } + + pub fn send_media_group(&self, chat_id: C, media: M) -> SendMediaGroup + where + C: Into, + M: Into> + { + SendMediaGroup::new( + self.ctx(), + chat_id.into(), + media.into(), + ) + } + + pub fn send_photo(&self, chat_id: C, photo: P) -> SendPhoto + where + C: Into, + P: Into + { + SendPhoto::new( + self.ctx(), + chat_id.into(), + photo.into(), + ) + } + + pub fn stop_message_live_location(&self) -> StopMessageLiveLocation { + StopMessageLiveLocation::new( + self.ctx() + ) + } } diff --git a/src/core/requests/stop_message_live_location.rs b/src/core/requests/stop_message_live_location.rs index 9cae0ad6..c86ee1ed 100644 --- a/src/core/requests/stop_message_live_location.rs +++ b/src/core/requests/stop_message_live_location.rs @@ -53,7 +53,7 @@ impl<'a> Request<'a> for StopMessageLiveLocation<'a> { } impl<'a> StopMessageLiveLocation<'a> { - fn new(ctx: RequestContext<'a>) -> Self { + pub(crate) fn new(ctx: RequestContext<'a>) -> Self { Self { ctx, chat_id: None, From 8a9b2e1009404f0b94e8555ee2bb0678d496eed2 Mon Sep 17 00:00:00 2001 From: nextel Date: Fri, 13 Sep 2019 12:36:09 +0300 Subject: [PATCH 06/34] add replay markup setter --- src/core/requests/send_venue.rs | 9 +++++++++ 1 file changed, 9 insertions(+) diff --git a/src/core/requests/send_venue.rs b/src/core/requests/send_venue.rs index 4b3010b6..fafe4cb0 100644 --- a/src/core/requests/send_venue.rs +++ b/src/core/requests/send_venue.rs @@ -148,4 +148,13 @@ impl<'a> SendVenue<'a> { self.foursquare_type = Some(foursquare_type.into()); self } + + + pub fn reply_markup(mut self, reply_markup: T) -> Self + where + T: Into, + { + self.reply_markup = Some(ReplyMarkup.into()); + self + } } From d2612f21a0fec1b57e35169a96f28fcaa513cf35 Mon Sep 17 00:00:00 2001 From: nextel Date: Fri, 13 Sep 2019 12:38:01 +0300 Subject: [PATCH 07/34] apply cargo fmt --- src/core/requests/send_venue.rs | 9 ++++----- 1 file changed, 4 insertions(+), 5 deletions(-) diff --git a/src/core/requests/send_venue.rs b/src/core/requests/send_venue.rs index fafe4cb0..3c321e73 100644 --- a/src/core/requests/send_venue.rs +++ b/src/core/requests/send_venue.rs @@ -142,17 +142,16 @@ impl<'a> SendVenue<'a> { } pub fn foursquare_type(mut self, foursquare_type: T) -> Self - where - T: Into, + where + T: Into, { self.foursquare_type = Some(foursquare_type.into()); self } - pub fn reply_markup(mut self, reply_markup: T) -> Self - where - T: Into, + where + T: Into, { self.reply_markup = Some(ReplyMarkup.into()); self From 546f0d53d9887e0f75c1c98cd2ab00b48b9516e0 Mon Sep 17 00:00:00 2001 From: nextel Date: Fri, 13 Sep 2019 13:05:40 +0300 Subject: [PATCH 08/34] add base struct for sendContact action --- src/core/requests/send_contact.rs | 32 ++++++++++++++++++++++++++++++- 1 file changed, 31 insertions(+), 1 deletion(-) diff --git a/src/core/requests/send_contact.rs b/src/core/requests/send_contact.rs index 6ffd1f2a..d17812f6 100644 --- a/src/core/requests/send_contact.rs +++ b/src/core/requests/send_contact.rs @@ -1,7 +1,37 @@ -use crate::core::requests::RequestContext; +use crate::core::requests::{ChatId, RequestContext}; +use crate::core::types::ReplyMarkup; + //TODO:: need implementation #[derive(Debug, Clone, Serialize)] struct SendContact<'a> { #[serde(skip_serializing)] ctx: RequestContext<'a>, + /// Integer or String Yes Unique identifier for the target chat or + /// username of the target channel (in the format @channelusername) + chat_id: ChatId, + /// String Yes Contact's phone number + phone_number: String, + /// String Yes Contact's first name + first_name: String, + /// String Optional Contact's last name + #[serde(skip_serializing_if = "Option::is_none")] + last_name: Option, + /// String Optional Additional data about the contact in the form of a + /// vCard, 0-2048 bytes + #[serde(skip_serializing_if = "Option::is_none")] + vcard: Option, + /// Boolean Optional Sends the message silently. Users will receive a + /// notification with no sound. + #[serde(skip_serializing_if = "Option::is_none")] + disable_notification: Option, + /// Integer Optional If the message is a reply, ID of the original + /// message + #[serde(skip_serializing_if = "Option::is_none")] + reply_to_message_id: Option, + /// InlineKeyboardMarkup or ReplyKeyboardMarkup or ReplyKeyboardRemove + /// or ForceReply Optional Additional interface options. A JSON-serialized + /// object for an inline keyboard, custom reply keyboard, instructions to + /// remove keyboard or to force a reply from the user. + #[serde(skip_serializing_if = "Option::is_none")] + reply_markup: Option, } From d81072bba8b15bb8204677fac91b1a9543956307 Mon Sep 17 00:00:00 2001 From: nextel Date: Fri, 13 Sep 2019 13:30:59 +0300 Subject: [PATCH 09/34] add sendContact implementation --- src/core/requests/send_contact.rs | 127 +++++++++++++++++++++++++++--- 1 file changed, 116 insertions(+), 11 deletions(-) diff --git a/src/core/requests/send_contact.rs b/src/core/requests/send_contact.rs index d17812f6..b08d05fb 100644 --- a/src/core/requests/send_contact.rs +++ b/src/core/requests/send_contact.rs @@ -1,37 +1,142 @@ -use crate::core::requests::{ChatId, RequestContext}; -use crate::core::types::ReplyMarkup; +use crate::core::network; +use crate::core::requests::{ChatId, Request, RequestContext, RequestFuture, ResponseResult}; +use crate::core::types::{Message, ReplyMarkup}; -//TODO:: need implementation #[derive(Debug, Clone, Serialize)] struct SendContact<'a> { #[serde(skip_serializing)] ctx: RequestContext<'a>, /// Integer or String Yes Unique identifier for the target chat or /// username of the target channel (in the format @channelusername) - chat_id: ChatId, + pub chat_id: ChatId, /// String Yes Contact's phone number - phone_number: String, + pub phone_number: String, /// String Yes Contact's first name - first_name: String, + pub first_name: String, /// String Optional Contact's last name #[serde(skip_serializing_if = "Option::is_none")] - last_name: Option, + pub last_name: Option, /// String Optional Additional data about the contact in the form of a /// vCard, 0-2048 bytes #[serde(skip_serializing_if = "Option::is_none")] - vcard: Option, + pub vcard: Option, /// Boolean Optional Sends the message silently. Users will receive a /// notification with no sound. #[serde(skip_serializing_if = "Option::is_none")] - disable_notification: Option, + pub disable_notification: Option, /// Integer Optional If the message is a reply, ID of the original /// message #[serde(skip_serializing_if = "Option::is_none")] - reply_to_message_id: Option, + pub reply_to_message_id: Option, /// InlineKeyboardMarkup or ReplyKeyboardMarkup or ReplyKeyboardRemove /// or ForceReply Optional Additional interface options. A JSON-serialized /// object for an inline keyboard, custom reply keyboard, instructions to /// remove keyboard or to force a reply from the user. #[serde(skip_serializing_if = "Option::is_none")] - reply_markup: Option, + pub reply_markup: Option, +} + + +impl<'a> Request<'a> for SendContact<'a> { + type ReturnValue = Message; + + fn send(self) -> RequestFuture<'a, ResponseResult> { + Box::pin(async move { + network::request_json( + &self.ctx.client, + &self.ctx.token, + "sendContact", + &self, + ) + .await + }) + } +} + + +impl<'a> SendContact<'a> { + pub(crate) fn new( + ctx: RequestContext<'a>, + chat_id: ChatId, + phone_number: String, + first_name: String, + ) -> Self { + Self { + ctx, + chat_id, + phone_number, + first_name, + last_name: None, + vcard: None, + disable_notification: None, + reply_to_message_id: None, + reply_markup: None, + } + } + + pub fn chat_id(mut self, chat_id: T) -> Self + where + T: Into, + { + self.chat_id = chat_id.into(); + self + } + + pub fn phone_number(mut self, phone_number: T) -> Self + where + T: Into, + { + self.phone_number = phone_number.into(); + self + } + + pub fn first_name(mut self, first_name: T) -> Self + where + T: Into, + { + self.first_name = first_name.into(); + self + } + + pub fn last_name(mut self, last_name: T) -> Self + where + T: Into, + { + self.last_name = Some(last_name.into()); + self + } + + pub fn vcard(mut self, vcard: T) -> Self + where + T: Into, + { + self.vcard = Some(vcard.into()); + self + } + + pub fn disable_notification(mut self, disable_notification: T) -> Self + where + T: Into, + { + self.disable_notification = Some(disable_notification.into()); + self + } + + + pub fn reply_to_message_id(mut self, reply_to_message_id: T) -> Self + where + T: Into, + { + self.reply_to_message_id = Some(reply_to_message_id.into()); + self + } + + + pub fn reply_markup(mut self, reply_markup: T) -> Self + where + T: Into, + { + self.reply_markup = Some(reply_markup.into()); + self + } } From 9ebe30cb9121d8a6108ba085045fa74cd211e1d7 Mon Sep 17 00:00:00 2001 From: nextel Date: Fri, 13 Sep 2019 13:59:15 +0300 Subject: [PATCH 10/34] add fields to struct --- src/core/requests/send_poll.rs | 12 ++++++++++-- 1 file changed, 10 insertions(+), 2 deletions(-) diff --git a/src/core/requests/send_poll.rs b/src/core/requests/send_poll.rs index 8341bb39..7090ef9b 100644 --- a/src/core/requests/send_poll.rs +++ b/src/core/requests/send_poll.rs @@ -1,8 +1,16 @@ -use crate::core::requests::RequestContext; -//TODO:: need implementation +use crate::core::requests::{RequestContext, ChatId}; + +///Use this method to send a native poll. A native poll can't be sent to a private chat. On success, the sent Message is returned. #[derive(Debug, Clone, Serialize)] struct SendPoll<'a> { #[serde(skip_serializing)] ctx: RequestContext<'a>, + + chat_id :ChatId, Yes Unique identifier for the target chat or username of the target channel (in the format @channelusername). A native poll can't be sent to a private chat. + question :String String Yes Poll question, 1-255 characters +options Vec Array of String Yes List of answer options, 2-10 strings 1-100 characters each +disable_notification Boolean Optional Sends the message silently. Users will receive a notification with no sound. +reply_to_message_id Integer Optional If the message is a reply, ID of the original message +reply_markup InlineKeyboardMarkup or ReplyKeyboardMarkup or ReplyKeyboardRemove or ForceReply Optional Additional interface options. A JSON-serialized object for an inline keyboard, custom reply keyboard, instructions to remove reply keyboard or to force a reply from the user. } From 02f3d60a96c658fcad3de2f3aacddca9dc16b546 Mon Sep 17 00:00:00 2001 From: nextel Date: Fri, 13 Sep 2019 14:00:57 +0300 Subject: [PATCH 11/34] add struct comment --- src/core/requests/send_contact.rs | 1 + 1 file changed, 1 insertion(+) diff --git a/src/core/requests/send_contact.rs b/src/core/requests/send_contact.rs index b08d05fb..9a170924 100644 --- a/src/core/requests/send_contact.rs +++ b/src/core/requests/send_contact.rs @@ -2,6 +2,7 @@ use crate::core::network; use crate::core::requests::{ChatId, Request, RequestContext, RequestFuture, ResponseResult}; use crate::core::types::{Message, ReplyMarkup}; +///Use this method to send phone contacts. On success, the sent Message is returned. #[derive(Debug, Clone, Serialize)] struct SendContact<'a> { #[serde(skip_serializing)] From 466ec638a4c45731770ab4e7f87dec2022fad515 Mon Sep 17 00:00:00 2001 From: nextel Date: Fri, 13 Sep 2019 14:02:29 +0300 Subject: [PATCH 12/34] fix documentation --- src/core/requests/send_contact.rs | 14 +++++++------- 1 file changed, 7 insertions(+), 7 deletions(-) diff --git a/src/core/requests/send_contact.rs b/src/core/requests/send_contact.rs index 9a170924..99d997f0 100644 --- a/src/core/requests/send_contact.rs +++ b/src/core/requests/send_contact.rs @@ -7,25 +7,25 @@ use crate::core::types::{Message, ReplyMarkup}; struct SendContact<'a> { #[serde(skip_serializing)] ctx: RequestContext<'a>, - /// Integer or String Yes Unique identifier for the target chat or + /// Unique identifier for the target chat or /// username of the target channel (in the format @channelusername) pub chat_id: ChatId, - /// String Yes Contact's phone number + /// Contact's phone number pub phone_number: String, - /// String Yes Contact's first name + /// Contact's first name pub first_name: String, - /// String Optional Contact's last name + /// Contact's last name #[serde(skip_serializing_if = "Option::is_none")] pub last_name: Option, - /// String Optional Additional data about the contact in the form of a + /// Additional data about the contact in the form of a /// vCard, 0-2048 bytes #[serde(skip_serializing_if = "Option::is_none")] pub vcard: Option, - /// Boolean Optional Sends the message silently. Users will receive a + /// Sends the message silently. Users will receive a /// notification with no sound. #[serde(skip_serializing_if = "Option::is_none")] pub disable_notification: Option, - /// Integer Optional If the message is a reply, ID of the original + /// If the message is a reply, ID of the original /// message #[serde(skip_serializing_if = "Option::is_none")] pub reply_to_message_id: Option, From 334ee73a40fed5af6f67691a66d73b0dcb1cdad2 Mon Sep 17 00:00:00 2001 From: nextel Date: Fri, 13 Sep 2019 14:03:12 +0300 Subject: [PATCH 13/34] cargo fmt --- src/core/requests/send_contact.rs | 45 +++++++++++++++---------------- 1 file changed, 22 insertions(+), 23 deletions(-) diff --git a/src/core/requests/send_contact.rs b/src/core/requests/send_contact.rs index 99d997f0..26cb438c 100644 --- a/src/core/requests/send_contact.rs +++ b/src/core/requests/send_contact.rs @@ -1,8 +1,11 @@ use crate::core::network; -use crate::core::requests::{ChatId, Request, RequestContext, RequestFuture, ResponseResult}; +use crate::core::requests::{ + ChatId, Request, RequestContext, RequestFuture, ResponseResult, +}; use crate::core::types::{Message, ReplyMarkup}; -///Use this method to send phone contacts. On success, the sent Message is returned. +///Use this method to send phone contacts. On success, the sent Message is +/// returned. #[derive(Debug, Clone, Serialize)] struct SendContact<'a> { #[serde(skip_serializing)] @@ -37,7 +40,6 @@ struct SendContact<'a> { pub reply_markup: Option, } - impl<'a> Request<'a> for SendContact<'a> { type ReturnValue = Message; @@ -49,12 +51,11 @@ impl<'a> Request<'a> for SendContact<'a> { "sendContact", &self, ) - .await + .await }) } } - impl<'a> SendContact<'a> { pub(crate) fn new( ctx: RequestContext<'a>, @@ -76,66 +77,64 @@ impl<'a> SendContact<'a> { } pub fn chat_id(mut self, chat_id: T) -> Self - where - T: Into, + where + T: Into, { self.chat_id = chat_id.into(); self } pub fn phone_number(mut self, phone_number: T) -> Self - where - T: Into, + where + T: Into, { self.phone_number = phone_number.into(); self } pub fn first_name(mut self, first_name: T) -> Self - where - T: Into, + where + T: Into, { self.first_name = first_name.into(); self } pub fn last_name(mut self, last_name: T) -> Self - where - T: Into, + where + T: Into, { self.last_name = Some(last_name.into()); self } pub fn vcard(mut self, vcard: T) -> Self - where - T: Into, + where + T: Into, { self.vcard = Some(vcard.into()); self } pub fn disable_notification(mut self, disable_notification: T) -> Self - where - T: Into, + where + T: Into, { self.disable_notification = Some(disable_notification.into()); self } - pub fn reply_to_message_id(mut self, reply_to_message_id: T) -> Self - where - T: Into, + where + T: Into, { self.reply_to_message_id = Some(reply_to_message_id.into()); self } - pub fn reply_markup(mut self, reply_markup: T) -> Self - where - T: Into, + where + T: Into, { self.reply_markup = Some(reply_markup.into()); self From 545063764900dc95b91751d26bb8743390fc2ac6 Mon Sep 17 00:00:00 2001 From: nextel Date: Fri, 13 Sep 2019 14:05:10 +0300 Subject: [PATCH 14/34] fix documentation --- src/core/requests/send_venue.rs | 19 +++++++++---------- 1 file changed, 9 insertions(+), 10 deletions(-) diff --git a/src/core/requests/send_venue.rs b/src/core/requests/send_venue.rs index 3c321e73..0d91ff5e 100644 --- a/src/core/requests/send_venue.rs +++ b/src/core/requests/send_venue.rs @@ -4,37 +4,36 @@ use crate::core::requests::{ }; use crate::core::types::{Message, ReplyMarkup}; -//TODO:: need implementation ///Use this method to send information about a venue. On success, the sent /// Message is returned. #[derive(Debug, Clone, Serialize)] struct SendVenue<'a> { #[serde(skip_serializing)] ctx: RequestContext<'a>, - /// Integer or String Yes Unique identifier for the target chat or + ///Unique identifier for the target chat or /// username of the target channel (in the format @channelusername) pub chat_id: ChatId, - /// Float number Yes Latitude of the venue + /// Yes Latitude of the venue pub latitude: f64, - ///Float number Yes Longitude of the venue + /// Longitude of the venue pub longitude: f64, - /// Yes Name of the venue + /// Name of the venue pub title: String, - ///String Yes Address of the venue + /// Address of the venue pub address: String, - /// String Optional Foursquare identifier of the venue + /// Foursquare identifier of the venue #[serde(skip_serializing_if = "Option::is_none")] pub foursquare_id: Option, - /// String Optional Foursquare type of the venue, if known. (For + /// Foursquare type of the venue, if known. (For /// example, “arts_entertainment/default”, “arts_entertainment/aquarium” or /// “food/icecream”.) #[serde(skip_serializing_if = "Option::is_none")] pub foursquare_type: Option, - /// Boolean Optional Sends the message silently. Users will receive a + /// Sends the message silently. Users will receive a /// notification with no sound. #[serde(skip_serializing_if = "Option::is_none")] pub disable_notification: Option, - /// Integer Optional If the message is a reply, ID of the original + /// If the message is a reply, ID of the original /// message #[serde(skip_serializing_if = "Option::is_none")] pub reply_to_message_id: Option, From c1e78c19cf63afdfa4382ba998aae07b78c3860c Mon Sep 17 00:00:00 2001 From: nextel Date: Fri, 13 Sep 2019 14:05:32 +0300 Subject: [PATCH 15/34] fix documentation --- src/core/requests/send_venue.rs | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/src/core/requests/send_venue.rs b/src/core/requests/send_venue.rs index 0d91ff5e..4422b45f 100644 --- a/src/core/requests/send_venue.rs +++ b/src/core/requests/send_venue.rs @@ -10,10 +10,10 @@ use crate::core::types::{Message, ReplyMarkup}; struct SendVenue<'a> { #[serde(skip_serializing)] ctx: RequestContext<'a>, - ///Unique identifier for the target chat or + /// Unique identifier for the target chat or /// username of the target channel (in the format @channelusername) pub chat_id: ChatId, - /// Yes Latitude of the venue + /// Latitude of the venue pub latitude: f64, /// Longitude of the venue pub longitude: f64, From b9364d737bcf0060667c3a8d5404a47a9267e672 Mon Sep 17 00:00:00 2001 From: nextel Date: Fri, 13 Sep 2019 14:07:05 +0300 Subject: [PATCH 16/34] fix docs --- src/core/requests/send_contact.rs | 14 +++++++------- 1 file changed, 7 insertions(+), 7 deletions(-) diff --git a/src/core/requests/send_contact.rs b/src/core/requests/send_contact.rs index 26cb438c..3e1e9eb1 100644 --- a/src/core/requests/send_contact.rs +++ b/src/core/requests/send_contact.rs @@ -10,21 +10,21 @@ use crate::core::types::{Message, ReplyMarkup}; struct SendContact<'a> { #[serde(skip_serializing)] ctx: RequestContext<'a>, - /// Unique identifier for the target chat or + /// Unique identifier for the target chat or /// username of the target channel (in the format @channelusername) pub chat_id: ChatId, - /// Contact's phone number + /// Contact's phone number pub phone_number: String, - /// Contact's first name + /// Contact's first name pub first_name: String, - /// Contact's last name + /// Contact's last name #[serde(skip_serializing_if = "Option::is_none")] pub last_name: Option, - /// Additional data about the contact in the form of a + /// Additional data about the contact in the form of a /// vCard, 0-2048 bytes #[serde(skip_serializing_if = "Option::is_none")] pub vcard: Option, - /// Sends the message silently. Users will receive a + /// Sends the message silently. Users will receive a /// notification with no sound. #[serde(skip_serializing_if = "Option::is_none")] pub disable_notification: Option, @@ -32,7 +32,7 @@ struct SendContact<'a> { /// message #[serde(skip_serializing_if = "Option::is_none")] pub reply_to_message_id: Option, - /// InlineKeyboardMarkup or ReplyKeyboardMarkup or ReplyKeyboardRemove + /// InlineKeyboardMarkup or ReplyKeyboardMarkup or ReplyKeyboardRemove /// or ForceReply Optional Additional interface options. A JSON-serialized /// object for an inline keyboard, custom reply keyboard, instructions to /// remove keyboard or to force a reply from the user. From 1932741f1a5abd3c1817e64bff810feb8f092538 Mon Sep 17 00:00:00 2001 From: Mishko torop'izhko Date: Fri, 13 Sep 2019 15:07:54 +0300 Subject: [PATCH 17/34] Update src/core/requests/send_contact.rs Co-Authored-By: Waffle Lapkin --- src/core/requests/send_contact.rs | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/core/requests/send_contact.rs b/src/core/requests/send_contact.rs index 3e1e9eb1..16cbec0e 100644 --- a/src/core/requests/send_contact.rs +++ b/src/core/requests/send_contact.rs @@ -4,7 +4,7 @@ use crate::core::requests::{ }; use crate::core::types::{Message, ReplyMarkup}; -///Use this method to send phone contacts. On success, the sent Message is +/// Use this method to send phone contacts. /// returned. #[derive(Debug, Clone, Serialize)] struct SendContact<'a> { From 45f7e49e3b3924a29dc9ed6b7acbaa109a15c085 Mon Sep 17 00:00:00 2001 From: Mishko torop'izhko Date: Fri, 13 Sep 2019 15:08:29 +0300 Subject: [PATCH 18/34] Update src/core/requests/send_venue.rs Co-Authored-By: Waffle Lapkin --- src/core/requests/send_venue.rs | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/core/requests/send_venue.rs b/src/core/requests/send_venue.rs index 4422b45f..eff1819b 100644 --- a/src/core/requests/send_venue.rs +++ b/src/core/requests/send_venue.rs @@ -15,7 +15,7 @@ struct SendVenue<'a> { pub chat_id: ChatId, /// Latitude of the venue pub latitude: f64, - /// Longitude of the venue + /// Longitude of the venue pub longitude: f64, /// Name of the venue pub title: String, From 766be3381d86d12339aae35369d8565700dfcc36 Mon Sep 17 00:00:00 2001 From: Mishko torop'izhko Date: Fri, 13 Sep 2019 15:08:40 +0300 Subject: [PATCH 19/34] Update src/core/requests/send_venue.rs Co-Authored-By: Waffle Lapkin --- src/core/requests/send_venue.rs | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/core/requests/send_venue.rs b/src/core/requests/send_venue.rs index eff1819b..424a33e7 100644 --- a/src/core/requests/send_venue.rs +++ b/src/core/requests/send_venue.rs @@ -4,7 +4,7 @@ use crate::core::requests::{ }; use crate::core::types::{Message, ReplyMarkup}; -///Use this method to send information about a venue. On success, the sent +/// Use this method to send information about a venue. /// Message is returned. #[derive(Debug, Clone, Serialize)] struct SendVenue<'a> { From 1f4ec47f3933e70e4b0e8dbbc33c0244ebf59700 Mon Sep 17 00:00:00 2001 From: Mishko torop'izhko Date: Fri, 13 Sep 2019 15:08:50 +0300 Subject: [PATCH 20/34] Update src/core/requests/send_venue.rs Co-Authored-By: Waffle Lapkin --- src/core/requests/send_venue.rs | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/core/requests/send_venue.rs b/src/core/requests/send_venue.rs index 424a33e7..efdaccf0 100644 --- a/src/core/requests/send_venue.rs +++ b/src/core/requests/send_venue.rs @@ -19,7 +19,7 @@ struct SendVenue<'a> { pub longitude: f64, /// Name of the venue pub title: String, - /// Address of the venue + /// Address of the venue pub address: String, /// Foursquare identifier of the venue #[serde(skip_serializing_if = "Option::is_none")] From b2fb7c29636d5690e3d047f485e45e46a5fca930 Mon Sep 17 00:00:00 2001 From: nextel Date: Fri, 13 Sep 2019 15:42:45 +0300 Subject: [PATCH 21/34] add SendPoll implementation --- src/core/requests/send_poll.rs | 118 ++++++++++++++++++++++++++++++--- 1 file changed, 108 insertions(+), 10 deletions(-) diff --git a/src/core/requests/send_poll.rs b/src/core/requests/send_poll.rs index 7090ef9b..9a7f13e2 100644 --- a/src/core/requests/send_poll.rs +++ b/src/core/requests/send_poll.rs @@ -1,16 +1,114 @@ -use crate::core::requests::{RequestContext, ChatId}; +use crate::core::network; +use crate::core::requests::{ + ChatId, Request, RequestContext, RequestFuture, ResponseResult, +}; +use crate::core::types::{Message, ReplyMarkup}; - -///Use this method to send a native poll. A native poll can't be sent to a private chat. On success, the sent Message is returned. +/// Use this method to send a native poll. A native poll can't be sent to a +/// private chat. On success, the sent Message is returned. #[derive(Debug, Clone, Serialize)] struct SendPoll<'a> { #[serde(skip_serializing)] ctx: RequestContext<'a>, - - chat_id :ChatId, Yes Unique identifier for the target chat or username of the target channel (in the format @channelusername). A native poll can't be sent to a private chat. - question :String String Yes Poll question, 1-255 characters -options Vec Array of String Yes List of answer options, 2-10 strings 1-100 characters each -disable_notification Boolean Optional Sends the message silently. Users will receive a notification with no sound. -reply_to_message_id Integer Optional If the message is a reply, ID of the original message -reply_markup InlineKeyboardMarkup or ReplyKeyboardMarkup or ReplyKeyboardRemove or ForceReply Optional Additional interface options. A JSON-serialized object for an inline keyboard, custom reply keyboard, instructions to remove reply keyboard or to force a reply from the user. + /// identifier for the target chat or username of the target channel (in + /// the format @channelusername). A native poll can't be sent to a private + /// chat. + chat_id: ChatId, + /// Poll question, 1-255 characters + question: String, + /// List of answer options, 2-10 strings 1-100 characters each + options: Vec, + /// Sends the message silently. Users will receive a notification with no + /// sound. + disable_notification: Option, + /// If the message is a reply, ID of the original message + reply_to_message_id: Option, + /// InlineKeyboardMarkup or ReplyKeyboardMarkup or ReplyKeyboardRemove + /// or ForceReply Optional Additional interface options. A JSON-serialized + /// object for an inline keyboard, custom reply keyboard, instructions to + /// remove reply keyboard or to force a reply from the user. + reply_markup: Option, +} + +impl<'a> Request<'a> for SendPoll<'a> { + type ReturnValue = Message; + + fn send(self) -> RequestFuture<'a, ResponseResult> { + Box::pin(async move { + network::request_json( + &self.ctx.client, + &self.ctx.token, + "sendPoll", + &self, + ) + .await + }) + } +} + +impl<'a> SendPoll<'a> { + pub(crate) fn new( + ctx: RequestContext<'a>, + chat_id: ChatId, + question: String, + options: Vec, + ) -> Self { + Self { + ctx, + chat_id, + question, + options, + disable_notification: None, + reply_to_message_id: None, + reply_markup: None, + } + } + + pub fn chat_id(mut self, chat_id: T) -> Self + where + T: Into, + { + self.chat_id = chat_id.into(); + self + } + + pub fn question(mut self, question: T) -> Self + where + T: Into, + { + self.question = question.into(); + self + } + + pub fn options(mut self, options: T) -> Self + where + T: Into>, + { + self.options = options.into(); + self + } + + pub fn disable_notification(mut self, disable_notification: T) -> Self + where + T: Into>, + { + self.disable_notification = disable_notification.into(); + self + } + + pub fn reply_to_message_id(mut self, reply_to_message_id: T) -> Self + where + T: Into>, + { + self.reply_to_message_id = reply_to_message_id.into(); + self + } + + pub fn reply_markup(mut self, reply_markup: T) -> Self + where + T: Into, + { + self.reply_markup = Some(reply_markup.into()); + self + } } From d8c51bdde88f6a46e7069cea718f481d6dbd89ea Mon Sep 17 00:00:00 2001 From: nextel Date: Fri, 13 Sep 2019 15:45:19 +0300 Subject: [PATCH 22/34] fix option fields --- src/core/requests/send_poll.rs | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/src/core/requests/send_poll.rs b/src/core/requests/send_poll.rs index 9a7f13e2..ba11325b 100644 --- a/src/core/requests/send_poll.rs +++ b/src/core/requests/send_poll.rs @@ -92,7 +92,7 @@ impl<'a> SendPoll<'a> { where T: Into>, { - self.disable_notification = disable_notification.into(); + self.disable_notification = Some(disable_notification.into()); self } @@ -100,7 +100,7 @@ impl<'a> SendPoll<'a> { where T: Into>, { - self.reply_to_message_id = reply_to_message_id.into(); + self.reply_to_message_id = Some(reply_to_message_id.into()); self } From 15f45b26e341e42a926c82b3178c20e0d754aaf9 Mon Sep 17 00:00:00 2001 From: Temirkhan Myrzamadi Date: Fri, 13 Sep 2019 21:43:33 +0600 Subject: [PATCH 23/34] Draw a dependency graph --- README.md | 5 +++++ graph.png | Bin 0 -> 2779381 bytes 2 files changed, 5 insertions(+) create mode 100644 graph.png diff --git a/README.md b/README.md index d3565e12..6e0c581c 100644 --- a/README.md +++ b/README.md @@ -5,3 +5,8 @@ + +## Dependency graph +
+ +
diff --git a/graph.png b/graph.png new file mode 100644 index 0000000000000000000000000000000000000000..8c66df6f481d8d6801a1b42b57b1892d668173eb GIT binary patch literal 2779381 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ΜrR__X$=`|s)UClW!EP$=Oh+bveP?tk{|nMI|Y z=CLRXw)Kd$k4K|zOd0Bh8#iw38`F5S54tPt8J;4ggDK!BRNSwuuYVLjYU`d(Z)U2f zy)<)=-)y=w{o*9jzwX~(vFW9u{G@wcOOv>uzf-F~v&6%bW!nfj-FDSSDxGJ|nsu(K zqOwviuSvXB>8iAb1=u4HDxbB8-HF!GJl47OtaBD3UFIz%PSbA{9UW(Ci#BbxBRJpc z;lZN6ean3BzwN8uuuJ)YAeGe5r`hpIEP+nO#O}&Io(0a&peyl$%{J&NFQy4wzE`PV zAHHVL?JU=hr=Gr8;bvrHl;n4%(lIPLBJpzc@RxSuuTN`O^Rbt^7v(vkH$ZwE{29f# zPwDV-hu;+TvF}lzr-YiM6l)%EShp^RnjkY1dhls*?p#2%)~s1$JZ6mLt*s4r?A|?Q z)Tr7ap`kh(zkjVYbk=+e3vUGMmY{*?mPajE(3ylZg%etuwYs%OUQZmsOU*n55-(BX z{eHW01UDUIgkn5AYu@nW^n2@^T!&%&k(>(fh}VO!S2TqVcT3$6cDH2RyQKCKp(b6c zln?I8E2BHKI%^*39uYA_^wLfY(do^WjxY^2Qd@Z2>n8DQ>CLu%>P9oHroZkL$lMr= zd+(BieTd(vr?(_&f&PF|LjXYN9RcZx!F*%IF?_ zCI3hS*|>MqfRDwd!}6co@7E{%G%6~F+JeVDaO8+STevd~v%@=R9);wB^@;cBv~kDf z6=@gR^l3kvsfXd6p=Jbcaqm8TP%nszPl>B^ho|RA7Z(Gog$s4K=i(C+<&t=Nr(uO9 zt(o|HIBc0h5J$A29p-XobTHvi7lIPPrEemt+V`UK1S>tP@7N3g6^yo>j#b^;KAn7k zvrYYV>oHG`#-sDL*`mEDD0mIP?0XI!+Qpv%eRA5cq1&)w@&Wk`wbQ^V+oDsa@N9yGPTQf7W?s+`3BYxN^HSOB|@79jLYfjSeo#N&#wIz<#J6mWRpkL`g zIO!R04c=!}uF5JbG78+#(J||_%_o1oSbY*kQKc|@L#(qA$R|qSI$QjnKLUyf?M