From 6d89b2772b5edf8e2e5372d9e8a791f25f410a5a Mon Sep 17 00:00:00 2001 From: Naomi Carrigan Date: Tue, 23 Dec 2025 15:48:34 -0800 Subject: [PATCH] chore: lint --- server/src/modules/announceOnTwitter.ts | 85 +++++++++++---------- server/src/modules/generateAnnouncements.ts | 3 +- 2 files changed, 45 insertions(+), 43 deletions(-) diff --git a/server/src/modules/announceOnTwitter.ts b/server/src/modules/announceOnTwitter.ts index 153ea5f..2c5c5b7 100644 --- a/server/src/modules/announceOnTwitter.ts +++ b/server/src/modules/announceOnTwitter.ts @@ -11,49 +11,50 @@ import { TwitterApi } from "twitter-api-v2"; * @param content - The main body of the announcement. * @returns A message indicating the success or failure of the operation. */ -export const announceOnTwitter = async(content: Array): Promise => { - if ( - process.env.TWITTER_CONSUMER_KEY === undefined +export const announceOnTwitter + = async(content: Array): Promise => { + if ( + process.env.TWITTER_CONSUMER_KEY === undefined || process.env.TWITTER_CONSUMER_SECRET === undefined || process.env.TWITTER_TOKEN === undefined || process.env.TWITTER_SECRET === undefined - ) { - return "Twitter credentials are not set."; - } - const twitterClient = new TwitterApi({ - accessSecret: process.env.TWITTER_SECRET, - accessToken: process.env.TWITTER_TOKEN, - appKey: process.env.TWITTER_CONSUMER_KEY, - appSecret: process.env.TWITTER_CONSUMER_SECRET, - }); + ) { + return "Twitter credentials are not set."; + } + const twitterClient = new TwitterApi({ + accessSecret: process.env.TWITTER_SECRET, + accessToken: process.env.TWITTER_TOKEN, + appKey: process.env.TWITTER_CONSUMER_KEY, + appSecret: process.env.TWITTER_CONSUMER_SECRET, + }); - const [ firstPost, ...restOfPosts ] = content; - const failedReplies: Array = []; - if (firstPost === undefined) { - return "No posts to send to Twitter."; - } - const result = await twitterClient.v2. - tweet(firstPost). - catch((error: unknown) => { - return error instanceof Error - ? error.message - : String(error); - }); - if (typeof result === "string") { - return `Failed to send message to Twitter. ${result}`; - } - let { id } = result.data; - for (const post of restOfPosts) { - // eslint-disable-next-line no-await-in-loop -- We need to do this sequentially. - const twitterResponse = await twitterClient.v2.reply(post, id); - if (typeof twitterResponse !== "string") { - const { id: replyId } = twitterResponse.data; - id = replyId; - continue; - } - failedReplies.push(post); - } - return `Successfully sent initial post to Twitter. ${failedReplies.length > 0 - ? `Failed to send ${failedReplies.length.toString()} replies: ${failedReplies.join(", ")}` - : `All ${(content.length - 1).toString()} replies were sent successfully.`}`; -}; + const [ firstPost, ...restOfPosts ] = content; + const failedReplies: Array = []; + if (firstPost === undefined) { + return "No posts to send to Twitter."; + } + const result = await twitterClient.v2. + tweet(firstPost). + catch((error: unknown) => { + return error instanceof Error + ? error.message + : String(error); + }); + if (typeof result === "string") { + return `Failed to send message to Twitter. ${result}`; + } + let { id } = result.data; + for (const post of restOfPosts) { + // eslint-disable-next-line no-await-in-loop -- We need to do this sequentially. + const twitterResponse = await twitterClient.v2.reply(post, id); + if (typeof twitterResponse !== "string") { + const { id: replyId } = twitterResponse.data; + id = replyId; + continue; + } + failedReplies.push(post); + } + return `Successfully sent initial post to Twitter. ${failedReplies.length > 0 + ? `Failed to send ${failedReplies.length.toString()} replies: ${failedReplies.join(", ")}` + : `All ${(content.length - 1).toString()} replies were sent successfully.`}`; + }; diff --git a/server/src/modules/generateAnnouncements.ts b/server/src/modules/generateAnnouncements.ts index 32bb17e..fd74483 100644 --- a/server/src/modules/generateAnnouncements.ts +++ b/server/src/modules/generateAnnouncements.ts @@ -11,7 +11,8 @@ import { announcementSystemMessage, } from "../config/announcements.js"; import { getAiCost } from "../utils/getAiCost.js"; -import type { AnnouncementResponse } from "../interfaces/announcementResponse.js"; +import type { AnnouncementResponse } + from "../interfaces/announcementResponse.js"; /** * Generates announcements for all platforms using AI.