aboutsummaryrefslogtreecommitdiff
path: root/src/utils
Commit message (Collapse)AuthorAgeFilesLines
* Add test and fix another newline differencePvdBerg2018-06-081-1/+1
|
* Fix push_codeblock_safe not adding a newlinePvdBerg2018-06-081-0/+1
|
* Merge branch 'futures' into v0.6.xZeyla Hellyer2018-05-281-47/+0
|\
| * Rewrite the library to use FuturesZeyla Hellyer2018-02-041-47/+0
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Rewrites the library to use Futures. This rewrites all of the gateway, client, cache, most model methods, HTTP, and in a later commit the framework and voice. HTTP has been mostly rewritten to be ergonomic so that it can be used by the user, and has been upgraded to hyper v0.11. The gateway now uses `tokio-tungstenite` v0.4. The client isn't yet in a working state. The models now have a `client` optionally attached to them to make use of `http` and `cache`-utilizing methods. The client isn't needed, in the case that someone is using the library just to deserialize models. The cache is now built around `Rc`s and `RefCell`s, instead of `Arc`s and `RwLock`s. Refer to example 01 for a working example. Much of the library still doesn't work.
| * Fix broken docs links caused by model mod changesZeyla Hellyer2018-02-043-17/+17
| | | | | | | | | | Fix broken links caused by the `model` module changes in v0.5.0, which split up the module into sub-modules for better organization.
* | Make Message Builder use &mut self instead of selfPvdBerg2018-05-271-43/+43
| | | | | | | | This way the builder can be used where taking ownership is impractical.
* | Fix dead link.Lakelezz2018-04-201-1/+1
| |
* | Fix typo'd word `retrieve` (#307)Lakelezz2018-04-141-4/+4
| |
* | Fix nsfw related docs (#299)Lakelezz2018-04-041-4/+0
| |
* | Refactor imports/exports to use nested groups and better formattingacdenisSK2018-03-292-15/+23
| |
* | Change the way ids and some enums are made (#295)Leah2018-03-232-3/+3
| | | | | | | | | | This makes them easier to be found by tools like rls. Also update struct inits to use the shorthand version for `x: x`.
* | Fix broken docs links caused by model mod changesZeyla Hellyer2018-01-313-17/+17
|/ | | | | Fix broken links caused by the `model` module changes in v0.5.0, which split up the module into sub-modules for better organization.
* Move `VecMap` to `utils`acdenisSK2018-01-022-1/+122
| | | | This also fixes no-builder compilation
* Remove builder re-export in utilsZeyla Hellyer2018-01-021-4/+0
|
* Improve performance of builders even furtheracdenisSK2017-12-271-0/+12
| | | | | | By negating hashing altogether. The increase is around 1000-ish nanoseconds saved.
* Add `animated` to `Emoji` and `ReactionType`Zeyla Hellyer2017-12-201-0/+2
| | | | | | | | | | Adds an animated structfield to `Emoji` and `ReactionType`'s `Custom` variant, which defaults to false if not present. A test has been added for deserializing it, taken from a REST API GET Emojis response. (cherry picked from commit 5286949f424e824784344ebb7b7af4e52fb819c3)
* Fix doc-tests and `single_zc`acdenisSK2017-12-171-3/+3
|
* Fix most clippy lints, take more refeerncesZeyla Hellyer2017-12-162-6/+6
| | | | | Fix clippy lints and subsequently accept references for more function parameters.
* Break up the model moduleZeyla Hellyer2017-12-163-9/+17
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | 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-1/+1
|
* Re-order use statements alphabeticallyZeyla Hellyer2017-11-112-2/+1
|
* Add Debug derives to more public typesthelearnerofcode2017-11-071-5/+5
|
* Slightly improve performance of buildersZeyla Hellyer2017-10-181-2/+16
| | | | | | | | | | | | | | | 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-3/+3
|\
| * Fix clippy lintsZeyla Hellyer2017-10-111-3/+3
| |
| * Force `I` to be not implemented outside serenityacdenisSK2017-10-031-3/+15
| |
| * Revert "Use the de-generification trick."acdenisSK2017-10-031-18/+6
| | | | | | | | Makes the compiliation time just a bit worse
| * Use the de-generification trick.acdenisSK2017-10-021-6/+18
| | | | | | | | Fixes #168
| * `to_owned` -> `to_string`acdenisSK2017-10-013-7/+7
| |
* | Switch to parking_lot::{Mutex, RwLock}Zeyla Hellyer2017-10-101-2/+2
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | 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); ```
* | Force `I` to be not implemented outside serenityacdenisSK2017-10-091-3/+15
| |
* | Revert "Use the de-generification trick."acdenisSK2017-10-091-18/+6
| | | | | | | | Makes the compiliation time just a bit worse
* | Use the de-generification trick.acdenisSK2017-10-091-6/+18
| | | | | | | | Fixes #168
* | `to_owned` -> `to_string`acdenisSK2017-10-093-7/+7
|/
* Apply rustfmtZeyla Hellyer2017-09-181-2/+5
|
* Fix compiles of a variety of feature combinationsZeyla Hellyer2017-09-181-0/+5
| | | | | This fixes compilation errors and warnings when compiling a mixture of non-default feature targets.
* Add ability to play DCA and Opus files. (#148)Maiddog2017-08-271-5/+2
|
* Revamp `RwLock` usage in the libacdenisSK2017-08-241-2/+5
| | | | Also not quite sure if they goofed rustfmt or something, but its changes it did were a bit bizarre.
* Apply rustfmt fixesZeyla Hellyer2017-08-221-6/+8
|
* Add `with_config{_mut}`acdenisSK2017-08-231-0/+40
|
* Clippy lintsZeyla Hellyer2017-08-181-0/+3
|
* Apply rustfmtZeyla Hellyer2017-08-182-16/+13
|
* Remove the `I` bound for the language param and fix `push_mono_safe`acdenisSK2017-08-081-5/+5
|
* Fix the test `message_content_safe`acdenisSK2017-08-061-67/+78
| | | | This commit does NOT interfere with the "accept Display" change to the builder
* >.>acdenisSK2017-08-051-1/+1
|
* Refactor the display stuff a bitacdenisSK2017-08-041-53/+16
|
* Make so content and language can be of different typesacdenisSK2017-08-041-2/+2
|
* Also make the message builder use DisplayacdenisSK2017-08-041-53/+119
|
* Make colour implement `From<(u8, u8, u8)>`acdenisSK2017-08-011-0/+5
|
* Fix failing tests (#133)Andrej2017-07-311-2/+3
|