Commit graph

300 commits

Author SHA1 Message Date
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