Hirrolot
16a3ba3349
Merge pull request #113 from teloxide/dont_reparse_url_on_every_request
...
Do not re-parse default tba url on every request
2021-08-31 07:50:21 -07:00
Waffle
d3bf4499ea
Use url::Url
for urls, use chrono::DateTime<Utc>
for dates in types
2021-08-31 17:45:20 +03:00
hex0x0000
2c53236af4
Fixed url formatting and a typo
...
Fixed formatting
Merging suggestion
Co-authored-by: Waffle Lapkin <waffle.lapkin@gmail.com>
Fixed other typos
2021-08-28 14:36:31 +02:00
Waffle
a422f97480
Do not re-parse default tba url on every request
2021-08-28 14:54:40 +03:00
Hirrolot
261be16b47
Merge pull request #106 from teloxide/use_tokio_task_unconstrained
...
Use `tokio::task::unconstrained` when using `.now_or_never()` to prevent some problems I guess
2021-08-22 01:55:23 -07:00
Waffle
2417b636a6
Add EditedMessageIsTooLong
error
2021-08-21 23:59:59 +03:00
Waffle
5349c85404
Fix compilation with nigthly
feature
...
The `min_type_alias_impl_trait` feature was removed in faviour of `type_alias_impl_trait`.
2021-08-03 02:29:26 +03:00
Waffle
0471cb0322
Use tokio::task::unconstrained
when using .now_or_never()
to prevent some problems I guess
...
The issue in fixme says to use `tokio::task::unconstrained`.
2021-07-23 20:08:26 +03:00
Waffle
2abd9b17a6
Fix typo in docs
2021-07-16 22:41:50 +03:00
Waffle
4ccedd7f77
suppress clippy
2021-07-12 17:07:20 +03:00
Waffle
1fe4518ee9
Add tools for Bot/Request type erasure
2021-07-12 16:58:51 +03:00
Waffle
33236f79e6
Document trace_adaptor
feature
2021-07-11 15:58:09 +03:00
Waffle
9e8819d726
Add Trace
bot adaptor
2021-07-10 17:41:20 +03:00
Waffle
5aa622b361
impl HasPayload
, Request
and Requester
for either::Either
...
This allows to use different adaptors depending on runtime context.
2021-07-08 13:04:40 +03:00
Waffle
23c125775c
Remove Self: 'static
buound on RequesterExt::throttle
2021-07-07 20:14:27 +03:00
Waffle
e7b44e6bbe
Use cfg(dep_docsrs)
to allow building docs properly as a dependency
2021-07-07 20:14:25 +03:00
Waffle
df69d07f2b
Bump version (0.2.2 => 0.3.0)
2021-07-04 17:36:07 +03:00
Waffle
5ac43d4ac0
Fix type of PhotoSize::{width,height}
fields: i32
=> u32
2021-07-04 17:36:07 +03:00
Waffle
44c1cfd420
Remove keyboad
method (typo, was fixed to keyboard in 0.2.2)
2021-07-04 17:36:07 +03:00
Waffle
e6b66a7383
TBA 5.3: update changelog and supported version
2021-07-04 16:06:06 +03:00
Waffle
120ed97e8c
TBA 5.3: Update methods
2021-07-04 16:06:06 +03:00
Waffle
27f5875b42
TBA 5.3: Add BotCommandScope
2021-07-04 16:06:06 +03:00
Waffle
ef84162314
Use DateTime<Utc>
for until_date
in ChatMember
2021-07-04 16:06:06 +03:00
Waffle
c3a00c687a
TBA 5.3: rename chat member statuses: Creator
=> Owner
, Kicked
=> Banned
2021-07-04 16:06:06 +03:00
Waffle
2c65fea742
TBA 5.3: Add input_field_placeholder
to KeyboardMarkup
and ForceReply
2021-07-04 14:56:25 +03:00
Hirrolot
52313b740c
Merge pull request #96 from teloxide/throttle_settings
...
Make `Throttle` settings more extendable
2021-07-04 07:59:56 +06:00
Hirrolot
9e7685e7b4
Merge branch 'master' into throttle_settings
2021-07-04 07:53:09 +06:00
Hirrolot
40c712e1d6
Merge branch 'master' into typed_urls_dates
2021-07-04 07:37:21 +06:00
Waffle
fa980453f3
Ignore buggy nonstandard_macro_braces clippy lint
2021-07-04 00:11:27 +03:00
Waffle
421cf42835
Use url::Url
for urls, use chrono::DateTime<Utc>
for dates
2021-07-03 23:35:13 +03:00
Waffle
4377abd149
Make Throttle
settings more extendable
...
Add a `#[non_exhaustive]` `Settings` builder struct.
Replace `with_queue_full_fn` and `spawn_with_queue_full_fn` with
`with_settings` and `spawn_with_settings`.
This allows to add more settings in the future without breaking changes.
2021-07-03 22:34:31 +03:00
Waffle
1661f9f955
Throttle: Avoid repeatedly calling queue_full
2021-06-29 21:24:04 +03:00
Waffle
6450d9227d
Add Throttle::{with_queue_full_fn, spawn_with_queue_full_fn}
2021-06-29 21:24:04 +03:00
Waffle
07676a7156
Throttle: log when queue is full
2021-06-29 21:24:04 +03:00
Waffle
58cbf45bac
Remove QueueStatus
2021-06-29 21:22:42 +03:00
Waffle
34e73748c3
Add a way to get info from/into Thrrotle
...
This patch adds `Thrrotle::{limits,set_limits,queue_status}` functions and
`QueueStatus` struct allowing to get current status of worker & change
limits of the fly.
2021-06-29 21:22:40 +03:00
Waffle
0dc565211f
Add DefaultParseMode::parse_mode
2021-06-29 21:21:47 +03:00
Waffle
656e393779
Fix rt-tys of {get,set}_my_commands
methods
...
Fix return types of `get_my_commands` (`u32` => `True`) and `set_my commands`
(`u32` => `Vec<BotCommand>`).
2021-06-24 20:49:26 +03:00
liushuyu
414ce2c3a6
telegram_response: fix issue with handling ...
...
... `retry_after` and `migrate_to_chat_id`
2021-06-19 03:16:30 -06:00
Waffle
c1eca613d5
Fix Clippy: remove useless (immediately implicitly dereferenced) refs
2021-06-09 11:34:40 +03:00
Waffle Lapkin
8ea42fe871
Resolve FIXME in HasPayload
: we've decided to not add As{Mut,Ref}
bounds
2021-06-09 11:09:14 +03:00
Waffle
77253422f8
clippy
2021-05-30 13:34:20 +03:00
Waffle
961d67ccf1
Fix formatting of ParseMode
docs
2021-05-21 16:58:04 +03:00
Waffle Lapkin
6ac0ed8588
Apply suggestions from code review
...
Co-authored-by: Hirrolot <hirrolot@gmail.com>
2021-05-13 18:43:07 +03:00
Waffle
ecaa5d5bec
Add net::default_reqwest_settings
function
...
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.
2021-05-12 11:51:03 +03:00
Waffle
728313174f
Use proper notable_trait attr
2021-05-08 23:49:00 +03:00
Temirkhan Myrzamadi
7faec64f95
Fix Clippy
2021-05-04 23:51:11 +06:00
Hirrolot
a068166e8d
Merge branch 'master' into api-5.2
2021-05-04 10:41:29 -07:00
Waffle Lapkin
ce1a9ece16
Merge branch 'master' into private_url
2021-05-04 18:31:18 +03:00
Waffle
c498872778
Fix clippy
2021-05-04 18:20:08 +03:00
Waffle
6c0eb174ed
Move macro around
2021-05-04 16:50:49 +03:00
Waffle
39c497ca1e
Update methods to TBA 5.2
2021-05-04 16:47:16 +03:00
Waffle
653c804037
Update types to TBA 5.2
2021-05-04 16:01:18 +03:00
handlerug
8a7909e7c7
Add BotKickedFromSupergroup error
...
Fixes teloxide/teloxide#372
2021-04-27 23:48:27 +07:00
handlerug
b3dec316e5
Add NotEnoughRightsToManagePins error
...
Fixes teloxide/teloxide#371
2021-04-27 23:41:14 +07:00
Hirrolot
1d20dace9a
Merge pull request #81 from teloxide/fix_docs
...
Fix docs
2021-04-27 06:46:34 -07:00
Waffle
a95089bc6f
Fix docs
...
`doc_spotlight` nightly feature was renamed to `doc_notable_trait`
2021-04-27 12:25:15 +03:00
Waffle
a7d07a770c
Update CHANGELOG and remove unused imports
2021-04-27 12:17:14 +03:00
Waffle
ce969564ac
Improve Message::url
...
Return urls to messages in private groups (t.me/c) when applicable.
2021-04-27 12:01:19 +03:00
Waffle
bd52e93cdb
Add missing Chat::message_auto_delete_time
field (tba 5.1)
2021-04-27 12:00:54 +03:00
Waffle
b55bdd274b
Add Chat
getters
...
Add getters for all `Chat` fields nested in `ChatKind`.
`Chat` has a lot of nested enums and so is hard to match on.
The getters help with this.
This patch also corrects type of `slow_mode_delay`: `Option<i32>`` -> `Option<u32>``
2021-04-27 11:42:31 +03:00
Waffle
5d0713e742
Fix return types of methods
...
Fix return types of LeaveChat, PinChatMessage, SetChatDescription, SetChatPhoto,
SetChatTitle, UnpinAllChatMessages and UnpinChatMessage: String => True
2021-04-22 17:34:47 +03:00
Waffle
c73e73ad02
fmt
2021-03-30 16:38:24 +03:00
Waffle Lapkin
ccdcda68d4
Merge branch 'master' into chat_member_methods
2021-03-30 16:26:46 +03:00
Waffle Lapkin
747898c310
Apply suggestions from code review
...
Co-authored-by: Hirrolot <hirrolot@gmail.com>
2021-03-30 16:24:41 +03:00
Waffle Lapkin
5b99565289
Apply suggestions from code review
...
Co-authored-by: Hirrolot <hirrolot@gmail.com>
2021-03-30 16:22:49 +03:00
Waffle Lapkin
16d0852e4a
Apply suggestions from code review
...
Co-authored-by: Hirrolot <hirrolot@gmail.com>
2021-03-30 15:04:44 +03:00
Hirrolot
2ab7d30ad2
Merge pull request #76 from teloxide/derive_clone
...
`impl Clone` for {`CacheMe<_>`, `DefaultParseMode<_>`, `Throttle<_>`}
2021-03-30 04:41:13 -07:00
Waffle
44a044af02
impl Clone
for {CacheMe<_>
, DefaultParseMode<_>
, Throttle<_>
}
2021-03-30 12:17:49 +03:00
Waffle
528187d7e6
Fix SendChatAction return type
2021-03-29 13:49:52 +03:00
Waffle
23cf363271
Prevent year 2038 problem in ChatMember
...
This patch changes the Type of `{Restricted,Kicked}::until_date` fields:
`i32` => `i64`.
This is done to fix so called "year 2038 problem"
(See <https://en.wikipedia.org/wiki/Year_2038_problem >).
2021-03-29 10:20:03 +03:00
Waffle
3522a23289
fix docs
2021-03-29 10:16:02 +03:00
Waffle
75aaf56d53
Add ChatMemberKind::is_anonymous method
2021-03-29 00:33:02 +03:00
Waffle
f50e1d2d45
Make rights checks easier to use
2021-03-28 16:24:06 +03:00
Waffle
9333fca3c2
Make privileges checks easier to use
...
Change `ChatMemberKind::can_*` methods:
- Make them return bool, instead if option
- Return appropriate result for creators
2021-03-28 16:02:42 +03:00
Waffle
2a6e9353e7
Add is_* methods to ChatMember
...
Among with simple `is_{creator,administrator,restricted,left,kicked}` methods
which just check `.kind`, this patch adds `is_privileged` and `is_in_chat`
compound methods, which may be usefull.
2021-03-28 15:06:45 +03:00
Waffle
c36762c7af
Add Deref
impl for ChatMember
to allow calling kind's methods directly
2021-03-28 14:39:03 +03:00
Waffle
02cd4dc97f
Fix GetChatAdministrators
output type ChatMember
=> Vec<ChatMember>
2021-03-28 14:02:10 +03:00
Waffle
b1e7643662
Make annoying headers less annoying
...
Remove commit, so they won't change every time.
Also change the text to better reflect what's going on.
2021-03-28 13:49:27 +03:00
Waffle
b5003d8b34
Fix typo: ReplyMarkup::{keyboad => keyboard}
...
This commit adds `ReplyMarkup::keyboard}` and deprecates `ReplyMarkup::keyboad`.
2021-03-22 10:48:56 +03:00
Waffle
907d8a23a9
doc(no_inline) prelude reexports
2021-03-22 10:46:39 +03:00
Waffle
670979e5ca
Release 0.2.1
2021-03-19 12:28:05 +03:00
Waffle
f4507bd3d2
Fix: types fields privacy (make fields of some types public)
...
The typos were found with `grep`:
```text
; grep -r -P "^ \w{2,}: .+, *$" ./src/types/*
./src/types/dice.rs: emoji: DiceEmoji,
./src/types/dice.rs: value: i32,
./src/types/keyboard_button.rs: contact: Option<True>,
./src/types/keyboard_button.rs: location: Option<True>,
./src/types/keyboard_button.rs: poll: Option<KeyboardButtonPollType>,
./src/types/message.rs: message_auto_delete_timer_changed: MessageAutoDeleteTimerChanged,
./src/types/passport_element_error.rs: message: String,
./src/types/passport_element_error.rs: kind: PassportElementErrorKind,
./src/types/sticker_set.rs: thumb: Option<PhotoSize>,
```
`src/types/keyboard_button.rs` can be ignored since in just contains private
helper structure.
Fields made public:
- `Dice::{emoji, value}`
- `MessageMessageAutoDeleteTimerChanged::message_auto_delete_timer_changed`
- `PassportElementError::{message, kind}`
- `StickerSet::thumb`
2021-03-19 12:28:05 +03:00
Waffle
2cdadf774f
fix nightly-feature name
2021-03-18 14:32:03 +03:00
Waffle Lapkin
a7a329a53a
Merge pull request #65 from teloxide/refactor_reply_markup
...
refactor reply markup
2021-03-16 15:32:11 +03:00
Waffle
36557573aa
Refactor ReplyMarkup
...
This commit tries to make using ReplyMarkup less noisy. It
- Renames `ReplyMarkup::{InlineKeyboardMarkup => InlineKeyboard, ReplyKeyboardMarkup => Keyboard, ReplyKeyboardRemove => KeyboardRemove}`
- Adds `inline_kb`, `keyboad`, `kb_remove` and `force_reply` `ReplyMarkup`
consructors
- Renames `ReplyKeyboardMarkup` => `KeyboardMarkup`
- Renames `ReplyKeyboardRemove` => `KeyboardRemove`
- Removes useless generic param from `ReplyKeyboardMarkup::new` and
`InlineKeyboardMarkup::new`
- Changes parameters order in `ReplyKeyboardMarkup::append_to_row` and
`InlineKeyboardMarkup::append_to_row`
2021-03-16 15:14:32 +03:00
Waffle Lapkin
510b0c9ac0
Make MediaContact::contact public
2021-03-16 14:16:40 +03:00
Waffle
3489890230
fix CI
2021-03-16 14:06:22 +03:00
Waffle
084caa9c12
fix doc link
2021-03-16 13:53:52 +03:00
Waffle
c8939dff09
Turn on nightly clippy again
...
The fix of the bug finally got released
2021-03-15 23:50:09 +03:00
Waffle
aef88f97c3
Update to tba API version 5.1
2021-03-15 23:50:02 +03:00
Waffle
9abb6d6884
Small fixes
2021-03-14 23:18:07 +03:00
Waffle
467477d38e
Update changelog & readme
2021-03-14 22:59:49 +03:00
Waffle
fa5ab5aa7c
Update methods to tba 5.0
2021-03-14 22:55:25 +03:00
Waffle
20c67a18c5
Update types (tba API 5.0)
...
See more: https://core.telegram.org/bots/api#november-4-2020
2021-03-14 22:52:35 +03:00
Temirkhan Myrzamadi
e400fb16e7
Use serde_json::from_value in Update::try_parse
2021-03-13 21:38:05 +06:00
Temirkhan Myrzamadi
cd9a98163c
Fix SemiparsedVec::from
2021-03-13 21:11:54 +06:00
Temirkhan Myrzamadi
32b446d26c
Move log::error! on update parsing failure to Update::try_parse
2021-03-13 21:05:45 +06:00
Temirkhan Myrzamadi
61eed38c32
Fix SemiparsedVec
2021-03-13 17:46:16 +06:00
Temirkhan Myrzamadi
f87b4e51e6
Merge branch 'master' into fault_tolerant_get_updates
2021-03-06 12:11:38 +03:00
Waffle
b3d8d70a7c
remove unused use
2021-03-06 10:58:18 +03:00
Waffle
7600a88312
Fix SetWebhook
...
Make `GetUpdates::allowed_updates` optional
2021-03-06 00:48:06 +03:00
Temirkhan Myrzamadi
b465da5f16
Derive Clone for AutoSend
2021-02-28 22:32:50 +06:00
Temirkhan Myrzamadi
c2aaa724f4
NonStrictVec -> SemiparsedVec
2021-02-27 18:52:11 +06:00
Temirkhan Myrzamadi
466dbe6f8d
Fix a documentation typo
2021-02-27 18:38:02 +06:00
Waffle
7e43c4d321
Add GetUpdatesFaultTolerant
2021-02-27 01:07:57 +03:00
Waffle
7025de58f5
Fix typos in payloads
...
- `get_updates`: `offset` `i64` -> `i32`
- `send_location`: make `live_period` optional
2021-02-22 11:30:13 +03:00
Waffle
dcdba78285
Fix send_contact singnature
...
- `phone_number: f64` -> `phone_number: String`
- `first_name: f64` -> `first_name: String`
2021-02-22 08:47:50 +03:00
Waffle
7c18750a8f
Remove dbg! print
2021-02-17 14:23:13 +03:00
Waffle
80329f8a1e
Throttle: make comment up to date & add channel fn
2021-02-16 19:07:50 +03:00
Waffle
72306c39d9
Limit queue growth in throttle
2021-02-16 18:49:18 +03:00
Waffle
669d6c95be
Make some cleanup of throttle
2021-02-16 18:34:19 +03:00
Waffle
417b8eb1e1
Add #[non_exhaustive]
on InputFile
2021-02-16 17:16:27 +03:00
Waffle
8abf3863e5
Future proof multipart requests
2021-02-16 17:16:20 +03:00
Temirkhan Myrzamadi
557002b43a
Merge pull request #46 from teloxide/refactor-throttle
...
Refactor requests throttling
2021-02-15 23:17:29 +03:00
Temirkhan Myrzamadi
0d25d357d9
Reformat throttle.rs
2021-02-16 02:09:06 +06:00
Temirkhan Myrzamadi
8deaac04fa
Fix Clippy
2021-02-16 02:03:04 +06:00
Temirkhan Myrzamadi
65c98741db
Apply suggestions from the review
2021-02-16 01:57:59 +06:00
Temirkhan Myrzamadi
916a774c88
Update src/adaptors/throttle.rs
...
Co-authored-by: Waffle Lapkin <waffle.lapkin@gmail.com>
2021-02-15 22:44:19 +03:00
Temirkhan Myrzamadi
d58b21c42f
Refactoring
2021-02-16 00:50:46 +06:00
Temirkhan Myrzamadi
3129d709fe
Small enhancements
2021-02-15 16:46:31 +06:00
Temirkhan Myrzamadi
3485acb2b4
Merge pull request #47 from teloxide/update_changelog
...
update changelog
2021-02-15 11:43:57 +03:00
Waffle
91220befb6
fix warning
2021-02-15 00:35:53 +03:00
Temirkhan Myrzamadi
d8c16d420d
refactor(throttle): small renamings
2021-02-12 18:20:20 +06:00
Waffle
ab76ec07f2
fix docs
2021-02-07 02:41:29 +03:00
Waffle
21ecc39dc7
fix test
2021-02-07 01:50:53 +03:00
Waffle
fc88c72a26
Suppress clippy::upper_case_acronyms for Currency and CountryCode
2021-02-06 19:25:36 +03:00
Waffle
8befcffe26
Fix naming that triggers clippy::upper_case_acronyms lint
...
Rename
- ParseMode::{HTML => Html}
- ApiError::{
InvalidQueryID => InvalidQueryId,
ButtonURLInvalid => ButtonUrlInvalid,
WrongFileID => WrongFileId,
WebhookRequireHTTPS => WebhookRequireHttps,
WrongHTTPurl => WrongHttpUrl,
}
2021-02-06 19:23:16 +03:00
Waffle
ec58a59903
Fix SendMediaGroup return type
...
Message -> Vec<Message>
2021-02-05 21:32:21 +03:00
Waffle
311a5b18fe
fix docs
2021-01-26 18:39:10 +03:00
Waffle
0e43c32b82
clippy
2021-01-26 18:31:15 +03:00
Waffle
eaf72bd97d
remove unused function
2021-01-26 16:53:49 +03:00
Waffle
cf4330d892
fix 1584 line error
2021-01-26 16:52:33 +03:00
Waffle
a26935d51a
remove SendInvoice from types
...
- It's a method not a telegram type
- We already have SendInvoice ~at home~ in payloads
Existence of the file was an accident
2021-01-26 16:46:34 +03:00
Waffle
0ef0526743
Replace Into<Vec<_>>
by IntoIterator<Item = _>
2021-01-26 16:34:22 +03:00
Waffle
bd4dba3bf1
Remove MessageEntity::text_from
because it's wrong
...
(the method assumes UTF-8 indices, but the indices are UTF-16)
(fuck you, telegram)
2021-01-26 16:21:47 +03:00
Waffle
09d0d886fa
Refactor KeyboardButtonPollType
...
- Make it enum
- Rename `ButtonRequest::KeyboardButtonPollType` => `<_>::poll`
2021-01-26 16:02:05 +03:00
Waffle
393f6ee7a4
Cleanup setters in types::*
...
- Remove useless setters for types which are only returned from telegam
- Add `const` on setters (where possible)
- Make `Poll::{open_period,close_date}` public
2021-01-26 15:35:08 +03:00
Waffle
d663879423
fix example and add --features full to ci
2021-01-26 14:52:50 +03:00
Waffle
8807cd7228
fix examples (because get_me now returns Me)
2021-01-26 14:10:37 +03:00
Waffle
a80ff92aba
make get_me
return Me
2021-01-26 13:58:51 +03:00
Waffle
5b328105fa
Sticker related fixes
...
- Rename `sticker_type.rs` => `input_sticker.rs` (after the contained type)
- Make `create_new_sticker_set` multipart
- Replace CreateNewStickerSet::{png,tgs}_sticker with `<_>::sticker`
- Fix GetStickerSet return type
- Revert some previous InputSticker changes: make the variants tuple structsm
remove constructors
2021-01-26 13:43:21 +03:00
Waffle
b16006ec9c
document tls features
2021-01-26 11:56:42 +03:00
Temirkhan Myrzamadi
53f1c6d4d3
Merge pull request #42 from teloxide/use_2018_module_style
...
use 2018 module style
2021-01-25 23:33:50 +06:00
Waffle
1f4d29c547
Add note that serde_multipart is awful
2021-01-23 15:59:59 +03:00
Waffle
55c02e3311
Use edition-2018 style modules
...
Use `module_name.rs` instead of `module_name/mod.rs`.
Pros:
- It's easier to find the module file (especially for modules with lots of
submodules like `types`)
- Module file name is not 'magical'
2021-01-23 15:56:22 +03:00
Waffle
6abf571c96
Remove git dependency
2021-01-21 22:25:20 +03:00
Temirkhan Myrzamadi
8e011b7e60
Merge pull request #41 from teloxide/improve_docs
...
Improve docs
2021-01-21 18:52:16 +06:00
Waffle
3aec4e5070
fix test
2021-01-21 10:15:02 +03:00
Waffle
cc9e3a56e6
workaround rustc bug
2021-01-21 09:45:20 +03:00