diff options
Diffstat (limited to 'src/cache')
| -rw-r--r-- | src/cache/mod.rs | 11 |
1 files changed, 11 insertions, 0 deletions
diff --git a/src/cache/mod.rs b/src/cache/mod.rs index b97855e..0a09623 100644 --- a/src/cache/mod.rs +++ b/src/cache/mod.rs @@ -578,6 +578,17 @@ impl Cache { }) } + #[inline] + pub fn message<C, M>(&self, channel_id: C, user_id: M) -> Option<Message> + where C: Into<ChannelId>, M: Into<MessageId> { + self._message(channel_id.into(), user_id.into()) + } + + fn _message(&self, channel_id: ChannelId, message_id: MessageId) -> Option<Message> { + self.messages.get(&channel_id).and_then(|messages| { + messages.get(&message_id).cloned() + }) + } /// Retrieves a [`PrivateChannel`] from the cache's [`private_channels`] /// map, if it exists. /// |