From 725140c6de6563207a1f8a8106f414bb5c29d446 Mon Sep 17 00:00:00 2001 From: Jordan Eldredge Date: Sun, 30 Jan 2022 12:01:29 -0800 Subject: [PATCH] Better message for popular tweets --- packages/skin-database/api/DiscordEventHandler.ts | 6 +++++- packages/skin-database/api/app.ts | 2 +- packages/skin-database/tasks/popularTweets.ts | 3 ++- 3 files changed, 8 insertions(+), 3 deletions(-) diff --git a/packages/skin-database/api/DiscordEventHandler.ts b/packages/skin-database/api/DiscordEventHandler.ts index 7cd31af0..38676994 100644 --- a/packages/skin-database/api/DiscordEventHandler.ts +++ b/packages/skin-database/api/DiscordEventHandler.ts @@ -121,8 +121,12 @@ export default class DiscordEventHandler { } case "POPULAR_TWEET": { const dest = await this.getChannel(Config.POPULAR_TWEETS_CHANNEL_ID); + const diff = (Date.now() - Number(action.date)); + const seconds = diff / 1000; + const minutes = seconds / 60; + const hours = Math.round(minutes / 60); - const message = `An @winampskins tweet just passed **${action.bracket}** likes!\n\n${action.url}`; + const message = `⭐️ This tweet passed **${action.bracket}** likes! (**${action.likes}** likes in **${hours}** hours)️ ⭐\n\n${action.url}`; await dest.send(message); break; diff --git a/packages/skin-database/api/app.ts b/packages/skin-database/api/app.ts index 25b5666c..a118d1c1 100644 --- a/packages/skin-database/api/app.ts +++ b/packages/skin-database/api/app.ts @@ -23,7 +23,7 @@ export type ApiAction = | { type: "GOT_FEEDBACK"; message: string; email?: string; url?: string } | { type: "SYNCED_TO_ARCHIVE"; successes: number; errors: number } | { type: "STARTED_SYNC_TO_ARCHIVE"; count: number } - | { type: "POPULAR_TWEET"; bracket: number; url: string }; + | { type: "POPULAR_TWEET"; bracket: number; url: string, likes: number, date: Date }; export type EventHandler = (event: ApiAction) => void; export type Logger = { diff --git a/packages/skin-database/tasks/popularTweets.ts b/packages/skin-database/tasks/popularTweets.ts index 6587f818..4dc192d4 100644 --- a/packages/skin-database/tasks/popularTweets.ts +++ b/packages/skin-database/tasks/popularTweets.ts @@ -5,6 +5,7 @@ import DiscordEventHandler from "../api/DiscordEventHandler"; const MAX_CALL_COUNT = 2; type TweetPayload = { + created_at: string, entities: { urls: { expanded_url: string; @@ -69,7 +70,7 @@ export async function popularTweets(handler: DiscordEventHandler) { const url = tweetUrl(tweet); if(!notified) { - await handler.handle({ type: "POPULAR_TWEET", url, bracket }); + await handler.handle({ type: "POPULAR_TWEET", url, bracket, likes: tweet.favorite_count, date: new Date(Date.parse(tweet.created_at))}); notified = true }