| Commit message (Collapse) | Author | Age | Files | Lines |
| |
|
|
| |
note: This trait might become like `framework::Framework` in the future.
|
| | |
|
| | |
|
| | |
|
| | |
|
| |
|
|
|
|
|
|
|
| |
This project has - in the past - used an indentation style of 4 spaces,
without trailing whitespace. This commit modifies lines with tab
indentation to 4 spaces.
Whether to use tabs or spaces is up to the current maintainer, but
consistency avoids files eventually being completely mixed styles.
|
| | |
|
| |
|
|
| |
builtin-framework is turned off
|
| | |
|
| |
|
|
| |
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
|
| | |
|
| | |
|
| | |
|
| | |
|
| | |
|
| | |
|
| | |
|
| | |
|
| | |
|
| | |
|
| |
|
|
| |
It's already been enough time for people to migrate
|
| | |
|
| | |
|
| |
|
|
| |
To make a better distinction from a guild that the bot's already in and from the ones it's joining
|
| | |
|
| | |
|
| |
|
|
| |
Fixes #70
|
| |
|
|
| |
https://github.com/rust-lang/rust/pull/42894
|
| | |
|
| | |
|
| |
|
| |
Fixes #87
|
| |
|
|
| |
Fixes #89
|
| | |
|
| | |
|
| | |
|
| | |
|
| | |
|
| |
|
|
|
|
| |
After the shard handler successfully reconnects a shard, reset the
`last_ack_time` and `last_heartbeat_sent` to avoid going into an
endless reconnection loop.
|
| | |
|
| |
|
|
|
|
| |
Switch from using `#[doc(hidden)]` to hide some internal functions to
`pub(crate)`.
The library now requires rustc 1.18.
|
| |
|
|
|
|
|
|
|
| |
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.
|
| | |
|
| |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
Upgrade `rust-websocket` to v0.20, maintaining use of its sync client.
This indirectly switches from `rust-openssl` v0.7 - which required
openssl-1.0 on all platforms - to `native-tls`, which allows for use of
schannel on Windows, Secure Transport on OSX, and openssl-1.1 on other
platforms.
Additionally, since hyper is no longer even a dependency of
rust-websocket, we can safely and easily upgrade to `hyper` v0.10 and
`multipart` v0.12.
This commit is fairly experimental as it has not been tested on a
long-running bot.
|
| |
|
|
|
|
| |
When returning, the Client would return an Ok(()). Instead, return an
error, since there is currently no reason the client would return under
"okay" circumstances.
|
| |
|
|
|
|
|
|
|
|
| |
Instead of running a loop forever, have the client join threads when
they end.
This is currently a poor way of having the client eventually end, but
for now it's a duck-tape solution, as when one shard completely fails to
reboot it's an indicator of a larger issue (invalidated authentication,
intermittent network issues, etc.)
|
| | |
|
| | |
|
| |
|
|
|
|
|
| |
Some of the methods used in the client dispatch, namely `Channel::id`
and `Message::transform_content`, are not _required_ for functionality
by the dispatcher. Since these methods are `model` features, they can be
gated behind a `model` feature cfg.
|
| |
|
|
|
| |
Add examples to some functions, and update some of the old examples to
use the `?` operator instead of unwrapping.
|
| |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
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.
|