diff options
Diffstat (limited to 'src/model/guild/mod.rs')
| -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. |