aboutsummaryrefslogtreecommitdiff
path: root/src/utils
Commit message (Collapse)AuthorAgeFilesLines
* Merge branch 'upstream'Mishio5952018-11-131-3/+556
|\
| * Add Function to neutralise Mentions (#414)Lakelezz2018-10-301-3/+529
| |
| * Fix NSFW Checks (#418)Lakelezz2018-10-201-0/+2
| |
| * Generalise mention parsingacdenisSK2018-09-221-0/+25
| | | | | | | | Fixes #396
* | add method Colour::hexMishio5952018-09-161-4/+2
|/
* Change default branch to 'current'Zeyla Hellyer2018-09-131-2/+2
| | | | | | | | | The default branch of 'master' has a few issues, but the biggest technical issue is that it doesn't accurately represent the development work done on it by name alone: is it the branch for maintaining the "current" released version, or for the development of the next majour version? In certain Rust projects these are combined into one branch, but we don't do this, so this is one way out of the ambiguity.
* Add newline in MessageBuilder::push_codeblock_safeZeyla Hellyer2018-08-301-5/+7
| | | | | | | | | | | | | | | | | | | | | | | MessageBuilder::push_codeblock_safe did not add a newline after the language or code fence, resulting in an output like: ```code here``` or: ```rustcode here``` This commit fixes that, and makes the equivalent outputs: ``` code here``` and: ```rust code here``` Closes #374.
* Add more unit tests for MessageBuilderZeyla Hellyer2018-08-301-0/+205
|
* Add Colour::hexMishio5952018-08-111-0/+16
| | | | (cherry picked from commit 6c94e05f6a8de131d0ffc913fd6ccbad602b339e)
* Fix all the dead links in the docsErk-2018-08-091-1/+1
|
* Move unit tests into sourceZeyla Hellyer2018-08-013-0/+181
| | | | | | | | | 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-152-8/+10
| | | | | Some lints were not resolved due to causing API changes. Most lints in the framework were left unfixed.
* Add associated consts in Colour, deprecate methodsZeyla Hellyer2018-07-071-36/+42
| | | | | | Add associated constants to the `utils::Colour` struct for all of the colour presets. Additionally, deprecate the method equivalents, preferring to use associated constants instead.
* Monomorphize all functionsZeyla Hellyer2018-07-042-5/+18
| | | | | | | | | | | | | | | | | | | | | | | | | | | 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.
* properly fix the is_nsfw check this timeacdenisSK2018-07-021-1/+1
|
* Simplify utils::is_nsfwZeyla Hellyer2018-07-021-9/+1
|
* Fix 'nsfw-' case in utils::is_nsfwZeyla Hellyer2018-07-021-1/+1
| | | | | | In the utils::is_nsfw function, an input of 'nsfw-' shouldn't return true. Discord's (previous) NSFW detection classified 'nsfw' and anything starting with 'nsfw-' - but not including - as NSFW.
* Fix utils::is_nsfw string slicingZeyla Hellyer2018-07-021-4/+6
| | | | | | | | | Removes string slicing on the input string, instead preferring to count chars and work off that information. Fixes channel names with unicode such as `général`. Fixes #342.
* Remove extraneous spaces at the end of linesZeyla Hellyer2018-06-171-2/+2
|
* 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
|