|
|
@@ -11,7 +11,7 @@ import httpx
|
|
|
import cache
|
|
|
|
|
|
def main() -> None:
|
|
|
- since = sys.argv[1] + 'T00:00:00Z'
|
|
|
+ since = sys.argv[1]
|
|
|
c = httpx.Client()
|
|
|
|
|
|
codes: dict[str, str] = {company['UserName'].casefold(): company['CompanyCode']
|
|
|
@@ -23,12 +23,16 @@ def main() -> None:
|
|
|
for planet in planets:
|
|
|
print('querying', planet, 'chat...', file=sys.stderr)
|
|
|
messages: typing.Sequence[Message] = c.get('https://api.fnar.net/chat/messages',
|
|
|
- params={'channel_names': planet + ' Global Site Owners', 'updated_since': since}).raise_for_status().json()
|
|
|
+ params={'channel_names': planet + ' Global Site Owners'}).raise_for_status().json()
|
|
|
for message in messages:
|
|
|
if message['Type'] == 'JOINED':
|
|
|
old_join = joined.get(message['SenderUserName'])
|
|
|
if old_join is None or old_join > message['MessageTimestamp']:
|
|
|
joined[message['SenderUserName']] = message['MessageTimestamp']
|
|
|
+ threshold = int(datetime.datetime.strptime(since, '%Y-%m-%d').replace(tzinfo=datetime.UTC).timestamp() * 1000)
|
|
|
+ for username, join_ts in list(joined.items()):
|
|
|
+ if join_ts < threshold:
|
|
|
+ del joined[username]
|
|
|
|
|
|
relevant_cos = {co for username in joined.keys() if (co := codes.get(username))}
|
|
|
for username in joined.keys():
|