Add pytchat_listener.py for basic chat fetching
This commit is contained in:
41
pytchat_listener.py
Normal file
41
pytchat_listener.py
Normal file
@@ -0,0 +1,41 @@
|
|||||||
|
import pytchat
|
||||||
|
import sys
|
||||||
|
import os
|
||||||
|
from rich.console import Console
|
||||||
|
from rich.style import Style
|
||||||
|
|
||||||
|
console = Console()
|
||||||
|
|
||||||
|
def main():
|
||||||
|
# Clear the terminal screen
|
||||||
|
os.system('clear')
|
||||||
|
|
||||||
|
video_id = input("Enter the YouTube Live Stream Video ID: ")
|
||||||
|
|
||||||
|
try:
|
||||||
|
livechat = pytchat.create(video_id=video_id)
|
||||||
|
console.print(f"[green]Listening to live chat for video ID: {video_id}[/green]")
|
||||||
|
|
||||||
|
message_count = 0
|
||||||
|
while livechat.is_alive():
|
||||||
|
for c in livechat.get().sync_items():
|
||||||
|
author_display_name = c.author.name
|
||||||
|
message_text = c.message
|
||||||
|
|
||||||
|
# Simple alternating background for readability
|
||||||
|
background_style = Style(bgcolor="#2B2B2B") if message_count % 2 == 0 else Style(bgcolor="#3A3A3A")
|
||||||
|
|
||||||
|
# Basic username styling
|
||||||
|
username_style = Style(color="#4CAF50", bold=True)
|
||||||
|
|
||||||
|
formatted_message = f"[{username_style}]{author_display_name}[/]: {message_text}"
|
||||||
|
console.print(formatted_message, style=background_style)
|
||||||
|
message_count += 1
|
||||||
|
|
||||||
|
except Exception as e:
|
||||||
|
console.print(f"[red]An error occurred: {e}[/red]")
|
||||||
|
finally:
|
||||||
|
console.print("[yellow]Live chat listener stopped.[/yellow]")
|
||||||
|
|
||||||
|
if __name__ == '__main__':
|
||||||
|
main()
|
||||||
Reference in New Issue
Block a user