mirror of
https://github.com/teloxide/teloxide.git
synced 2025-01-10 03:52:24 +01:00
ecaa5d5bec
This function can help when users want to set up their own client setting for one reason or another, since settings set by the function, are required for stable work. This function was previously private and named `sound_bot`. The old name was confusing since safety and soundness are used in the Rust context almost entirely for `unsafe` code, UB & co. So I've changed the name to a more descriptive one.
11 KiB
11 KiB
Changelog
All notable changes to this project will be documented in this file.
The format is based on Keep a Changelog, and this project adheres to Semantic Versioning.
[unreleased]
Added
impl Clone
for {CacheMe
,DefaultParseMode
,Throttle
} (#75)- Getters for fields nested in
Chat
(#80) - API errors:
ApiError::NotEnoughRightsToManagePins
,ApiError::BotKickedFromSupergroup
(#84) - Telegram bot API 5.2 support (#86)
net::default_reqwest_settings
function (#90)
Changed
Message::url
now returns links to messages in private groups too (#80)- Refactor
ChatMember
methods (#74)- impl
Deref<Target = ChatMemberKind>
to makeChatMemberKind
's methods callible directly onChatMember
- Add
ChatMemberKind::is_{creator,administrator,member,restricted,left,kicked}
which checkkind
along withis_privileged
andis_in_chat
which combine some of the above. - Refactor privilege getters
- impl
- Rename
ChatAction::{RecordAudio => RecordVoice, UploadAudio => UploadVoice}
(#86)
Fixed
- Type of
PublicChatSupergroup::slow_mode_delay
field:Option<i32>
=>Option<u32>
(#80) - Add missing
Chat::message_auto_delete_time
field (#80) - Output types of
LeaveChat
PinChatMessage
,SetChatDescription
,SetChatPhoto
SetChatTitle
,UnpinAllChatMessages
andUnpinChatMessage
:String
=>True
(#79) SendChatAction
output typeMessage
=>True
(#75)GetChatAdministrators
output typeChatMember
=>Vec<ChatMember>
(#73)reqwest
dependency bringingnative-tls
in even whenrustls
was selected (#71)- Type of
{Restricted,Kicked}::until_date
fields:i32
=>i64
(#74)
[0.2.2] - 2020-03-22
Fixed
- Typo:
ReplyMarkup::{keyboad => keyboard}
(#69)- Note: method with the old name was deprecated and hidden from docs
[0.2.1] - 2020-03-19
Fixed
- Types fields privacy (make fields of some types public) (#68)
Dice::{emoji, value}
MessageMessageAutoDeleteTimerChanged::message_auto_delete_timer_changed
PassportElementError::{message, kind}
StickerSet::thumb
[0.2.0] - 2020-03-16
Changed
- Refactor
ReplyMarkup
(#pr65) (BC)- Rename
ReplyMarkup::{InlineKeyboardMarkup => InlineKeyboard, ReplyKeyboardMarkup => Keyboard, ReplyKeyboardRemove => KeyboardRemove}
- Add
inline_kb
,keyboad
,kb_remove
andforce_reply
ReplyMarkup
consructors - Rename
ReplyKeyboardMarkup
=>KeyboardMarkup
- Rename
ReplyKeyboardRemove
=>KeyboardRemove
- Remove useless generic param from
ReplyKeyboardMarkup::new
andInlineKeyboardMarkup::new
- Change parameters order in
ReplyKeyboardMarkup::append_to_row
andInlineKeyboardMarkup::append_to_row
- Rename
- Support telegram bot API version 5.1 (see it's changelog) (#pr63) (BC)
- Support telegram bot API version 5.0 (see it's changelog) (#pr62) (BC)
Added
GetUpdatesFaultTolerant
- fault toletant version ofGetUpdates
(#58) (BC)- Derive
Clone
forAutoSend
.
Fixed
- Make
MediaContact::contact
public (#pr64) set_webhook
signature (makeallowed_updates
optional) (#59)- Fix typos in payloads (#57):
get_updates
:offset
i64
->i32
send_location
: makelive_period
optional
send_contact
signature (phone_number
andfirst_name
f64
=>String
) (#56)
Removed
Message::text_owned
(#pr62) (BC)
Changed
NonStrictVec
->SemiparsedVec
.
[0.1.1] - 2020-02-17
Fixed
- Remove
dbg!
call from internals (#53)
[0.1.0] - 2020-02-17
Added
#[non_exhaustive]
onInputFile
since we may want to add new ways to send files in the future (#49)MultipartPayload
for future proofing (#49)- Support for
rustls
(#24) #[must_use]
attr to payloads implemented by macro (#22)- forward-to-deref
Requester
impls (#39) Bot::{set_,}api_url
methods (#26, #35)payloads
moduleRequesterExt
trait which is implemented for allRequester
s and allows easily wrapping them in adaptorsadaptors
module (#14)throttle
,cache_me
,auto_send
andfull
crate features- Request throttling - opt-in feature represented by
Throttle
bot adapter which allows automatically checking telegram limits (#10, #46, #50) - Request auto sending - ability to
.await
requests without need to call.send()
(opt-in feature represented byAutoSend
bot adapter, #8) get_me
caching (opt-in feature represented byCacheMe
bot adapter)
Requester
trait which represents bot-clients (#7, #12, #27){Json,Multipart}Request
theBot
requests types (#6)Output<T>
alias to<<T as HasPayload>::Payload as Payload>::Output
Payload
,HasPayload
andRequest
traits which represent different parts of the request (#5)GetUpdatesNonStrict
'telegram' method, that behaves just likeGetUpdates
but doesn't #2 fail if one of updates fails to be deserialized- Move core code here from the
teloxide
main repo, for older changes see it'sCHANGELOG.md
.- Following modules were moved:
bot
requests
[exceptrequests::respond
function]types
errors
net
[private]
client_from_env
was moved fromteloxide::utils
to crate root ofteloxide-core
- To simplify
GetUpdates
request it was changed to simply returnVec<Update>
(instead ofVec<Result<Update, (Value, serde_json::Error)>>
)
- Following modules were moved:
Changed
- Cleanup setters in
types::*
(remove most of them) (#44) - Refactor
KeyboardButtonPollType
(#44) - Replace
Into<Vec<_>>
byIntoIterator<Item = _>
in function arguments (#44) - Update dependencies (including tokio 1.0) (#37)
- Refactor file downloading (#30):
- Make
net
module public - Move
Bot::download_file{,_stream}
methods to a newDownload
trait- Impl
Download
for all bot adaptors & theBot
itself
- Impl
- Change return type of
download_file_stream
— returnStream<Result<Bytes>>``, instead of
Future<Result<Stream<Result>>>`` - Add
api_url
param to standalone versions ofdownload_file{,_stream}
- Make
net::{TELEGRAM_API_URL, download_file{,_stream}}
pub
- Make
- Refactor
Bot
(#29):- Move default parse mode to an adaptor (
DefaultParseMode
) - Remove bot builder (it's not usefull anymore, since parse_mode is moved away)
- Undeprecate bot constructors (
Bot::{new, with_client, from_env_with_client}
)
- Move default parse mode to an adaptor (
- Rename
StickerType
=>InputSticker
,{CreateNewStickerSet,AddStickerToSet}::sticker_type}
=>sticker
(#23, #43) - Use
_: IntoIterator<Item = T>
bound instead of_: Into<Vec<T>>
in telegram methods which accept collections (#21) - Make
MessageDice::dice
pub (#20) - Merge
ApiErrorKind
andKnownApiErrorKind
intoApiError
(#13) - Refactor ChatMember (#9)
- Replace a bunch of
Option<_>
fields withChatMemberKind
- Remove setters (users are not expected to create this struct)
- Add getters
- Replace a bunch of
- Changed internal mechanism of sending multipart requests (#1)
- Added
RequestError::Io(io::Error)
to wrap I/O error those can happen while sending files to telegram - Make all fields of all methods
pub
(#3)