aboutsummaryrefslogtreecommitdiff
path: root/src/builder/create_embed.rs
Commit message (Collapse)AuthorAgeFilesLines
* Move unit tests into sourceZeyla Hellyer2018-08-011-0/+89
| | | | | | | | | Move the unit tests into the relevant source files. There's no need for them to be seprate, especially when the `tests` directory is meant to be for integration tests. The deserialization tests that include JSON files are still in the `tests` dir, along with the public prelude re-export tests.
* Fix some clippy lintsZeyla Hellyer2018-07-151-2/+2
| | | | | Some lints were not resolved due to causing API changes. Most lints in the framework were left unfixed.
* Fix doc links with no anchorZeyla Hellyer2018-07-111-0/+2
|
* Monomorphize all functionsZeyla Hellyer2018-07-041-20/+61
| | | | | | | | | | | | | | | | | | | | | | | | | | | This commit monomorphizes all functions, turning functions like: ```rust fn foo<T: Into<Bar>>(baz: T) { baz = baz.into(); // function here } ``` Into functions like: ```rust fn foo<T: Into<Bar>>(baz: T) { _foo(baz.into()) } fn _foo(baz: Bar) { // function here } ``` This avoids binary bloat and improves build times, by reducing the amount of code duplication.
* Fix the notice of `field`acdenisSK2018-06-241-1/+1
| | | | The inline aspect must be always provided.
* Remove link to a nonexistant structacdenisSK2018-06-241-5/+0
|
* Explain `fields` moreacdenisSK2018-06-241-0/+4
|
* Refactor imports/exports to use nested groups and better formattingacdenisSK2018-03-291-4/+5
|
* Change the way ids and some enums are made (#295)Leah2018-03-231-1/+1
| | | | | This makes them easier to be found by tools like rls. Also update struct inits to use the shorthand version for `x: x`.
* Fix Create(Embed/Message) to be consistentacdenisSK2018-03-201-9/+9
|
* Generalise `image`, `thumbnail`, `url` and `attachment`acdenisSK2018-02-081-8/+8
|
* Partially revert the video url changeacdenisSK2018-02-021-6/+0
|
* Inline simple url propertiesacdenisSK2018-02-021-0/+3
|
* Add video url specifier for CreateEmbed (#269)Andrej2018-02-021-11/+14
|
* Fix broken docs links caused by model mod changesZeyla Hellyer2018-01-311-6/+6
| | | | | Fix broken links caused by the `model` module changes in v0.5.0, which split up the module into sub-modules for better organization.
* Convert embed footers for CreateEmbed::from (#244)Derrick Lee2018-01-041-0/+12
|
* Move `VecMap` to `utils`acdenisSK2018-01-021-1/+1
| | | | This also fixes no-builder compilation
* Improve performance of builders even furtheracdenisSK2017-12-271-7/+7
| | | | | | By negating hashing altogether. The increase is around 1000-ish nanoseconds saved.
* Break up the model moduleZeyla Hellyer2017-12-161-7/+8
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | The `model` module has historically been one giant module re-exporting all of the model types, which is somewhere around 100 types. This can be a lot to look at for a new user and somewhat overwhelming, especially with a large number of fine-grained imports from the module. The module is now neatly split up into submodules, mostly like it has been internally since the early versions of the library. The submodules are: - application - channel - error - event - gateway - guild - id - invite - misc - permissions - prelude - user - voice - webhook Each submodule contains types that are "owned" by the module. For example, the `guild` submodule contains, but not limited to, Emoji, AuditLogsEntry, Role, and Member. `channel` contains, but not limited to, Attachment, Embed, Message, and Reaction. Upgrade path: Instead of glob importing the models via `use serenity::model::*;`, instead glob import via the prelude: ```rust use serenity::model::prelude::*; ``` Instead of importing from the root model module: ```rust use serenity::model::{Guild, Message, OnlineStatus, Role, User}; ``` instead import from the submodules like so: ```rust use serenity::model::channel::Message; use serenity::model::guild::{Guild, Role}; use serenity::model::user::{OnlineStatus, User}; ```
* Use `ToString`'s blanket impl for `Display`sacdenisSK2017-11-271-3/+3
|
* Re-order use statements alphabeticallyZeyla Hellyer2017-11-111-2/+2
|
* Fix doc-testsacdenisSK2017-11-081-2/+2
|
* Into<String> -> DisplayacdenisSK2017-11-071-6/+6
|
* Whoops. Add a `FromStr` impl for `ReactionType`acdenisSK2017-11-041-6/+0
|
* Merge v0.4.3acdenisSK2017-11-041-0/+6
|\
| * Fix no-client cache testsZeyla Hellyer2017-11-011-1/+1
| | | | | | | | | | There were a few doctests in the cache module that relied on the client module, so instead feature-gate the doctests.
* | Make the Client return a ResultZeyla Hellyer2017-11-031-2/+8
| | | | | | | | | | | | | | | | The client now returns a Result in preparation of a future commit. Upgrade path: Handle the case of an error via pattern matching, or unwrap the Result.
* | Remove `on_` prefix to EventHandler tymethodsZeyla Hellyer2017-10-221-2/+2
| | | | | | | | | | It was voted that the `on_` prefix is unnecessary, so these have been dropped.
* | Change CreateEmbed::field{,s} to not take buildersZeyla Hellyer2017-10-181-84/+22
| | | | | | | | | | | | | | | | | | Change the `field` and `fields` methods on `builder::CreateEmbed` to not accept a `CreateEmbedField` builder. The embed field builder realistically only had (and most likely, only will) have one optional argument, so the parameters may as well be on `CreateEmbed::field`.
* | Slightly improve performance of buildersZeyla Hellyer2017-10-181-45/+37
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Builders would keep a `serde_json::Map<String, Value>`, which would require re-creating owned strings for the same parameter multiple times in some cases, depending on builder defaults and keying strategies. This commit uses a `std::collections::HashMap<&'static str, Value>` internally, and moves over values to a `serde_json::Map<String, Value>` when it comes time to sending them to the appropriate `http` module function. This saves the number of heap-allocated string creations on most builders, with specific performance increase on `builder::CreateMessage` and `builder::CreateEmbed` & co.
* | Update to account for changes made in 0.4.1acdenisSK2017-10-141-1/+1
|\|
| * Fix clippy lintsZeyla Hellyer2017-10-111-1/+1
| |
| * Replace Vec parameters by IntoIterator (#176)François Triquet2017-10-041-1/+1
| |
| * Revert "Use the de-generification trick."acdenisSK2017-10-031-13/+3
| | | | | | | | Makes the compiliation time just a bit worse
| * Use the de-generification trick.acdenisSK2017-10-021-3/+13
| | | | | | | | Fixes #168
| * `to_owned` -> `to_string`acdenisSK2017-10-011-27/+27
| |
* | Switch to parking_lot::{Mutex, RwLock}Zeyla Hellyer2017-10-101-5/+5
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Switch to the `parking_lot` crate's implementations of `std::sync::Mutex` and `std::sync::RwLock`, which are more efficient. A writeup on why `parking_lot` is more efficient can be read here: <https://github.com/Amanieu/parking_lot> Upgrade path: Modify `mutex.lock().unwrap()` usage to `mutex.lock()` (not needing to unwrap or handle a result), and `rwlock.read().unwrap()`/`rwlock.write().unwrap()` usage to `rwlock.read()` and `rwlock.write()`. For example, modify: ```rust use serenity::CACHE; println!("{}", CACHE.read().unwrap().user.id); ``` to: ```rust use serenity::CACHE; println!("{}", CACHE.read().user.id); ```
* | Replace Vec parameters by IntoIterator (#176)François Triquet2017-10-091-1/+1
| |
* | Revert "Use the de-generification trick."acdenisSK2017-10-091-13/+3
| | | | | | | | Makes the compiliation time just a bit worse
* | Use the de-generification trick.acdenisSK2017-10-091-3/+13
| | | | | | | | Fixes #168
* | `to_owned` -> `to_string`acdenisSK2017-10-091-27/+27
|/
* Apply rustfmtZeyla Hellyer2017-09-181-48/+23
|
* Add ability to play DCA and Opus files. (#148)Maiddog2017-08-271-23/+48
|
* Revamp `RwLock` usage in the libacdenisSK2017-08-241-48/+23
| | | | Also not quite sure if they goofed rustfmt or something, but its changes it did were a bit bizarre.
* Apply rustfmtZeyla Hellyer2017-08-181-23/+48
|
* Fix the test `message_content_safe`acdenisSK2017-08-061-1/+1
| | | | This commit does NOT interfere with the "accept Display" change to the builder
* Refactor the display stuff a bitacdenisSK2017-08-041-18/+5
|
* Make some functions accept anything that's implemented DisplayacdenisSK2017-08-041-11/+24
|
* Change the config a bit, and a few nitpicksacdenisSK2017-07-271-13/+15
|
* rustfmtacdenisSK2017-07-271-42/+55
|