Don't cache avatar_url

This commit is contained in:
Yash Karandikar 2022-07-24 11:12:07 -05:00
parent 946e9f8b84
commit 26c8fd41c0

View file

@ -43,7 +43,6 @@ pub async fn irc_loop(
let (send, recv) = unbounded_channel();
tokio::spawn(msg_task(UnboundedReceiverStream::new(recv)));
let mut avatar_cache: HashMap<String, Option<String>> = HashMap::new();
let mut id_cache: HashMap<String, Option<u64>> = HashMap::new();
let mut channel_users: HashMap<String, Vec<String>> = HashMap::new();
@ -120,18 +119,16 @@ pub async fn irc_loop(
};
if let Some(webhook) = webhooks.get(channel) {
let avatar = &*avatar_cache.entry(nickname.to_owned()).or_insert_with(|| {
members_lock.iter().find_map(|member| {
(*member.display_name() == nickname)
.then(|| member.user.avatar_url())
.flatten()
})
let avatar_url = members_lock.iter().find_map(|member| {
(*member.display_name() == nickname)
.then(|| member.user.avatar_url())
.flatten()
});
send.send(QueuedMessage::Webhook {
webhook: webhook.clone(),
http: http.clone(),
avatar_url: avatar.clone(),
avatar_url,
content: computed,
nickname: nickname.to_string(),
})?;