Guest User

Untitled

a guest
Feb 21st, 2024
61
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
Python 2.50 KB | None | 0 0
  1. =========================== get_chat_count.py  ================================
  2. import json
  3. from collections import defaultdict
  4.  
  5. def get_messages():
  6.     with open("FWMC_83_chat.json") as fh:
  7.         return fh.read()
  8.  
  9. user_count_map = defaultdict(int)
  10. for line in get_messages().splitlines():
  11.     if not line:
  12.         continue
  13.     entry = json.loads(line)['replayChatItemAction']['actions'][0]
  14.     if 'addChatItemAction' not in entry or 'liveChatTextMessageRenderer' not in entry['addChatItemAction']['item']:
  15.         continue
  16.     author = entry['addChatItemAction']['item']['liveChatTextMessageRenderer']['authorName']['simpleText']
  17.     membership = 'Non Member'
  18.     if 'authorBadges' in entry['addChatItemAction']['item']['liveChatTextMessageRenderer']:
  19.         membership = entry['addChatItemAction']['item']['liveChatTextMessageRenderer']['authorBadges'][0]['liveChatAuthorBadgeRenderer']['tooltip']
  20.     user = f'{author} | {membership}'
  21.     user_count_map[user] += 1
  22.  
  23. for entry in sorted(user_count_map.items(), key=lambda x: x[1], reverse=True):
  24.     print(f'{entry[1]} | {entry[0]}')
  25.  
  26.  
  27. ====================== get_chat_count.py ====================
  28.  
  29. import json
  30.  
  31. def get_messages():
  32.     with open("FWMC_83_chat.json") as fh:
  33.         return fh.read()
  34.  
  35. for line in get_messages().splitlines():
  36.     if not line:
  37.         continue
  38.     entry = json.loads(line)['replayChatItemAction']['actions'][0]
  39.     if 'addChatItemAction' not in entry or 'liveChatTextMessageRenderer' not in entry['addChatItemAction']['item']:
  40.         continue
  41.     message = ''
  42.     for message_run in entry['addChatItemAction']['item']['liveChatTextMessageRenderer']['message']['runs']:
  43.         if 'emoji' in message_run:
  44.             if 'shortcuts' in message_run['emoji']:
  45.                 message += message_run['emoji']['shortcuts'][0]
  46.             else:
  47.                 message += message_run['emoji']['emojiId']
  48.         else:
  49.             message += message_run['text']
  50.     author = entry['addChatItemAction']['item']['liveChatTextMessageRenderer']['authorName']['simpleText']
  51.     timestamp = entry['addChatItemAction']['item']['liveChatTextMessageRenderer']['timestampText']['simpleText']
  52.     membership = 'Non Member'
  53.     if 'authorBadges' in entry['addChatItemAction']['item']['liveChatTextMessageRenderer']:
  54.         membership = entry['addChatItemAction']['item']['liveChatTextMessageRenderer']['authorBadges'][0]['liveChatAuthorBadgeRenderer']['tooltip']
  55.     print(f'{timestamp} | {author} | {membership} | {message}')
Advertisement
Add Comment
Please, Sign In to add comment