Skip to content

Commit

Permalink
Tweak /.tokens, add amount of limited accounts
Browse files Browse the repository at this point in the history
  • Loading branch information
zedeus committed Aug 22, 2023
1 parent 5c08e6a commit 6e87449
Showing 1 changed file with 17 additions and 10 deletions.
27 changes: 17 additions & 10 deletions src/tokens.nim
Original file line number Diff line number Diff line change
Expand Up @@ -19,6 +19,7 @@ proc getPoolJson*(): JsonNode =
list = newJObject()
totalReqs = 0
totalPending = 0
totalLimited = 0
reqsPerApi: Table[string, int]

let now = epochTime().int
Expand All @@ -31,34 +32,40 @@ proc getPoolJson*(): JsonNode =
}

for api in account.apis.keys:
let obj = %*{}
if account.apis[api].limited:
obj["limited"] = %true
let
apiStatus = account.apis[api]
obj = %*{}

if account.apis[api].reset > now.int:
obj["remaining"] = %account.apis[api].remaining
if apiStatus.limited:
obj["limited"] = %true
inc totalLimited

list[account.id]["apis"][$api] = obj
if apiStatus.reset > now.int:
obj["remaining"] = %apiStatus.remaining

if "remaining" notin obj:
if "remaining" notin obj and not apiStatus.limited:
continue

list[account.id]["apis"][$api] = obj

let
maxReqs =
case api
of Api.search: 50
of Api.tweetDetail: 150
of Api.photoRail: 180
of Api.userTweets, Api.userTweetsAndReplies, Api.userMedia,
Api.userRestId, Api.userScreenName,
Api.tweetDetail, Api.tweetResult,
Api.userRestId, Api.userScreenName, Api.tweetResult,
Api.list, Api.listTweets, Api.listMembers, Api.listBySlug: 500
reqs = maxReqs - account.apis[api].remaining
of Api.userSearch: 900
reqs = maxReqs - apiStatus.remaining

reqsPerApi[$api] = reqsPerApi.getOrDefault($api, 0) + reqs
totalReqs.inc(reqs)

return %*{
"amount": accountPool.len,
"limited": totalLimited,
"requests": totalReqs,
"pending": totalPending,
"apis": reqsPerApi,
Expand Down

0 comments on commit 6e87449

Please sign in to comment.