diff options
| author | Lakelezz <[email protected]> | 2017-10-07 14:34:39 +0200 |
|---|---|---|
| committer | alex <[email protected]> | 2017-10-07 14:34:39 +0200 |
| commit | b3aa441c2d61ba324396deaf70f2c5818fd3f528 (patch) | |
| tree | fabd9ae03e44c1c4b950fae6b1c78ee6505a426e /src/model | |
| parent | Make `has_correct_permissions` a free-standing function (diff) | |
| download | serenity-b3aa441c2d61ba324396deaf70f2c5818fd3f528.tar.xz serenity-b3aa441c2d61ba324396deaf70f2c5818fd3f528.zip | |
Help-commands filtering and Member-prefix-search (#182)
Diffstat (limited to 'src/model')
| -rw-r--r-- | src/model/guild/mod.rs | 18 |
1 files changed, 18 insertions, 0 deletions
diff --git a/src/model/guild/mod.rs b/src/model/guild/mod.rs index 8173a04..e6023cb 100644 --- a/src/model/guild/mod.rs +++ b/src/model/guild/mod.rs @@ -741,6 +741,24 @@ impl Guild { }) } + /// Retrieves all [`Member`] that start with a given `String`. + /// + /// If the prefix is "zey", following results are possible: + /// - "zey", "zeyla", "zey mei" + /// But the following are not because case-sensitivity: + /// - "Zey", "ZEYla", "zeY mei" + /// + /// [`Member`]: struct.Member.html + pub fn members_starting_with(&self, prefix: &str) -> Vec<&Member> { + self.members + .values() + .filter(|member| + member.user.read().unwrap().name.starts_with(prefix) + || member.nick.as_ref() + .map_or(false, |nick| + nick.starts_with(prefix))).collect() + } + /// Moves a member to a specific voice channel. /// /// Requires the [Move Members] permission. |