Create telethon_and_quart

a good example of using Quart + Telethon
This commit is contained in:
rotem443 2019-06-19 01:09:02 +03:00 committed by GitHub
parent 35ba9848d9
commit 8a24212a91
No known key found for this signature in database
GPG Key ID: 4AEE18F83AFDEB23

View File

@ -0,0 +1,42 @@
from quart import Quart
from telethon import TelegramClient, events
import asyncio
import json
loop = asyncio.get_event_loop()
app = Quart(__name__)
TELEGREM_TOKEN = "complete me"
API_ID = 0 # complete me
API_HASH = 'complete me'
messages_list = []
class Telegrem:
def __init__(self, bot_token, api_id, api_hash):
self.bot_token = bot_token
self.api_id = api_id
self.api_hash = api_hash
self.client = TelegramClient('bot', api_id, api_hash)
async def receive_message(self, event):
print(f'message is here {event.raw_text}')
messages_list.append(event.raw_text)
async def start_polling(self):
await self.client.start(bot_token=self.bot_token)
self.client.add_event_handler(self.receive_message, events.NewMessage)
async def background():
telegrem = Telegrem(TELEGREM_TOKEN, API_ID, API_HASH)
loop.create_task(telegrem.start_polling())
@app.route('/')
async def hello():
return json.dumps(messages_list)
loop.create_task(background())
app.run(loop=loop)