Commit graph

551 commits

Author SHA1 Message Date
Maybe Waffle
852feaeda4 Update changelog and stuff 2022-04-21 20:15:31 +04:00
Maybe Waffle
dcc4f57013 Reformat requester_forward!{} macro calls
...so they are at least somewhat manageable
2022-04-21 20:15:31 +04:00
Maybe Waffle
d61fe4f85d Add TBA 6.0 methods 2022-04-21 20:15:20 +04:00
Maybe Waffle
cb8f373054 TBA 6.0 field renaming 2022-04-21 16:19:23 +04:00
Maybe Waffle
c1a763eeb0 Add TBA 6.0 types and fields 2022-04-21 16:19:13 +04:00
Maybe Waffle
cf2004dcc2 Correct MSRV 2022-04-18 22:13:36 +04:00
Maybe Waffle
f98472d798 Release v0.5.1 2022-04-18 14:03:50 +04:00
Hirrolot
5e8263704d Document the errors module 2022-04-18 15:51:17 +06:00
Waffle Maybe
b294631121
Merge pull request #198 from teloxide/bare_id
Expose bare chat id
2022-04-13 14:00:57 +04:00
Waffle Maybe
4e35f6de31
Merge pull request #130 from teloxide/chrottle_retries_and_freeze
`Throttle` retries and freeze
2022-04-13 13:58:59 +04:00
Maybe Waffle
6318a7e730 Apply changes from the review
Make `BareChatId` internal.
2022-04-13 13:57:26 +04:00
Maybe Waffle
fa189af463 ix clippyF 2022-04-13 13:56:48 +04:00
Maybe Waffle
57a3731e6b Fix Message::url 2022-04-13 13:56:48 +04:00
Maybe Waffle
7bf3894a31 Correct documentation
From the standpoint of telegram supergroup is a channel...
2022-04-13 13:56:48 +04:00
Maybe Waffle
6ebdeb7f01 Expose bare chat id 2022-04-13 13:56:46 +04:00
Maybe Waffle
bf8e11f3a5 satisfy clippy 2022-04-10 19:24:18 +04:00
Maybe Waffle
c24f7f4fc0 Fix typos & stuff 2022-04-10 19:16:41 +04:00
Maybe Waffle
2477a0f945 Fix infinite loop in read_from_rx 2022-04-10 19:04:30 +04:00
Maybe Waffle
af0dd99ef4 Use Duration instead of u32 as the RetryAfter field 2022-04-10 18:48:00 +04:00
Maybe Waffle
d259f8aa23 Add diargam explaining how ThrottlingRequest works
https://asciiflow.com/#/share/eJzFV71u2zAQfhWCkx0EDdqhRbUEGbpmCLoE0BBCpiPBEplSFBwhCFoEHTt0MNw%2BRKeMRZ9GT9KjrB8ykhj9pRUIWTR1d9%2Fdfcej7jAjEcUOS8LwGIckpQI7%2BM7Fty523r9%2Be%2BziFJ7evFNPkt5KmLj45AT1vrLdH9dlXRIffcGlDAN2fUE%2FJTSWBwm4b7nYULFYWoSHm4PVoaMENELUMgqM41Xsf8NdFDELYhRTJk20MaVFENGKe0kELxAZcHZ4a%2BL1uXZg9jATtkIejxTgGK25QBEX1Eit3QVztdQaMFAV5RFAMHy%2BRYEconXfppV4MiFhmOaRjo3157T2CQl6YfKNVIwKgkGiQu5tdKymbp%2FEFQcDujpV4j%2B%2BVnokL1ZbCe78Q196Z0Lng5Hhp3nuyvvkfBpWL1sodW53w0CRT44ich14R%2B3M7fKjq87m8cusNsNqsw712XA%2B1IEbRx0Tm2k%2FL5GAMeB%2FbWlLYONR%2B1pRGZqmOYKX1X2hBpjlxQY7FWx7ChQ0XCVY1qJTPaErVdGvEqZ%2BFsurSTGVPnSmBpjZPG0SYFIi7Zp7Ua5JUAtxTblubKNDZfUvp4lMBCttaFytUmaTjZNQlrJ5y%2Fapt4GeqjJerf1%2FPyHuj9qPkb4medo5oE8%2FCLG4oFKkZ2sJ51O2XD4vScOYTrHZTiGr7EwBtlnRcRA4oQGdREBjOF2dDpB8EURd3bhVss84r4zX12W7RuulJzfbfct2X0aN74Ns7nWbD%2Fl%2FT1r%2BQ7e%2B6fWobrtuX35ZPf15QDbCLOMyWKdlk5U%2B0b%2BPtOA8VhYUgdNy81OqtKNqXfKICgHNW4M06Kg6whN1ivbJzQ1ldKXTKOv%2B1p2etRHf3fge3%2F8FrCjqXw%3D%3D)
2022-04-10 17:34:15 +04:00
Maybe Waffle
ed48de2f75 Simplify freezing 2022-04-10 17:34:15 +04:00
Maybe Waffle
dcbef82e43 Cleanup throttling::request 2022-04-10 17:34:15 +04:00
Maybe Waffle
081b74edb0 Split Throttle implementation into modules 2022-04-10 17:34:02 +04:00
Maybe Waffle
439a345dee Use tokio's try_recv instead of hacks 2022-04-10 17:25:06 +04:00
Maybe Waffle
435181fa0b Improve sanity
Refactor `Throttle` send-future. Previously it was a hand-written future, but
this quickly escalated to an unreadable mess. This commit uses `box`ing and
`async fn` to mitigate this problem.

Hopefully I'm not going insane now
2022-04-10 17:25:06 +04:00
Maybe Waffle
0a03431653 Make {Json,Multipart}Request clonable
This is required for the new `Throttle` design
2022-04-10 17:25:06 +04:00
Maybe Waffle
43802a5c41 Improve Throttling adoptor
- Freeze when getting `RetryAfter(_)` error
- Retry requests that previously returned `RetryAfter(_)` error
2022-04-10 17:24:57 +04:00
Maybe Waffle
6a91c44836 make errors module pub and add errors::AsResponseParameters trait 2022-04-10 17:23:33 +04:00
Maybe Waffle
51d6800a32 Make RequestError::RetryAfter::0 u32, instead of i32
(you can't really wait a negative amount of time, can you?)
2022-04-10 17:22:20 +04:00
Maybe Waffle
213db7b64c Add AllowedUpdate::ChatJoinRequest 2022-04-08 15:57:16 +04:00
Waffle Maybe
ac08117216
Merge pull request #197 from teloxide/convenience_user_and_me_methods
Add some convenience methods to `User` and `Me`
2022-04-04 03:35:07 +04:00
Maybe Waffle
d91863e1c3 Add some tests 2022-04-04 03:00:53 +04:00
Waffle Maybe
d1cf0e4f52
Merge branch 'master' into hide_token_in_errors 2022-04-03 16:14:34 +04:00
Maybe Waffle
05603560e6 Give a name to a magic number and document it 2022-04-03 14:47:10 +04:00
Maybe Waffle
daec5ee13e Hide bot token in errors
This fixes a potential[^1] security vulnerability -- if bot shows errors
from teloxide to the user & for some reason network error happened[^2]
the url of the request would be included in the error. Since TBA
includes bot token in the error this may lead to token leakage.

This commit fixes that issue by removing the token from the urls of
`reqwest::Error`, we try to only replace the token, but if we fail we
remove the whole url.

This can be tested by using a very low timeout value for the http
reqwest client:
```rust
let client = reqwest::Client::builder()
    .timeout(std::time::Duration::from_millis(1))
    .build()
    .unwrap();

let bot = Bot::from_env_with_client(client).auto_send();

// see if the token is redacted when network error (timeout) happens
// while sending common requests
let _ = dbg!(bot.get_me().await);

// see if the token is redacted when network error (timeout) happens
// while downloading files ("path" is unimportant as the timeout is so
// low the request probably won't even be sent)
let _ = dbg!(bot.download_file_stream("path").next().await);
```

For me this gives the following result:
```text
[t.rs:26] bot.get_me().await = Err(
    Network(
        reqwest::Error {
            kind: Request,
            url: Url {
                scheme: "https",
                cannot_be_a_base: false,
                username: "",
                password: None,
                host: Some(
                    Domain(
                        "api.telegram.org",
                    ),
                ),
                port: None,
                path: "/token:redacted/GetMe",
                query: None,
                fragment: None,
            },
            source: TimedOut,
        },
    ),
)
[t.rs:31] bot.download_file_stream("path").next().await = Some(
    Err(
        reqwest::Error {
            kind: Request,
            url: Url {
                scheme: "https",
                cannot_be_a_base: false,
                username: "",
                password: None,
                host: Some(
                    Domain(
                        "api.telegram.org",
                    ),
                ),
                port: None,
                path: "/file/token:redacted/path",
                query: None,
                fragment: None,
            },
            source: TimedOut,
        },
    ),
)
```

Note that this commits parent is `d0be260` and not the current master
the master branch currently contains breaking changes (we'll need to
make a release from this brach directly).

[^1]: Note that there are recorded cases where the token got exposed.
[^2]: Note that this can be theoretically be controlled by the user when
      sending/downloading bigger files.
2022-04-03 13:34:17 +04:00
Maybe Waffle
b3c0d00b7d "override" mention and tme_url on Me
That's not **really** an override, but by adding an inherent methods
we "hide" methods from `Deref<Target = User>`, that allows us to return
non-option types from `me.mention()` and `me.tme_url()` -- bots must
always have usernames.
2022-04-02 22:56:32 +04:00
Maybe Waffle
df9ffe8918 Add Me::username and Deref<Target = User> impl for Me 2022-04-02 22:43:55 +04:00
Maybe Waffle
55f753a201 Add User::{tme_url, preferably_tme_url} functions 2022-04-02 21:09:34 +04:00
Maybe Waffle
705083c2d9 Add UserId::{url, is_anonymous, is_channel, is_telegram} functions 2022-04-02 20:59:41 +04:00
Waffle Maybe
1746be2b7f
Merge pull request #194 from teloxide/chat_id_refactor
Chat and user id refactor
2022-04-02 19:11:42 +04:00
Waffle Maybe
c250a9b327
Merge pull request #193 from teloxide/telergam
Fix a typo in documentation
2022-04-02 18:40:06 +04:00
Maybe Waffle
c2d2a15ef1 Split derives because rustfmt hates me 2022-04-02 18:13:32 +04:00
Maybe Waffle
71dee3b563 Use Into<ChatId> in methods 2022-04-02 18:10:47 +04:00
Maybe Waffle
4fbec56674 Impl From<UserId> for ChatId and Recipient 2022-04-02 18:10:47 +04:00
Maybe Waffle
036c46caaa reformat code a bit 2022-04-02 18:10:46 +04:00
Maybe Waffle
f2378935b7 Make chat id typed (add ChatId)
Note that this is different from the previous `ChatId` (that was renamed
to `Recipient`), since it can't hold @channelusername.

Reason: same as w/ `UserId`
2022-04-02 18:10:46 +04:00
Maybe Waffle
41e09159a6 Make user id typed (add UserId)
Reason: when user id is just an integer, it's easy to accidentally
use a "random" integer instead of actual user id, typed APIs make code
less prone to some mistakes.

This commit also fixes an issue when a wrong integer type was used for
`user_id` in `Contact`.

Another option that this addition unlocks is adding methods/implementing
foreign trait for `UserId`.
2022-04-02 18:10:46 +04:00
Maybe Waffle
0a1d73c223 Rename ChatId => Recipient
Reason: it isn't _really_ a chat id, it can also be a channel username.
2022-04-02 18:10:46 +04:00
Maybe Waffle
22cfffc704 Fix some more typos 2022-03-24 21:32:01 +04:00
Waffle Maybe
ecf90c8c05
Fix a typo in documentation 2022-03-24 17:51:34 +04:00
Maybe Waffle
3d69d96182 Fix chat unmark 2022-03-22 22:08:47 +04:00
Maybe Waffle
923be2221d Add NotFound error 2022-03-21 19:10:12 +04:00
Hirrolot
2c0748f3ae
Merge branch 'master' into with_payload 2022-03-20 08:08:52 -07:00
Maybe Waffle
d8e3c6ce42 Add WrongFileIdOrUrl and FailedToGetUrlContent errors 2022-03-18 14:21:55 +04:00
Maybe Waffle
c7e32fa247 Add HasPayload::with_payload_mut function
`HasPayload::with_payload_mut` allows to easily apply multiple changes
to the payload without calling `payload_mut()` multiple times and
creating temporary variable for the request. e.g.:
```rust
// without `with_payload_mut`
{
    let mut req = bot.set_webhook(url.clone());

    req.payload_mut().certificate = certificate.take();
    req.payload_mut().drop_pending_updates = drop_pending_updates;

    req.send().await?;
}

// with `with_payload_mut`
bot
    .set_webhook(url.clone())
    .with_payload_mut(|payload| {
        payload.certificate = certificate.take();
        payload.drop_pending_updates = drop_pending_updates;
    })
    .send()
    .await?
```
2022-03-18 14:13:38 +04:00
Waffle Maybe
0c5f9678d8
Merge pull request #185 from teloxide/revert_better_timeouts
Revert "better timeouts"
2022-03-07 20:16:53 +04:00
Maybe Waffle
5fb0a4787f fix typos 2022-03-03 02:23:46 +03:00
Maybe Waffle
fbbb5c842b Add User::is_telegram 2022-03-03 02:23:40 +03:00
Maybe Waffle
9eb51ad34b fix clippy 2022-03-03 02:21:52 +03:00
Maybe Waffle
d5ad882999 fix typos 2022-03-03 01:45:41 +03:00
Maybe Waffle
812f6ef45e Revert buggy "better timeouts" 2022-03-03 01:43:25 +03:00
mikhailantoshkin
686ec23b76
Add missing enum variants to the chat fucntion 2022-02-20 22:56:29 +05:00
Maybe Waffle
1d7825c97a Prepare 0.4.2 release 2022-02-17 15:03:41 +03:00
Maybe Waffle
6bf204221f Deprecate Message::chat_id 2022-02-17 14:51:00 +03:00
Maybe Waffle
3477f7eded Fix sending quiz polls 2022-02-17 14:10:39 +03:00
Maybe Waffle
fb7710b838 Make GetUpdates expose its timeout via Payload::timeout_hint 2022-02-14 19:53:19 +03:00
Maybe Waffle
2dc4a915ba Add a way for long-running requests to increase network timeout 2022-02-14 19:52:43 +03:00
Maybe Waffle
8d89fdccbd Fix Update de/serialization tests 2022-02-13 20:58:33 +03:00
Maybe Waffle
c0795f0dc9 Add regression test for issue 523 2022-02-13 20:53:58 +03:00
Maybe Waffle
fb523f153e Fix deserialization of UntilDate 2022-02-13 20:53:41 +03:00
Waffle Maybe
d83f7180c4
Merge pull request #175 from teloxide/tba_5.7
TBA 5.7
2022-02-03 17:39:16 +03:00
Waffle Maybe
1c2a38eeb6
Merge pull request #173 from teloxide/docs_examples_blah
Change process of building docs
2022-02-03 17:38:52 +03:00
Flattergaster
82eb96b405 Fix deserialization of ChatInviteLink::pending_join_request_count 2022-02-02 22:38:03 +03:00
Maybe Waffle
c34a1386df Fix test 2022-02-01 21:14:09 +03:00
Maybe Waffle
044f33551e TBA 5.7: Add Sticker{,Set}::is_video 2022-02-01 20:12:26 +03:00
Maybe Waffle
6384560195 TBA 5.7: Add InputSticker::Webm 2022-02-01 19:39:29 +03:00
Maybe Waffle
16630133db Add regression test for WebhookInfo with an empty url 2022-02-01 18:31:04 +03:00
Maybe Waffle
a36794c5d3 Make WebhookInfo::allowed_updates typed 2022-02-01 18:30:40 +03:00
Maybe Waffle
dde40e613f Change process of building docs
- introduce `docs` alias that does the right thing (tm)
- use `-Zrustdoc-scrape-examples`
2022-01-31 18:23:30 +03:00
Hirrolot
bd4218c238
Merge branch 'master' into input_file_refactor 2022-01-30 20:14:30 +06:00
Maybe Waffle
38f2a5fef2 Make WebhookInfo::ip_address typed 2022-01-27 20:25:40 +03:00
Maybe Waffle
6598ed9f42 Remove redundant settings from default_reqwest_settings 2022-01-19 22:34:12 +03:00
Maybe Waffle
df88d83cfd Fix documentation 2022-01-13 20:43:33 +03:00
Maybe Waffle
622b0d9232 Remove dbg!
:/
2022-01-13 17:14:55 +03:00
Maybe Waffle
bc440b9ea8 fix clippy 2022-01-13 17:14:24 +03:00
Maybe Waffle
ef33f9f66a Add more tests for multipart request serialization 2022-01-13 17:14:24 +03:00
Maybe Waffle
5b4ed3faa9 Allow sending impl AsyncRead
This commit adds `InputFile::read` constructor that creates `InputFile`
from an `impl AsyncRead + Send + Unpin + 'static`.

Internally this requires quite a bit of work, since we need to support
cloning `InputFile`s but the `AsyncRead` trait only allows us reading it
once.

To support this, if `InputFile` detects that it's shared, it reads the
contents of the `AsyncRead` into a buffer and then shares the buffer
(or an error if it has occured).
2022-01-13 17:14:24 +03:00
Maybe Waffle
a84e897db9 Refactor multipart requests
This removes the logic in the multipart serializer that unserialized
`InputFile`s from serde. Now `InputFile`s  are serialized either as
their value (for `FileId` and `Url`) or as an `attach://<id>` string
where `<id>` is replaced with some id unique for the file. The file data
itself is acquired through `MultipartPayload` trait.

Since the `<id>` must be the same while serializing the file with serde
and while acquiring data through `MultipartPayload` trait, `InputFile`
needs to store said id. As such, `InputFile` is now a structure with
private fields and it's structure can't be observed by users. The only
things that `InputFile` provides are
- Constructors (`url`, `file_id`, `file`, `memory`)
- File name setter
- `Clone` and `Debug` implementations
2022-01-13 17:14:13 +03:00
Waffle Maybe
7958f37c60
Apply suggestions from code review 2022-01-13 10:28:33 +03:00
Waffle Maybe
cfb3c60a1c
Apply suggestions from code review 2022-01-13 10:05:46 +03:00
Giga Maxim
f02ed38bb7
update comment in src/types/webhook_info.rs
Co-authored-by: Waffle Maybe <waffle.lapkin@gmail.com>
2022-01-12 19:49:30 +03:00
Max Giga
f2d98fdb8a fixed serialization error not returning empty string 2022-01-12 19:47:35 +03:00
Max Giga
834c54c1d6 refactor_serialization_deserialization_of_url 2022-01-12 19:35:07 +03:00
Max Giga
ba2305dbe5 set empty url in WebhookInfo to None 2022-01-12 16:51:57 +03:00
Maybe Waffle
4a04750790 Remove stray generics 2022-01-12 13:46:25 +03:00
Maybe Waffle
bed5805610 File refactor: specify InputFile-ish fields for multipart payloads 2022-01-12 12:21:51 +03:00
Maybe Waffle
96266228d8 File refactor: InputMedia: remove derive(Deserialize), add files` 2022-01-12 12:21:38 +03:00
Maybe Waffle
c92190e313 Un-seal MultipartPayload 2022-01-12 11:28:35 +03:00
Hirrolot
dad5d5d4b1
Merge pull request #156 from teloxide/tolerant_updates_for_all
Make update deserialization fault tolerant by default
2022-01-12 15:19:24 +07:00
Waffle Maybe
53df041940
Merge pull request #163 from zggff/master
make OrderInfo use Option<String> instead of String. It allows teloxide to ask only one needed field of the shipping query.
2022-01-12 11:18:37 +03:00
Hirrolot
1bcf621c7d
Merge branch 'master' into tolerant_updates_for_all 2022-01-12 15:14:37 +07:00
Hirrolot
95dc6e5881
Merge pull request #162 from teloxide/tba_5.6
Add support for TBA 5.6
2022-01-12 15:10:47 +07:00
Maybe Waffle
488492e9e5 Move Chat::has_protected_content to ChatPublic 2022-01-11 16:12:02 +03:00
Maybe Waffle
22159867bb Add Chat::has_protected_content 2022-01-11 15:51:28 +03:00
zggff
b72df9b657 make successful payment use OrderInfo; derive Default on OrderInfo 2022-01-05 10:58:53 +03:00
zggff
1d0ff0a0f6 make OrderInfo use Option<String> instead of String 2022-01-04 23:21:48 +03:00
Maybe Waffle
7223270b32 Add support for TBA 5.6 2022-01-03 21:41:57 +03:00
Waffle Maybe
4af317e1fd
Merge pull request #159 from Mr-Andersen/master
Fix deserializing `Document`
2022-01-02 19:55:54 +03:00
Андрей Власов
3047bea3ab Use serde(default) where applicable 2022-01-02 19:43:37 +03:00
Waffle Maybe
22d2586949
Merge pull request #160 from teloxide/fix_cfg_docs
Fix `doc(cfg)` implication
2022-01-02 19:31:50 +03:00
Maybe Waffle
4d0ed16054 Fix doc(cfg) implication 2022-01-02 19:20:56 +03:00
Андрей Власов
19bcd8a6ba Remove unnecessary code 2022-01-02 18:35:14 +03:00
Андрей Власов
db8175e9f9 Fix deserializing Document 2022-01-02 18:34:49 +03:00
Андрей Власов
93690a3417 Fix "no test in tokio" 2022-01-02 18:33:15 +03:00
Maybe Waffle
ea67c634ad Fix clippy 2021-12-29 23:15:38 +03:00
Maybe Waffle
59720c1e0b Remove get_updates_fault_tolerant and SemiparsedVec 2021-12-29 21:35:30 +03:00
Maybe Waffle
62e9e8afd4 Make ChatPermissions into bitflags 2021-12-29 20:36:08 +03:00
Maybe Waffle
648b5b7377 Make UpdateKind deserialization fault tolerant 2021-12-29 18:06:28 +03:00
Waffle Maybe
fd3ef0bdf3
Merge pull request #154 from teloxide/bot_command_scope_fix
Fix serialization of `BotCommandScope::Chat{,Administrators}`
2021-12-28 17:07:46 +03:00
Maybe Waffle
f456ab110a Add ApiError::NotEnoughRightsToChangeChatPermissions 2021-12-28 17:04:19 +03:00
Maybe Waffle
f65617e763 Fix serialization of BotCommandScope::Chat{,Administrators} 2021-12-28 16:09:40 +03:00
Hirrolot
ff21d876c4
Merge branch 'master' into fix_some_message_deserialization_bugs 2021-12-28 19:49:08 +07:00
Hirrolot
54f4281754
Merge pull request #150 from teloxide/invalid_json_raw
Add `RequestError::InvalidJson::raw` field
2021-12-25 14:03:58 +06:00
Waffle Maybe
468b0c9379
Merge pull request #153 from teloxide/more_message_serialization_bug_fixes
Fix deserialization of `VoiceChat{Started,Ended}` messages
2021-12-25 11:02:55 +03:00
Maybe Waffle
9ce53a2b02 Fix deserialization of VoiceChat{Started,Ended} messages 2021-12-25 04:50:31 +03:00
Maybe Waffle
34647c7a38 Improve debug_assert! message in ChatId::unmark 2021-12-25 04:34:05 +03:00
Maybe Waffle
078ee1d7ce Refactor forwarded messages 2021-12-25 04:27:13 +03:00
Maybe Waffle
2bd19a598e Add User::is_anonymous and User::is_channel functions
Also add documentation for `User::{full_name, mention, url}`
2021-12-25 04:12:59 +03:00
Maybe Waffle
1bcb062d88 Add RequestError::InvalidJson::raw field 2021-12-24 15:47:54 +03:00
Maybe Waffle
3f2d69702f Update changelog and add regression test for issue 481 2021-12-19 18:52:03 +03:00
Maybe Waffle
1e0b8b6734 Fix deserialization of MediaKind::Venue 2021-12-19 18:38:47 +03:00
Sprite
234ac365db Update changelog and comment the PR link in the test 2021-12-19 21:26:39 +08:00
Sprite
06a21ba9e1 Skip the language field of MessageEntityKind::Pre if it is None 2021-12-19 21:25:51 +08:00
Maybe Waffle
40a5860085 Suppress clippy 2021-12-19 14:56:20 +03:00
Hirrolot
22de637798
Merge pull request #143 from teloxide/api55
TBA 5.5
2021-12-19 17:16:45 +06:00
Maybe Waffle
ef0d2d3aea fix clippy
Use chars, instead of strings when using `str::replace` in tests.
2021-12-10 17:19:43 +03:00
Maybe Waffle
f42c1a6098 Fix deserialization of chat migrations 2021-12-10 17:00:49 +03:00
Maybe Waffle
df5487a04b fix clippy
Use chars, instead of strings when using `str::replace` in tests.
2021-12-09 14:54:21 +03:00
Maybe Waffle
604a5cc91b TBA 5.5 types updates 2021-12-09 14:54:21 +03:00
Maybe Waffle
c566494b7d Add TBA v5.5 methods 2021-12-09 14:54:07 +03:00
Maybe Waffle
560fa36e41 re-run payloads codegen 2021-12-07 01:31:49 +03:00
Waffle Maybe
e3a0087644
Merge pull request #140 from SpriteOvO/master
Add the missing method `caption_entities` to `InputMediaPhoto`
2021-12-07 01:08:42 +03:00
Sprite
a5a1277636 Fix the incorrect response type of CopyMessage method 2021-12-07 04:13:52 +08:00
Sprite
0724964682 Add the missing method caption_entities to InputMediaPhoto 2021-11-28 02:21:46 +08:00
Sprite
abfd92a102 Add the missing field media_group_id to MediaDocument & MediaAudio 2021-11-27 17:11:18 +08:00
Waffle Maybe
bbd92a004c
Merge pull request #138 from teloxide/warn_pring_dbg
Enable clippy to warn on dbg/print usage
2021-11-25 13:04:25 +03:00
Maybe Waffle
fc0dc9b2b9 Enable clippy to warn on dbg/print usage
Also remove old #![allow] that was used to supress clippy bug.
2021-11-25 13:01:21 +03:00
Maybe Waffle
c4b148459d Add regression test for issue 473 2021-11-20 19:50:15 +03:00
Maybe Waffle
3ccf624168 Fix multipart MessageEntity serialization 2021-11-20 19:50:15 +03:00
Maybe Waffle
706bd08c6b Fix docs 2021-11-15 01:47:54 +03:00