| Commit message (Collapse) | Author | Age | Files | Lines |
| |\
| |
| | |
Fix push_codeblock_safe
|
| | | |
|
| | | |
|
| |\ \
| |/
|/| |
Updated example 01 to work with the newest version.
|
| |/ |
|
| |\ |
|
| | |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| | |
* futures shard manager
* working shard manager test
* shard manager progress
* cleanup mess
* shard queue processing
* shard queue processing is done!
* remove unused code
* progress (no compile)
* shard manager progress
* add ReconnectQueue
|
| | | |
|
| | | |
|
| | | |
|
| | | |
|
| | | |
|
| | |\ |
|
| | | | |
|
| | | | |
|
| | | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | | |
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 links caused by the `model` module changes in v0.5.0, which
split up the module into sub-modules for better organization.
|
| | | | |
|
| | | | |
|
| | | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | | |
* Fix Speaking state, use latest voice API version
* Speaking state would remain stuck on after playing particularly long
stretches of audio. So far as I can tell, playing 5 frames of silence
BEFORE changing the state seems to do the trick.
* Added new constant to make sure the library uses v3 of the voice api,
which it is written for.
* Heartbeat interval adjusted by * .75 as recommended by Discord.
* Initial version of new Audio wrapper.
* Single audio file case, as before..
* Loop over all available audio samples.
* Combine audio streams, account for volume.
* Cheaper explicit Opus silence frames.
As per Discord's recommendation, use a well-known 3-byte silence frame when needed.
* A bit of cleanup
Cleanup some of the code, rename some short-form fields to longer forms
(e.g. `s/src/source`), and remove a breaking change.
`Handler::play` was changed to return `LockedAudio` instead of `()`. If
someone were to rely on `Handler::play` returning `()`, the return type
change would break their code. Instead, this functionality has been
added to a new `Handler::play_returning` function.
|
| | | | |
|
| | | | |
|
| | | | |
|
| | | |
| | |
| | |
| | |
| | | |
Technically a bugfix because this made it sort of unusable; instead,
users need to explicitly `Some(Box::new(receiver))`.
|
| | | |
| | |
| | |
| | |
| | | |
Instead of deserializing the `embeds` field as a `serde_json::Value`,
deserialize as a `model::channel::Embed`.
|
| | | |
| | |
| | |
| | | |
This way the builder can be used where taking ownership is impractical.
|
| | | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | | |
Adds support for parsing Rich Presences.
This can not be used for setting activities with bots.
Upgrade path:
Basically change your import and usage from
`serenity::model::gateway::Game` to
`serenity::model::gateway::Activity`.
|
| | | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | | |
Change the builders so that they are now mutably borrowed, accepting
`&mut self` instead of `self`. Their methods now return `()` instead of
`Self`.
Upgrade path:
Change code such as the following:
```rust
channel.send_message(|m| m
.embed(|e| e
.description("test")
.title("title")));
```
to the following style:
```rust
channel.send_message(|mut m| {
m.embed(|mut e| {
e.description("test");
e.title("title");
e
});
m
});
```
Closes #159.
|
| | | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | | |
* Fixing silence frame.
* Messed that one up while fighting with the borrow checker. Sorry!
* Initial machinery for playback position tracking
* Mix multiple input AudioType::Opus streams
* Encode for stereo, use nicer "soft clip"
* First stab at docs for Audio.
* Better-er docs for voice::Audio etc.
* Bitrate control.
* Fix #270, Better handling of the voice api
We were mostly doing the voice API wrong, I've changed OpCode names to
be correct. We now listenfor both Ready and Hello at connection init,
and do soft checks for Heartbeat ACKs.
* Adding missing voice opcodes, related structs
* Also removes events for messages which cannot be received.
* @Zeyla's recommended changes.
* New docstrings now have correct style for referring to functions.
* Docstrings also have room to breathe (!)
* Rand dependency now properly moved behind the `voice` feature.
* Slightly cleaner checks at voice connection initialisation.
* Various idiomatic changes throughout.
* Prevent compilation of Audio docs example.
Likely too much machinery in the background to get a working Handler, I
think.
* Re-fixing the docstrings.
* Fixing travis for Audio docs.
|
| | | | |
|
| | | | |
|
| | | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | | |
Adds support for parsing Rich Presences.
This can not be used for setting activities with bots.
Upgrade path:
Basically change your import and usage from
`serenity::model::gateway::Game` to
`serenity::model::gateway::Activity`.
|
| | | |
| | |
| | |
| | |
| | | |
Remove a folder named `migrations` that was erroneously added by
PR #297.
|
| | | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | | |
Change the builders so that they are now mutably borrowed, accepting
`&mut self` instead of `self`. Their methods now return `()` instead of
`Self`.
Upgrade path:
Change code such as the following:
```rust
channel.send_message(|m| m
.embed(|e| e
.description("test")
.title("title")));
```
to the following style:
```rust
channel.send_message(|mut m| {
m.embed(|mut e| {
e.description("test");
e.title("title");
e
});
m
});
```
Closes #159.
|
| | | |
| | |
| | | |
Remove functions and comment-segments relating to user-accounts.
|
| | | | |
|
| | | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | | |
* Fixing silence frame.
* Messed that one up while fighting with the borrow checker. Sorry!
* Initial machinery for playback position tracking
* Mix multiple input AudioType::Opus streams
* Encode for stereo, use nicer "soft clip"
* First stab at docs for Audio.
* Better-er docs for voice::Audio etc.
* Bitrate control.
* Fix #270, Better handling of the voice api
We were mostly doing the voice API wrong, I've changed OpCode names to
be correct. We now listenfor both Ready and Hello at connection init,
and do soft checks for Heartbeat ACKs.
* Adding missing voice opcodes, related structs
* Also removes events for messages which cannot be received.
* @Zeyla's recommended changes.
* New docstrings now have correct style for referring to functions.
* Docstrings also have room to breathe (!)
* Rand dependency now properly moved behind the `voice` feature.
* Slightly cleaner checks at voice connection initialisation.
* Various idiomatic changes throughout.
* Prevent compilation of Audio docs example.
Likely too much machinery in the background to get a working Handler, I
think.
* Re-fixing the docstrings.
* Fixing travis for Audio docs.
|
| | | | |
|
| | | | |
|
| | | | |
|
| | | | |
|
| | | | |
|
| | | | |
|
| | | | |
|
| | | | |
|
| | | |
| | |
| | |
| | |
| | |
| | | |
Instead of calling `parking_lot::RwLock::read` on the member's guild,
call `parking_lot::RwLock::try_read` and return None early if it would
cause a deadlock.
|