Telethon/telethon_examples/print_updates.py

47 lines
984 B
Python
Raw Normal View History

#!/usr/bin/env python3
# A simple script to print all updates received
import os
import sys
import time
2018-02-16 23:02:47 +03:00
from telethon import TelegramClient
2018-02-16 23:02:47 +03:00
def get_env(name, message, cast=str):
if name in os.environ:
return os.environ[name]
while True:
value = input(message)
try:
return cast(value)
except ValueError as e:
print(e, file=sys.stderr)
time.sleep(1)
client = TelegramClient(
os.environ.get('TG_SESSION', 'printer'),
get_env('TG_API_ID', 'Enter your API ID: ', int),
get_env('TG_API_HASH', 'Enter your API hash: '),
proxy=None
)
2018-02-16 23:02:47 +03:00
async def update_handler(update):
print(update)
2018-02-16 23:02:47 +03:00
client.add_event_handler(update_handler)
'''You could also have used the @client.on(...) syntax:
from telethon import events
@client.on(events.Raw)
2018-06-24 13:04:23 +03:00
async def update_handler(update):
print(update)
'''
2018-02-16 23:02:47 +03:00
with client.start():
print('(Press Ctrl+C to stop this)')
client.run_until_disconnected()