diff --git a/rustfmt.toml b/rustfmt.toml index f99a2b6f..cee9b586 100644 --- a/rustfmt.toml +++ b/rustfmt.toml @@ -1,4 +1,5 @@ format_code_in_doc_comments = true wrap_comments = true format_strings = true -max_width = 80 \ No newline at end of file +max_width = 80 +merge_imports = true \ No newline at end of file diff --git a/src/bot/api.rs b/src/bot/api.rs index 67a0a9bc..924e7abc 100644 --- a/src/bot/api.rs +++ b/src/bot/api.rs @@ -1,17 +1,14 @@ -use crate::bot::Bot; -use crate::requests::{ - AnswerCallbackQuery, DeleteChatStickerSet, GetChatMember, - GetChatMembersCount, SendAnimation, SendDocument, SendVideo, - SetChatStickerSet, -}; use crate::{ + bot::Bot, requests::{ - AnswerPreCheckoutQuery, AnswerShippingQuery, EditMessageLiveLocation, - ForwardMessage, GetFile, GetMe, GetUpdates, KickChatMember, - PinChatMessage, PromoteChatMember, RestrictChatMember, SendAudio, - SendChatAction, SendContact, SendLocation, SendMediaGroup, SendMessage, - SendPhoto, SendPoll, SendVenue, SendVideoNote, SendVoice, - SetChatDescription, StopMessageLiveLocation, UnbanChatMember, + AnswerCallbackQuery, AnswerPreCheckoutQuery, AnswerShippingQuery, + DeleteChatStickerSet, EditMessageLiveLocation, ForwardMessage, + GetChatMember, GetChatMembersCount, GetFile, GetMe, GetUpdates, + KickChatMember, PinChatMessage, PromoteChatMember, RestrictChatMember, + SendAnimation, SendAudio, SendChatAction, SendContact, SendDocument, + SendLocation, SendMediaGroup, SendMessage, SendPhoto, SendPoll, + SendVenue, SendVideo, SendVideoNote, SendVoice, SetChatDescription, + SetChatStickerSet, StopMessageLiveLocation, UnbanChatMember, UnpinChatMessage, }, types::{ChatAction, ChatId, ChatPermissions, InputFile, InputMedia}, diff --git a/src/bot/download.rs b/src/bot/download.rs index 331de593..dd2d5566 100644 --- a/src/bot/download.rs +++ b/src/bot/download.rs @@ -3,10 +3,9 @@ use tokio::io::AsyncWrite; #[cfg(feature = "unstable-stream")] use ::{bytes::Bytes, tokio::stream::Stream}; -use crate::bot::Bot; #[cfg(feature = "unstable-stream")] use crate::network::download_file_stream; -use crate::{network::download_file, DownloadError}; +use crate::{bot::Bot, network::download_file, DownloadError}; impl Bot { /// Download file from telegram into `destination`. diff --git a/src/dispatcher/handler.rs b/src/dispatcher/handler.rs index 6a456a8e..9ce74580 100644 --- a/src/dispatcher/handler.rs +++ b/src/dispatcher/handler.rs @@ -1,5 +1,4 @@ -use std::future::Future; -use std::pin::Pin; +use std::{future::Future, pin::Pin}; use futures::FutureExt; diff --git a/src/dispatcher/simple/error_policy.rs b/src/dispatcher/simple/error_policy.rs index 676d561f..8e922c63 100644 --- a/src/dispatcher/simple/error_policy.rs +++ b/src/dispatcher/simple/error_policy.rs @@ -1,6 +1,4 @@ -use std::fmt::Debug; -use std::future::Future; -use std::pin::Pin; +use std::{fmt::Debug, future::Future, pin::Pin}; // TODO: shouldn't it be trait? pub enum ErrorPolicy<'a, E> { diff --git a/src/dispatcher/simple/mod.rs b/src/dispatcher/simple/mod.rs index 23fa47ab..34fca780 100644 --- a/src/dispatcher/simple/mod.rs +++ b/src/dispatcher/simple/mod.rs @@ -267,8 +267,10 @@ where #[cfg(test)] mod tests { - use std::convert::Infallible; - use std::sync::atomic::{AtomicI32, Ordering}; + use std::{ + convert::Infallible, + sync::atomic::{AtomicI32, Ordering}, + }; use futures::Stream; @@ -352,8 +354,7 @@ mod tests { fn one_message_updater( ) -> StreamUpdater>> { - use futures::future::ready; - use futures::stream; + use futures::{future::ready, stream}; StreamUpdater::new(stream::once(ready(Ok(message_update())))) } diff --git a/src/dispatcher/updater.rs b/src/dispatcher/updater.rs index 7b0017fb..47d131ec 100644 --- a/src/dispatcher/updater.rs +++ b/src/dispatcher/updater.rs @@ -7,8 +7,7 @@ use futures::{stream, Stream, StreamExt}; use pin_project::pin_project; -use crate::bot::Bot; -use crate::{types::Update, RequestError}; +use crate::{bot::Bot, types::Update, RequestError}; // Currently just a placeholder, but I'll add here some methods /// Updater is stream of updates. diff --git a/src/requests/answer_callback_query.rs b/src/requests/answer_callback_query.rs index 600cb755..9d62af18 100644 --- a/src/requests/answer_callback_query.rs +++ b/src/requests/answer_callback_query.rs @@ -1,7 +1,9 @@ -use crate::bot::Bot; -use crate::network; -use crate::requests::{Request, ResponseResult}; -use crate::types::True; +use crate::{ + bot::Bot, + network, + requests::{Request, ResponseResult}, + types::True, +}; use async_trait::async_trait; /// Use this method to send answers to callback queries sent from inline diff --git a/src/requests/answer_pre_checkout_query.rs b/src/requests/answer_pre_checkout_query.rs index 9087cab4..e4842ef9 100644 --- a/src/requests/answer_pre_checkout_query.rs +++ b/src/requests/answer_pre_checkout_query.rs @@ -1,7 +1,7 @@ use async_trait::async_trait; -use crate::bot::Bot; use crate::{ + bot::Bot, network, requests::{Request, ResponseResult}, types::True, diff --git a/src/requests/answer_shipping_query.rs b/src/requests/answer_shipping_query.rs index 4ba8fcd2..90b59fa9 100644 --- a/src/requests/answer_shipping_query.rs +++ b/src/requests/answer_shipping_query.rs @@ -1,7 +1,7 @@ use async_trait::async_trait; -use crate::bot::Bot; use crate::{ + bot::Bot, network, requests::{Request, ResponseResult}, types::{ShippingOption, True}, diff --git a/src/requests/delete_chat_sticker_set.rs b/src/requests/delete_chat_sticker_set.rs index abb64fb6..2d1c849c 100644 --- a/src/requests/delete_chat_sticker_set.rs +++ b/src/requests/delete_chat_sticker_set.rs @@ -1,7 +1,9 @@ -use crate::bot::Bot; -use crate::network; -use crate::requests::{Request, ResponseResult}; -use crate::types::{ChatId, True}; +use crate::{ + bot::Bot, + network, + requests::{Request, ResponseResult}, + types::{ChatId, True}, +}; use async_trait::async_trait; /// Use this method to delete a group sticker set from a supergroup. The bot diff --git a/src/requests/edit_message_live_location.rs b/src/requests/edit_message_live_location.rs index b8d820b1..8ac0e77a 100644 --- a/src/requests/edit_message_live_location.rs +++ b/src/requests/edit_message_live_location.rs @@ -1,7 +1,7 @@ use async_trait::async_trait; -use crate::bot::Bot; use crate::{ + bot::Bot, network, requests::{Request, ResponseResult}, types::{ChatId, Message, ReplyMarkup}, diff --git a/src/requests/form_builder.rs b/src/requests/form_builder.rs index 01698d5c..66cbb913 100644 --- a/src/requests/form_builder.rs +++ b/src/requests/form_builder.rs @@ -2,10 +2,9 @@ use std::path::PathBuf; use reqwest::multipart::Form; -use crate::types::InputFile; use crate::{ requests::utils, - types::{ChatId, InputMedia, ParseMode}, + types::{ChatId, InputFile, InputMedia, ParseMode}, }; /// This is a convenient struct that builds `reqwest::multipart::Form` diff --git a/src/requests/forward_message.rs b/src/requests/forward_message.rs index 5cce7880..b99166b0 100644 --- a/src/requests/forward_message.rs +++ b/src/requests/forward_message.rs @@ -1,7 +1,7 @@ use async_trait::async_trait; -use crate::bot::Bot; use crate::{ + bot::Bot, network, requests::{Request, ResponseResult}, types::{ChatId, Message}, diff --git a/src/requests/get_chat.rs b/src/requests/get_chat.rs index 0853de27..c8fb74a8 100644 --- a/src/requests/get_chat.rs +++ b/src/requests/get_chat.rs @@ -1,7 +1,7 @@ use async_trait::async_trait; -use crate::bot::Bot; use crate::{ + bot::Bot, network, requests::{Request, ResponseResult}, types::{Chat, ChatId}, diff --git a/src/requests/get_chat_member.rs b/src/requests/get_chat_member.rs index 293db180..ce3eae65 100644 --- a/src/requests/get_chat_member.rs +++ b/src/requests/get_chat_member.rs @@ -1,7 +1,9 @@ -use crate::bot::Bot; -use crate::network; -use crate::requests::{Request, ResponseResult}; -use crate::types::{ChatId, ChatMember}; +use crate::{ + bot::Bot, + network, + requests::{Request, ResponseResult}, + types::{ChatId, ChatMember}, +}; use async_trait::async_trait; /// Use this method to get information about a member of a chat. Returns a diff --git a/src/requests/get_chat_members_count.rs b/src/requests/get_chat_members_count.rs index 3595cf49..ae224c59 100644 --- a/src/requests/get_chat_members_count.rs +++ b/src/requests/get_chat_members_count.rs @@ -1,7 +1,7 @@ use async_trait::async_trait; -use crate::bot::Bot; use crate::{ + bot::Bot, network, requests::{Request, ResponseResult}, types::{Chat, ChatId}, diff --git a/src/requests/get_file.rs b/src/requests/get_file.rs index 263705ac..43cb809d 100644 --- a/src/requests/get_file.rs +++ b/src/requests/get_file.rs @@ -1,7 +1,7 @@ use async_trait::async_trait; -use crate::bot::Bot; use crate::{ + bot::Bot, network, requests::{Request, ResponseResult}, types::File, diff --git a/src/requests/get_me.rs b/src/requests/get_me.rs index 4b1ad322..29d5a546 100644 --- a/src/requests/get_me.rs +++ b/src/requests/get_me.rs @@ -1,7 +1,7 @@ use async_trait::async_trait; -use crate::bot::Bot; use crate::{ + bot::Bot, network, requests::{Request, ResponseResult}, types::User, diff --git a/src/requests/get_updates.rs b/src/requests/get_updates.rs index bc773bf3..8e25a784 100644 --- a/src/requests/get_updates.rs +++ b/src/requests/get_updates.rs @@ -1,7 +1,7 @@ use async_trait::async_trait; -use crate::bot::Bot; use crate::{ + bot::Bot, network, requests::{Request, ResponseResult}, types::Update, diff --git a/src/requests/get_user_profile_photos.rs b/src/requests/get_user_profile_photos.rs index 16c57eb2..88ccaf5a 100644 --- a/src/requests/get_user_profile_photos.rs +++ b/src/requests/get_user_profile_photos.rs @@ -1,7 +1,7 @@ use async_trait::async_trait; -use crate::bot::Bot; use crate::{ + bot::Bot, network, requests::{Request, ResponseResult}, types::UserProfilePhotos, diff --git a/src/requests/kick_chat_member.rs b/src/requests/kick_chat_member.rs index c00690d3..cdbef073 100644 --- a/src/requests/kick_chat_member.rs +++ b/src/requests/kick_chat_member.rs @@ -1,7 +1,7 @@ use async_trait::async_trait; -use crate::bot::Bot; use crate::{ + bot::Bot, network, requests::{Request, ResponseResult}, types::{ChatId, True}, diff --git a/src/requests/pin_chat_message.rs b/src/requests/pin_chat_message.rs index d93f47bc..c8567e36 100644 --- a/src/requests/pin_chat_message.rs +++ b/src/requests/pin_chat_message.rs @@ -1,7 +1,7 @@ use async_trait::async_trait; -use crate::bot::Bot; use crate::{ + bot::Bot, network, requests::{Request, ResponseResult}, types::{ChatId, True}, diff --git a/src/requests/promote_chat_member.rs b/src/requests/promote_chat_member.rs index f37676fb..2c416233 100644 --- a/src/requests/promote_chat_member.rs +++ b/src/requests/promote_chat_member.rs @@ -1,7 +1,7 @@ use async_trait::async_trait; -use crate::bot::Bot; use crate::{ + bot::Bot, network, requests::{Request, ResponseResult}, types::{ChatId, True}, diff --git a/src/requests/restrict_chat_member.rs b/src/requests/restrict_chat_member.rs index 51dead83..f17b5ba6 100644 --- a/src/requests/restrict_chat_member.rs +++ b/src/requests/restrict_chat_member.rs @@ -1,7 +1,7 @@ use async_trait::async_trait; -use crate::bot::Bot; use crate::{ + bot::Bot, network, requests::{Request, ResponseResult}, types::{ChatId, ChatPermissions, True}, diff --git a/src/requests/send_animation.rs b/src/requests/send_animation.rs index 279eafff..0bfa8a3e 100644 --- a/src/requests/send_animation.rs +++ b/src/requests/send_animation.rs @@ -1,9 +1,11 @@ use async_trait::async_trait; -use crate::bot::Bot; -use crate::network; -use crate::requests::{Request, ResponseResult}; -use crate::types::{ChatId, InputFile, Message, ParseMode, ReplyMarkup}; +use crate::{ + bot::Bot, + network, + requests::{Request, ResponseResult}, + types::{ChatId, InputFile, Message, ParseMode, ReplyMarkup}, +}; ///Use this method to send animation files (GIF or H.264/MPEG-4 AVC video /// without sound). On success, the sent Message is returned. Bots can currently diff --git a/src/requests/send_audio.rs b/src/requests/send_audio.rs index 4b4411ef..95d29b61 100644 --- a/src/requests/send_audio.rs +++ b/src/requests/send_audio.rs @@ -1,7 +1,7 @@ use async_trait::async_trait; -use crate::bot::Bot; use crate::{ + bot::Bot, network, requests::{form_builder::FormBuilder, Request, ResponseResult}, types::{ChatId, InputFile, Message, ParseMode, ReplyMarkup}, diff --git a/src/requests/send_chat_action.rs b/src/requests/send_chat_action.rs index 403b88ba..af4db368 100644 --- a/src/requests/send_chat_action.rs +++ b/src/requests/send_chat_action.rs @@ -1,7 +1,7 @@ use async_trait::async_trait; -use crate::bot::Bot; use crate::{ + bot::Bot, network, requests::{Request, ResponseResult}, types::{ChatAction, ChatId, True}, diff --git a/src/requests/send_contact.rs b/src/requests/send_contact.rs index f4465f48..56e64cf9 100644 --- a/src/requests/send_contact.rs +++ b/src/requests/send_contact.rs @@ -1,7 +1,7 @@ use async_trait::async_trait; -use crate::bot::Bot; use crate::{ + bot::Bot, network, requests::{Request, ResponseResult}, types::{ChatId, Message, ReplyMarkup}, diff --git a/src/requests/send_document.rs b/src/requests/send_document.rs index 5c4af3af..9224955c 100644 --- a/src/requests/send_document.rs +++ b/src/requests/send_document.rs @@ -1,7 +1,7 @@ use async_trait::async_trait; -use crate::bot::Bot; use crate::{ + bot::Bot, network, requests::{Request, ResponseResult}, types::{ChatId, InputFile, Message, ParseMode, ReplyMarkup}, diff --git a/src/requests/send_location.rs b/src/requests/send_location.rs index 5df4edf3..bd76e9a2 100644 --- a/src/requests/send_location.rs +++ b/src/requests/send_location.rs @@ -2,8 +2,8 @@ use serde::Serialize; use async_trait::async_trait; -use crate::bot::Bot; use crate::{ + bot::Bot, network, requests::{Request, ResponseResult}, types::{ChatId, Message, ReplyMarkup}, diff --git a/src/requests/send_media_group.rs b/src/requests/send_media_group.rs index f9e0995a..ea503ed8 100644 --- a/src/requests/send_media_group.rs +++ b/src/requests/send_media_group.rs @@ -1,7 +1,7 @@ use async_trait::async_trait; -use crate::bot::Bot; use crate::{ + bot::Bot, network::request_multipart, requests::{form_builder::FormBuilder, Request, ResponseResult}, types::{ChatId, InputFile, InputMedia, Message}, diff --git a/src/requests/send_message.rs b/src/requests/send_message.rs index 371b640d..cd16ca21 100644 --- a/src/requests/send_message.rs +++ b/src/requests/send_message.rs @@ -1,7 +1,7 @@ use async_trait::async_trait; -use crate::bot::Bot; use crate::{ + bot::Bot, network, requests::{Request, ResponseResult}, types::{ChatId, Message, ParseMode, ReplyMarkup}, diff --git a/src/requests/send_photo.rs b/src/requests/send_photo.rs index 63a78666..76c1b18b 100644 --- a/src/requests/send_photo.rs +++ b/src/requests/send_photo.rs @@ -1,7 +1,7 @@ use async_trait::async_trait; -use crate::bot::Bot; use crate::{ + bot::Bot, network, requests::{form_builder::FormBuilder, Request, ResponseResult}, types::{ChatId, InputFile, Message, ParseMode, ReplyMarkup}, diff --git a/src/requests/send_poll.rs b/src/requests/send_poll.rs index 4322f6e6..d5d2e2da 100644 --- a/src/requests/send_poll.rs +++ b/src/requests/send_poll.rs @@ -1,7 +1,7 @@ use async_trait::async_trait; -use crate::bot::Bot; use crate::{ + bot::Bot, network, requests::{Request, ResponseResult}, types::{ChatId, Message, ReplyMarkup}, diff --git a/src/requests/send_venue.rs b/src/requests/send_venue.rs index 02eebeca..30e501c8 100644 --- a/src/requests/send_venue.rs +++ b/src/requests/send_venue.rs @@ -1,7 +1,7 @@ use async_trait::async_trait; -use crate::bot::Bot; use crate::{ + bot::Bot, network, requests::{Request, ResponseResult}, types::{ChatId, Message, ReplyMarkup}, diff --git a/src/requests/send_video.rs b/src/requests/send_video.rs index 85b5d27a..4763fde1 100644 --- a/src/requests/send_video.rs +++ b/src/requests/send_video.rs @@ -1,9 +1,11 @@ use async_trait::async_trait; -use crate::bot::Bot; -use crate::network; -use crate::requests::{Request, ResponseResult}; -use crate::types::{ChatId, InputFile, Message, ParseMode, ReplyMarkup}; +use crate::{ + bot::Bot, + network, + requests::{Request, ResponseResult}, + types::{ChatId, InputFile, Message, ParseMode, ReplyMarkup}, +}; ///Use this method to send video files, Telegram clients support mp4 videos /// (other formats may be sent as Document). On success, the sent Message is diff --git a/src/requests/send_video_note.rs b/src/requests/send_video_note.rs index c506058a..70e6c9df 100644 --- a/src/requests/send_video_note.rs +++ b/src/requests/send_video_note.rs @@ -1,7 +1,7 @@ use async_trait::async_trait; -use crate::bot::Bot; use crate::{ + bot::Bot, network, requests::{Request, ResponseResult}, types::{ChatId, InputFile, Message, ReplyMarkup}, diff --git a/src/requests/send_voice.rs b/src/requests/send_voice.rs index 9f152d02..af3724b9 100644 --- a/src/requests/send_voice.rs +++ b/src/requests/send_voice.rs @@ -1,7 +1,7 @@ use async_trait::async_trait; -use crate::bot::Bot; use crate::{ + bot::Bot, network, requests::{Request, ResponseResult}, types::{ChatId, InputFile, Message, ParseMode, ReplyMarkup}, diff --git a/src/requests/set_chat_sticker_set.rs b/src/requests/set_chat_sticker_set.rs index 14927d0d..f27d82d5 100644 --- a/src/requests/set_chat_sticker_set.rs +++ b/src/requests/set_chat_sticker_set.rs @@ -1,7 +1,9 @@ -use crate::bot::Bot; -use crate::network; -use crate::requests::{Request, ResponseResult}; -use crate::types::{ChatId, True}; +use crate::{ + bot::Bot, + network, + requests::{Request, ResponseResult}, + types::{ChatId, True}, +}; use async_trait::async_trait; /// Use this method to set a new group sticker set for a supergroup. The bot diff --git a/src/requests/stop_message_live_location.rs b/src/requests/stop_message_live_location.rs index 541690c2..7ded4251 100644 --- a/src/requests/stop_message_live_location.rs +++ b/src/requests/stop_message_live_location.rs @@ -1,7 +1,7 @@ use async_trait::async_trait; -use crate::bot::Bot; use crate::{ + bot::Bot, network, requests::{Request, ResponseResult}, types::{ChatId, InlineKeyboardMarkup, Message}, diff --git a/src/requests/unban_chat_member.rs b/src/requests/unban_chat_member.rs index 9a2f266c..2af14c12 100644 --- a/src/requests/unban_chat_member.rs +++ b/src/requests/unban_chat_member.rs @@ -1,7 +1,7 @@ use async_trait::async_trait; -use crate::bot::Bot; use crate::{ + bot::Bot, network, requests::{Request, ResponseResult}, types::ChatId, diff --git a/src/requests/unpin_chat_message.rs b/src/requests/unpin_chat_message.rs index aabf57dc..1e7f9ef6 100644 --- a/src/requests/unpin_chat_message.rs +++ b/src/requests/unpin_chat_message.rs @@ -1,7 +1,7 @@ use async_trait::async_trait; -use crate::bot::Bot; use crate::{ + bot::Bot, network, requests::{Request, ResponseResult}, types::{ChatId, True}, diff --git a/src/types/inline_query_result.rs b/src/types/inline_query_result.rs index f4644b79..098d0dc4 100644 --- a/src/types/inline_query_result.rs +++ b/src/types/inline_query_result.rs @@ -49,9 +49,8 @@ pub enum InlineQueryResult { #[cfg(test)] mod tests { - use crate::types::inline_keyboard_markup::InlineKeyboardMarkup; - use crate::types::parse_mode::ParseMode; use crate::types::{ + inline_keyboard_markup::InlineKeyboardMarkup, parse_mode::ParseMode, InlineQueryResult, InlineQueryResultCachedAudio, InputMessageContent, }; diff --git a/src/types/message.rs b/src/types/message.rs index 188d3bdb..61bebed0 100644 --- a/src/types/message.rs +++ b/src/types/message.rs @@ -190,7 +190,6 @@ pub enum MediaKind { mod getters { use std::ops::Deref; - use crate::types::message::MessageKind::{Pinned, SupergroupChatCreated}; use crate::types::{ self, message::{ @@ -203,7 +202,7 @@ mod getters { ChannelChatCreated, Common, ConnectedWebsite, DeleteChatPhoto, GroupChatCreated, Invoice, LeftChatMember, Migrate, NewChatMembers, NewChatPhoto, NewChatTitle, PassportData, - SuccessfulPayment, + Pinned, SuccessfulPayment, SupergroupChatCreated, }, }, Chat, ForwardedFrom, Message, MessageEntity, PhotoSize, Sender, True, diff --git a/src/types/unit_true.rs b/src/types/unit_true.rs index 0efe1b33..a953dcb2 100644 --- a/src/types/unit_true.rs +++ b/src/types/unit_true.rs @@ -1,5 +1,7 @@ -use serde::de::{self, Deserialize, Deserializer, Visitor}; -use serde::ser::{Serialize, Serializer}; +use serde::{ + de::{self, Deserialize, Deserializer, Visitor}, + ser::{Serialize, Serializer}, +}; #[derive(Copy, Clone, Debug, Default, Eq, Hash, PartialEq, PartialOrd, Ord)] pub struct True;