diff options
| author | Lakelezz <[email protected]> | 2017-10-07 14:34:39 +0200 |
|---|---|---|
| committer | Zeyla Hellyer <[email protected]> | 2017-10-09 15:48:18 -0700 |
| commit | ee207b331d571d5afb5c35c8f119937d0196663a (patch) | |
| tree | b1e62ce42c649bf8e6b5c9d8e3dbd2ab0a92044e /src/model | |
| parent | Make `has_correct_permissions` a free-standing function (diff) | |
| download | serenity-ee207b331d571d5afb5c35c8f119937d0196663a.tar.xz serenity-ee207b331d571d5afb5c35c8f119937d0196663a.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 eef9d73..918fb41 100644 --- a/src/model/guild/mod.rs +++ b/src/model/guild/mod.rs @@ -738,6 +738,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. |