diff --git a/app/package.json b/app/package.json index 8afb88c..eb7acdf 100644 --- a/app/package.json +++ b/app/package.json @@ -42,7 +42,7 @@ "rpc-websocket-client": "^1.1.4", "telegraf": "^4.11.2", "ts-node": "^10.5.0", - "twitter-api-v2": "^1.14.1", + "twitter-api-v2": "^1.15.1", "typescript": "^4.9.5" }, "devDependencies": { diff --git a/app/src/config/index.ts b/app/src/config/index.ts index c26d81d..b984e4e 100644 --- a/app/src/config/index.ts +++ b/app/src/config/index.ts @@ -18,7 +18,7 @@ export const TWITTER_APP_SECRET = _.defaultTo(process.env.TWITTER_APP_SECRET, '' export const TWITTER_ACCESS_TOKEN = _.defaultTo(process.env.TWITTER_ACCESS_TOKEN, '') export const TWITTER_ACCESS_SECRET = _.defaultTo(process.env.TWITTER_ACCESS_SECRET, '') -export const TWITTER_THRESHOLD = _.defaultTo(process.env.TWITTER_THRESHOLD, 500) +export const TWITTER_THRESHOLD = _.defaultTo(process.env.TWITTER_THRESHOLD, 100) export const TELEGRAM_THRESHOLD = _.defaultTo(process.env.TELEGRAM_THRESHOLD, 100) export const DISCORD_THRESHOLD = _.defaultTo(process.env.DISCORD_THRESHOLD, 250) diff --git a/app/src/discord/index.ts b/app/src/discord/index.ts index 44855b0..b27aafc 100644 --- a/app/src/discord/index.ts +++ b/app/src/discord/index.ts @@ -222,7 +222,7 @@ export async function PostDiscord( client: Client, channelName: string, ) { - if (TESTNET) { + if (TESTNET || !DISCORD_ENABLED) { printObject(embed) } else { try { diff --git a/app/src/integrations/telegram.ts b/app/src/integrations/telegram.ts index 70404b3..c12e984 100644 --- a/app/src/integrations/telegram.ts +++ b/app/src/integrations/telegram.ts @@ -1,4 +1,4 @@ -import { TELEGRAM_CHANNEL, TESTNET } from '../config' +import { TELEGRAM_CHANNEL, TELEGRAM_ENABLED, TESTNET } from '../config' import { Context, Telegraf } from 'telegraf' import { Update } from 'telegraf/typings/core/types/typegram' @@ -7,7 +7,7 @@ export async function PostTelegram( telegramClient: Telegraf>, channel: string = TELEGRAM_CHANNEL, ) { - if (TESTNET) { + if (TESTNET || !TELEGRAM_ENABLED) { console.log(post) } else { try { @@ -15,7 +15,6 @@ export async function PostTelegram( parse_mode: 'HTML', disable_web_page_preview: true, }) - //console.log(response) } catch (e: any) { console.log(e) } diff --git a/app/src/integrations/twitter.ts b/app/src/integrations/twitter.ts index 37b9201..6b1aa2a 100644 --- a/app/src/integrations/twitter.ts +++ b/app/src/integrations/twitter.ts @@ -1,13 +1,13 @@ import { TwitterApi } from 'twitter-api-v2' -import { TESTNET } from '../config' +import { TESTNET, TWITTER_ENABLED } from '../config' export async function SendTweet(tweet: string, twitterApi: TwitterApi) { - if (TESTNET) { + if (TESTNET || !TWITTER_ENABLED) { console.log(tweet) } else { try { - const response = await twitterApi.v1.tweet(tweet) - console.log(response.id) + const response = await twitterApi.v2.tweet(tweet) + console.log(response?.data?.id) } catch (e: any) { console.log(e) } diff --git a/app/src/lyra/deposits.ts b/app/src/lyra/deposits.ts index c64e940..f77a35e 100644 --- a/app/src/lyra/deposits.ts +++ b/app/src/lyra/deposits.ts @@ -1,4 +1,4 @@ -import { DISCORD_ENABLED, TWITTER_ENABLED, DEPOSIT_THRESHOLD } from '../config' +import { DEPOSIT_THRESHOLD } from '../config' import fromBigNumber from '../utils/fromBigNumber' import { ActionRowBuilder, ButtonBuilder, Client } from 'discord.js' import { PostDiscord } from '../discord' @@ -71,16 +71,12 @@ export async function BroadCastDeposit( twitterClient: TwitterApi, network: Network, ): Promise { - if (DISCORD_ENABLED) { - const post = DepositDiscord(dto, network) - const rows: ActionRowBuilder[] = [] - await PostDiscord(post, rows, discordClient, DEPOSITS_CHANNEL) - } + const post = DepositDiscord(dto, network) + const rows: ActionRowBuilder[] = [] + await PostDiscord(post, rows, discordClient, DEPOSITS_CHANNEL) - if (TWITTER_ENABLED) { - const post = DepositTwitter(dto, network) - await SendTweet(post, twitterClient) - } + const postTwitter = DepositTwitter(dto, network) + await SendTweet(postTwitter, twitterClient) } export function parseEvent(event: DepositQueuedEvent): DepositQueuedEvent { diff --git a/app/src/lyra/expiries.ts b/app/src/lyra/expiries.ts index 92d7751..c4bcce8 100644 --- a/app/src/lyra/expiries.ts +++ b/app/src/lyra/expiries.ts @@ -1,4 +1,3 @@ -import { DISCORD_ENABLED, TELEGRAM_ENABLED, TWITTER_ENABLED } from '../config' import fromBigNumber from '../utils/fromBigNumber' import { ActionRowBuilder, ButtonBuilder, Client } from 'discord.js' import { BoardDto, StrikeDto } from '../types/lyra' @@ -74,21 +73,15 @@ export async function BroadCastStrike( twitterClient: TwitterApi, network: Network, ): Promise { - if (DISCORD_ENABLED) { - const post = BoardDiscord(dto, network) - const rows: ActionRowBuilder[] = [] - await PostDiscord(post, rows, discordClient, EXPIRY_CHANNEL) - } + const embed = BoardDiscord(dto, network) + const rows: ActionRowBuilder[] = [] + await PostDiscord(embed, rows, discordClient, EXPIRY_CHANNEL) - if (TELEGRAM_ENABLED) { - const post = BoardTelegram(dto, network) - await PostTelegram(post, telegramClient) - } + const post = BoardTelegram(dto, network) + await PostTelegram(post, telegramClient) - if (TWITTER_ENABLED) { - const post = BoardTwitter(dto, network) - await SendTweet(post, twitterClient) - } + const postTwitter = BoardTwitter(dto, network) + await SendTweet(postTwitter, twitterClient) } export function parseEvents(events: StrikeAddedEvent[]): StrikeAddedEvent[] { diff --git a/app/src/lyra/leaderboard.ts b/app/src/lyra/leaderboard.ts index efe86d1..87dddff 100644 --- a/app/src/lyra/leaderboard.ts +++ b/app/src/lyra/leaderboard.ts @@ -5,7 +5,6 @@ import { PostDiscord } from '../discord' import { SendTweet } from '../integrations/twitter' import { GetEns } from '../integrations/ens' import { Trader } from '../types/lyra' -import { DISCORD_ENABLED, TELEGRAM_ENABLED, TESTNET, TWITTER_ENABLED } from '../config' import { PostTelegram } from '../integrations/telegram' import { LeaderboardDiscord, LeaderboardTwitter, LeaderboardTelegram } from '../templates/leaderboard' import { TRADE_CHANNEL } from '../constants/discordChannels' @@ -103,21 +102,14 @@ export async function BroadcastLeaderBoard( leaderBoard.slice(0, 10).map(async (x, index) => await ParsePositionLeaderboard(x, index + 1)), ) - if (DISCORD_ENABLED) { - const channelName = TRADE_CHANNEL + const channelName = TRADE_CHANNEL + const embeds = LeaderboardDiscord(traders.slice(0, 10), network) + const rows: ActionRowBuilder[] = [] + await PostDiscord(embeds, rows, discordClient, channelName) - const embeds = LeaderboardDiscord(traders.slice(0, 10), network) - const rows: ActionRowBuilder[] = [] - await PostDiscord(embeds, rows, discordClient, channelName) - } - - if (TWITTER_ENABLED) { - const post = LeaderboardTwitter(traders.slice(0, 5)) - await SendTweet(post, twitterClient) - } + const twitterPost = LeaderboardTwitter(traders.slice(0, 5)) + await SendTweet(twitterPost, twitterClient) - if (TELEGRAM_ENABLED) { - const post = LeaderboardTelegram(traders.slice(0, 10)) - await PostTelegram(post, telegramClient) - } + const post = LeaderboardTelegram(traders.slice(0, 10)) + await PostTelegram(post, telegramClient) } diff --git a/app/src/lyra/stats.ts b/app/src/lyra/stats.ts index bdac553..94d4e28 100644 --- a/app/src/lyra/stats.ts +++ b/app/src/lyra/stats.ts @@ -8,7 +8,6 @@ import { SECONDS_IN_MONTH, SECONDS_IN_YEAR } from '../constants/timeAgo' import { PostDiscord } from '../discord' import { PostTelegram } from '../integrations/telegram' import { SendTweet } from '../integrations/twitter' -import { TWITTER_ENABLED, TELEGRAM_ENABLED, DISCORD_ENABLED } from '../config' import { StatDiscord, StatTelegram, StatTwitter } from '../templates/stats' import { VaultStats } from '../types/lyra' import fromBigNumber from '../utils/fromBigNumber' @@ -77,19 +76,13 @@ export async function BroadCastStats( discordClient: Client, network: Network, ): Promise { - if (TWITTER_ENABLED) { - const post = StatTwitter(dto, network) - await SendTweet(post, twitterClient) - } + const twitterPost = StatTwitter(dto, network) + await SendTweet(twitterPost, twitterClient) - if (TELEGRAM_ENABLED) { - const post = StatTelegram(dto, network) - await PostTelegram(post, telegramClient) - } + const post = StatTelegram(dto, network) + await PostTelegram(post, telegramClient) - if (DISCORD_ENABLED) { - const embeds = StatDiscord(dto, network) - const rows: ActionRowBuilder[] = [] - await PostDiscord(embeds, rows, discordClient, STATS_CHANNEL) - } + const embeds = StatDiscord(dto, network) + const rows: ActionRowBuilder[] = [] + await PostDiscord(embeds, rows, discordClient, STATS_CHANNEL) } diff --git a/app/src/lyra/tracker.ts b/app/src/lyra/tracker.ts index b05230a..f3a69f1 100644 --- a/app/src/lyra/tracker.ts +++ b/app/src/lyra/tracker.ts @@ -1,4 +1,4 @@ -import { DISCORD_ENABLED, TOKEN_THRESHOLD, TWITTER_ENABLED } from '../config' +import { TOKEN_THRESHOLD } from '../config' import fromBigNumber from '../utils/fromBigNumber' import { ActionRowBuilder, ButtonBuilder, Client } from 'discord.js' import { TransferDto } from '../types/lyra' @@ -73,16 +73,12 @@ export async function BroadCastTransfer( twitterClient: TwitterApi, network: Network, ): Promise { - if (DISCORD_ENABLED) { - const post = TransferDiscord(transferDto, network) - const rows: ActionRowBuilder[] = [] - await PostDiscord(post, rows, discordClient, TOKEN_CHANNEL) - } + const post = TransferDiscord(transferDto, network) + const rows: ActionRowBuilder[] = [] + await PostDiscord(post, rows, discordClient, TOKEN_CHANNEL) - if (TWITTER_ENABLED) { - const post = TransferTwitter(transferDto, network) - await SendTweet(post, twitterClient) - } + const twitter = TransferTwitter(transferDto, network) + await SendTweet(twitter, twitterClient) } export function parseEvent(event: TransferEvent): TransferEvent { diff --git a/app/src/lyra/trades.ts b/app/src/lyra/trades.ts index a9962fa..1b055b6 100644 --- a/app/src/lyra/trades.ts +++ b/app/src/lyra/trades.ts @@ -1,15 +1,7 @@ import { Network } from '@lyrafinance/lyra-js' import { SendTweet } from '../integrations/twitter' import { TradeDto } from '../types/lyra' -import { - DISCORD_ENABLED, - TELEGRAM_ENABLED, - TWITTER_ENABLED, - TWITTER_THRESHOLD, - TELEGRAM_THRESHOLD, - DISCORD_THRESHOLD, - TESTNET, -} from '../config' +import { TWITTER_THRESHOLD, TELEGRAM_THRESHOLD, DISCORD_THRESHOLD, TESTNET } from '../config' import { GetUrl, signed, toDate } from '../utils/utils' import { TradeEvent } from '@lyrafinance/lyra-js' import { FindOnLeaderBoard } from './leaderboard' @@ -161,31 +153,26 @@ export async function BroadCastTrade( telegramClient: Telegraf, discordClient: Client, ): Promise { - console.log('DISCORD THRESHOLD: ' + DISCORD_THRESHOLD) - console.log('Trade Premium: ' + trade.premium) if ( - (trade.premium >= Number(TWITTER_THRESHOLD) || - trade.isNotable || - (trade?.leaderBoard?.position > 0 && trade?.leaderBoard?.position < 21)) && - TWITTER_ENABLED + trade.premium >= Number(TWITTER_THRESHOLD) || + trade.isNotable || + (trade?.leaderBoard?.position > 0 && trade?.leaderBoard?.position < 21) ) { await SendTweet(TradeTwitter(trade, network), twitterClient) } if ( - (trade.premium >= Number(TELEGRAM_THRESHOLD) || - trade.isNotable || - (trade?.leaderBoard?.position > 0 && trade?.leaderBoard?.position < 21)) && - TELEGRAM_ENABLED + trade.premium >= Number(TELEGRAM_THRESHOLD) || + trade.isNotable || + (trade?.leaderBoard?.position > 0 && trade?.leaderBoard?.position < 21) ) { await PostTelegram(TradeTelegram(trade, network), telegramClient) } if ( - (trade.premium >= Number(DISCORD_THRESHOLD) || - trade.isNotable || - (trade?.leaderBoard?.position > 0 && trade?.leaderBoard?.position < 21)) && - DISCORD_ENABLED + trade.premium >= Number(DISCORD_THRESHOLD) || + trade.isNotable || + (trade?.leaderBoard?.position > 0 && trade?.leaderBoard?.position < 21) ) { const embeds = [TradeDiscord(trade, network)] const rows: ActionRowBuilder[] = [] diff --git a/yarn.lock b/yarn.lock index a819542..3b0e1f8 100644 --- a/yarn.lock +++ b/yarn.lock @@ -3160,7 +3160,7 @@ tsutils@^3.21.0: dependencies: tslib "^1.8.1" -twitter-api-v2@^1.14.1: +twitter-api-v2@^1.15.1: version "1.15.1" resolved "https://registry.yarnpkg.com/twitter-api-v2/-/twitter-api-v2-1.15.1.tgz#e7959bcaea5ee1633df7124f94ab0e7939357963" integrity sha512-KNxoJL+sldWMI3AooPGcNkbP8awQai93d9xxsTurVPuUo/qnOUR3iO0XZTGC5sezdejHHqNyTwBAgGGw948MDg==