aboutsummaryrefslogtreecommitdiff
path: root/src/framework
Commit message (Collapse)AuthorAgeFilesLines
...
* rustfmtacdenisSK2017-07-277-181/+254
|
* Make the `framework` module feature-gated and fix the names in the helper macroacdenisSK2017-07-271-15/+1
|
* Fix the testacdenisSK2017-07-221-2/+2
| | | | >.>
* Fix #130acdenisSK2017-07-223-213/+210
| | | | Removed action support from the builtin one as well, due to it adding some uneccassery complexity and it being only asked upon by one user
* Remove the uneccessary function and `Send + Sync` boundsacdenisSK2017-07-222-20/+12
|
* Make bucket checks less cache dependentacdenisSK2017-07-222-64/+79
|
* Implement adding checks to bucketsacdenisSK2017-07-152-24/+108
| | | | Don't ask about the horrendous code for this
* Fix more doc testsacdenisSK2017-07-141-1/+3
|
* Switch to tokio for events (#122)Alex Lyon2017-07-141-4/+6
|
* Provide the command into the checksacdenisSK2017-07-133-3/+3
| | | | Although in the future, this will be changed to just bits of data of an actual command that wouldn't collide with the framework's code, but would still be useful for a check to use.
* Remove `checks_passed` in favour of the `Iterator::all` methodacdenisSK2017-07-041-11/+1
|
* Fix doc testsacdenisSK2017-07-024-45/+112
|
* Add reaction actions (#115)alex2017-06-281-1/+58
| | | Fixes #87
* Make CommandOrAlias and CommandGroup.commands public (#117)Joe K2017-06-282-3/+3
|
* Update dependenciesZeyla Hellyer2017-06-211-2/+2
|
* Split up long documentation lineZeyla Hellyer2017-06-141-1/+2
|
* Switch from #[doc(hidden)] to pub(crate)alex2017-06-144-20/+14
| | | | | | Switch from using `#[doc(hidden)]` to hide some internal functions to `pub(crate)`. The library now requires rustc 1.18.
* Make framework dynamic_prefix accept an &MessageZeyla Hellyer2017-06-133-15/+14
|
* Remove Context::{channel_id, queue}Zeyla Hellyer2017-06-132-19/+19
| | | | | | | | | The `channel_id` field on Context is no longer required internally, and is no longer of use to userland as event handlers are given the channel ID in some way where possible. `queue` is a remnant from when the Context was the primary way to interact with the REST API.
* Deprecate Client::login, add Client::newZeyla Hellyer2017-06-064-24/+29
|
* Clippy lintsZeyla Hellyer2017-06-062-17/+23
|
* Use chrono for struct timestamp fieldsZeyla Hellyer2017-06-062-5/+5
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Chrono is easier to use than timestamped strings, so they should be automatically deserialized and available for the user, instead of having the user deserialize the strings themselves. These fields have been changed to use a type of `DateTime<FixedOffset>`: - `ChannelPinsUpdateEvent.last_pin_timestamp` - `Group.last_pin_timestamp` - `Guild.joined_at` - `GuildChannel.last_pin_timestamp` - `Invite.created_at` - `Member.joined_at` - `Message.edited_timestamp - `Message.timestamp` - `MessageUpdateEvent.edited_timestamp` - `MessageUpdateEvent.timestamp` - `PrivateChannel.last_pin_timestamp` `Member.joined_at` is now also an `Option`. Previously, if a Guild Member Update was received for a member not in the cache, a new Member would be instantiated with a default String value. This is incorrect behaviour, and has now been replaced with being set to `None` in that case. Id methods' `created_at()` method now return a `chrono::NaiveDateTime` instead of a `time::Timespec`, and `User::created_at` has been updated to reflect that. Additionally, drop `time` as a direct dependency and use chrono for internals.
* Don't create group in help if no commands to showMaiddog2017-05-301-20/+15
|
* Add documentation and tests for frameworkMaiddog2017-05-303-4/+266
|
* Move CreateGroup docs to the structZeyla Hellyer2017-05-281-3/+3
| | | | | The docs were on the impl, when instead they should be on the struct itself.
* Re-order methods/fields in the frameworkZeyla Hellyer2017-05-243-50/+50
| | | | This will help with readability in the generated documentation.
* Sort default help by group/command namesMaiddog2017-05-241-6/+26
| | | | | | | Sort the default framework help functions by their group and command names. This should act as a reasonable default for users. If other behaviour is required, users can make their own or copy and modify existing functions.
* Restructure modulesZeyla Hellyer2017-05-227-0/+1730
Modules are now separated into a fashion where the library can be used for most use cases, without needing to compile the rest. The core of serenity, with no features enabled, contains only the struct (model) definitions, constants, and prelude. Models do not have most functions compiled in, as that is separated into the `model` feature. The `client` module has been split into 3 modules: `client`, `gateway`, and `http`. `http` contains functions to interact with the REST API. `gateway` contains the Shard to interact with the gateway, requiring `http` for retrieving the gateway URL. `client` requires both of the other features and acts as an abstracted interface over both the gateway and REST APIs, handling the event loop. The `builder` module has been separated from `utils`, and can now be optionally compiled in. It and the `http` feature are required by the `model` feature due to a large number of methods requiring access to them. `utils` now contains a number of utilities, such as the Colour struct, the `MessageBuilder`, and mention parsing functions. Each of the original `ext` modules are still featured, with `cache` not requiring any feature to be enabled, `framework` requiring the `client`, `model`, and `utils`, and `voice` requiring `gateway`. In total the features and their requirements are: - `builder`: none - `cache`: none - `client`: `gateway`, `http` - `framework`: `client`, `model`, `utils` - `gateway`: `http` - `http`: none - `model`: `builder`, `http` - `utils`: none - `voice`: `gateway` The default features are `builder`, `cache`, `client`, `framework`, `gateway`, `model`, `http`, and `utils`. To help with forwards compatibility, modules have been re-exported from their original locations.