mirror of
https://github.com/LonamiWebs/Telethon.git
synced 2025-08-07 20:42:32 +00:00
Tidy examples and update licenses
This commit is contained in:
52
telethon_examples/print_messages.py
Normal file
52
telethon_examples/print_messages.py
Normal file
@@ -0,0 +1,52 @@
|
||||
#!/usr/bin/env python3
|
||||
# A simple script to print some messages.
|
||||
import os
|
||||
import sys
|
||||
import time
|
||||
|
||||
from telethon import TelegramClient, events, utils
|
||||
|
||||
|
||||
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)
|
||||
|
||||
|
||||
session = os.environ.get('TG_SESSION', 'printer')
|
||||
api_id = get_env('TG_API_ID', 'Enter your API ID: ', int)
|
||||
api_hash = get_env('TG_API_HASH', 'Enter your API hash: ')
|
||||
proxy = None # https://github.com/Anorov/PySocks
|
||||
|
||||
# Create and start the client so we can make requests (we don't here)
|
||||
client = TelegramClient(session, api_id, api_hash, proxy=proxy).start()
|
||||
|
||||
|
||||
# `pattern` is a regex, see https://docs.python.org/3/library/re.html
|
||||
# Use https://regexone.com/ if you want a more interactive way of learning.
|
||||
#
|
||||
# "(?i)" makes it case-insensitive, and | separates "options".
|
||||
@client.on(events.NewMessage(pattern=r'(?i).*\b(hello|hi)\b'))
|
||||
async def handler(event):
|
||||
sender = await event.get_sender()
|
||||
name = utils.get_display_name(sender)
|
||||
print(name, 'said', event.text, '!')
|
||||
|
||||
try:
|
||||
print('(Press Ctrl+C to stop this)')
|
||||
client.run_until_disconnected()
|
||||
finally:
|
||||
client.disconnect()
|
||||
|
||||
# Note: We used try/finally to show it can be done this way, but using:
|
||||
#
|
||||
# with client:
|
||||
# client.run_until_disconnected()
|
||||
#
|
||||
# is almost always a better idea.
|
Reference in New Issue
Block a user