python: используйте await в asyn c и запускайте в браузере - PullRequest
0 голосов
/ 18 апреля 2020

Я использую этот код в python

import webbrowser
import asyncio
import aiohttp
from threading import Timer
from telethon import TelegramClient, events, sync
from aiohttp import web

api_id = xxx
api_hash = 'xxx'

client = TelegramClient('session_name', api_id, api_hash)

async def hello(request):
    client.start()
    #me = await client.get_me()
    return web.Response(text = "Hello")

app = web.Application()
app.router.add_get('/', hello)
web.run_app(app)

После запуска http://0.0.0.0:8080/ в браузере выведите hello

Но если я удалю # и использую меня = ожидайте client.get_me () в моем коде, я получаю сообщение об ошибке:

RuntimeWarning: coroutine 'AuthMethods._start' was never awaited
  client.start()
RuntimeWarning: Enable tracemalloc to get the object allocation traceback

Я хочу, чтобы код ниже работал:

async def hello(request):
    client.start()
    me = await client.get_me()
    return web.Response(text = "Hello")
...