Waffle
2f09e9930d
Decompose ChatMemberKind
as was requested per review
2020-10-10 14:17:52 +03:00
Waffle
8e44a0bcfc
fmt: i can't see the difference
2020-10-03 03:39:50 +03:00
Waffle
2d7e40a473
[throttle] fix doc test
2020-10-03 03:30:34 +03:00
Waffle
e757999135
[throttle] git rebase, fmt and clippy things
2020-10-02 21:22:19 +03:00
Waffle
0aecda6348
[throttle] stop worker when channel is closed
2020-10-02 20:53:00 +03:00
Waffle
d43f2514d3
[throttle] use channel close to send unlock "messages"
...
Also use `with_capacity` for queue
2020-10-02 20:53:00 +03:00
Waffle
380e189ec7
[throttle] comment and doc improvements
2020-10-02 20:53:00 +03:00
Waffle
6f03ca0954
[throttle] hash ChatId::ChannelUsername
to prevent expensive string cloning & make send{,_ref} enums private
...
The future has come!
2020-10-02 20:53:00 +03:00
Waffle
7fdf9cd9a6
[throttle] implement send_ref
2020-10-02 20:53:00 +03:00
Waffle
247868a815
[throttle] explicit queue-closed error handling & comments
2020-10-02 20:53:00 +03:00
Waffle
23ef060d08
[throttle] temporary resolve spawn_blocking
fixme
2020-10-02 20:53:00 +03:00
Waffle
b38e35b630
[throttle] format, docs, modfix and small additions
2020-10-02 20:52:56 +03:00
Waffle
6714a9c503
[throttle] clear hchats_s
instead of creating&dropping every iteration
2020-10-02 20:50:30 +03:00
Waffle
5f5e42054d
[throttle] queue optimizations#1
2020-10-02 20:50:30 +03:00
Waffle
3f9db1f31b
[throttle] queue optimizations#0
2020-10-02 20:50:30 +03:00
Waffle
f270613e7e
[throttle] refactor#0
...
- Move all data to the worker making it unshared.
- Use mpsc channel to update requests queue
- Yield if there are no requests in queue
- Remove `:0` entries from `hchats`
- Remove debug prints
- Remove use of `block_on`
2020-10-02 20:50:30 +03:00
Waffle
4e412b39e1
(very bad) initial implementation of throttling
2020-10-02 20:50:30 +03:00
Waffle
8271150218
add SendMessage request
2020-10-02 20:50:30 +03:00
Waffle Lapkin
269859eba9
Update src/bot/auto_send.rs
...
Co-authored-by: Temirkhan Myrzamadi <hirrolot@gmail.com>
2020-10-01 21:11:28 +03:00
Waffle Lapkin
a7066e5e11
Apply suggestions from code review
...
Co-authored-by: Temirkhan Myrzamadi <hirrolot@gmail.com>
2020-10-01 21:08:38 +03:00
Waffle Lapkin
429ab0b74a
Apply suggestions from code review
...
Co-authored-by: Temirkhan Myrzamadi <hirrolot@gmail.com>
2020-10-01 21:00:02 +03:00
Waffle
57afa34609
rephase
2020-09-23 23:44:53 +03:00
Waffle
f4b11095a7
fmt
2020-09-23 22:06:23 +03:00
Waffle
cd5d6fd6b9
Make AutoRequest<_>
fused
2020-09-23 21:52:09 +03:00
Waffle
91d78b65b3
Refactor ChatMember
...
- Replace a bunch of `Option<_>` fields with `hatMemberKind`
- Remove setters (users are not expected to create this struct)
- Add getters
2020-09-23 19:05:59 +03:00
Waffle
0ec81cf753
Implement auto sending requests
2020-09-23 16:53:26 +03:00
Waffle
83cc634f79
add :std::error::Error bound on Request::Err
2020-09-22 22:56:02 +03:00
Waffle
954c410c1b
implement get_me
caching
2020-09-22 22:55:19 +03:00
Waffle
2cabc5fb4e
add Requester trait and GetMe payload
2020-09-22 22:52:23 +03:00
Waffle
f3e0005335
remove AsMut/AsRef bounds because of a compiler bug
2020-09-22 22:48:42 +03:00
Waffle
07a403c279
implement default Bot's {Json,Multipart}Request
2020-09-19 20:30:36 +03:00
Waffle Lapkin
f272326c69
Merge pull request #5 from teloxide/requests_redisign_p0
...
Requests redisign part 0
2020-08-25 17:30:04 +03:00
Waffle
88004607d3
fmt
2020-08-24 17:08:55 +03:00
Waffle
c773ce7aff
implement HasPayload
in terms of As{Ref,Mut}
2020-08-24 15:50:15 +03:00
Waffle
76d47276f6
requests redesign part 0
...
This commit introduces 3 traits mentioned in requests redesign proposal:
- `Payload`
- `HasPayload`
- `Request`
Also it adds `Output<T>` alias to `<<T as HasPayload>::Payload as Payload>::Output`
2020-08-22 22:03:59 +03:00
Waffle
45a55c66de
rename Request
=> RequestOld
2020-08-22 20:59:04 +03:00
Waffle Lapkin
481b2ee564
Merge pull request #3 from teloxide/pub_fields_in_methods
...
make all methods fields public
2020-08-16 23:38:26 +03:00
Waffle
fd64e17f4c
remove all #[non_exhaustive]
s
2020-08-16 21:24:35 +03:00
Waffle
d4c0bc2fe1
make all methods fields public
2020-08-16 21:10:42 +03:00
Waffle
d186a73eda
add GetUpdatesNonStrict
'telegram' method - fail proof version of GetUpdates
2020-08-16 20:02:12 +03:00
Waffle Lapkin
891106cabe
Update src/errors.rs
...
Co-authored-by: Temirkhan Myrzamadi <hirrolot@gmail.com>
2020-08-16 14:44:08 +03:00
Waffle
f0709a16b3
add changes to CHANGELOG.md
...
(& a bit of fmt 🤦 )
2020-08-16 11:06:50 +03:00
Waffle
f7aef22fbf
make StickerType::{png,tgs}
pub
2020-08-16 10:58:10 +03:00
Waffle
72b776d859
some cleanup (serde_multipart)
2020-08-16 10:53:15 +03:00
Waffle
5afe72b368
rewrite requests to use serde-multipart
...
Rewrite multipart requests to use serde_multipart instead of FromBuilder
2020-08-16 00:21:55 +03:00
Waffle
b303958afd
implement serde multipart serializer
...
Serde multipart serializer can be used to serialize requests
into multipart/form-data without need for copy-paste and boilerplate
2020-08-16 00:21:01 +03:00
Waffle
06f123710e
add RequestError::Io
to wrap I/O errors
...
Add `RequestError::Io(std::io::Error)` to wrap I/O errors those may happen
while reading files to upload them to telegram
2020-08-15 23:52:08 +03:00
Waffle
842a084abf
replace teloxide
with teloxide_core
in doc tests
2020-08-12 20:23:18 +03:00
Waffle
a70cb4e008
Move core code from teloxide
2020-08-12 19:39:40 +03:00
Waffle
7891fa02bf
Initial commit
2020-08-12 18:04:50 +03:00