Использование телемарафона с django: в потоке «Thread-1» нет текущего цикла событий

Я хочу использовать Telethon от django. Но когда я запускаю его, я получаю следующую ошибку:

RuntimeError: в потоке «Thread-1» нет текущего цикла событий.

мой код views.py:

from django.shortcuts import render,HttpResponse
from telethon.sync import TelegramClient, events

async def join(client):
    ch = '@andeh_ir'
    try:
        await client(JoinChannelRequest(ch))
        print('[+] Joined The Channel')
    except:
        print('[-] skiped')

def addChannel(request):
    api_id   =   XXXXXX
    api_hash = 'xxxxxxxxxxxxxxxxxxxxx'
    client = TelegramClient('+254716550762', api_id, api_hash )
    with client:
        client.loop.run_until_complete(join(client))
    return HttpResponse('addChannel')

person SasaN AndeH    schedule 24.05.2020    source источник
comment
stackoverflow.com/q/44667242 может помочь.   -  person Lonami    schedule 24.05.2020
comment
не могли бы вы найти решение?   -  person hsbr13    schedule 01.10.2020


Ответы (1)


Мое решение #import asyncio

 import asyncio
 api_id = xxxx
 api_hash = 'b772662cf8a918bfbc39ee2aee36f6cc'
 loop = asyncio.new_event_loop()
 asyncio.set_event_loop(loop)
 client = TelegramClient(phone, api_id, api_hash, loop=loop)
person Cù Phan    schedule 02.04.2021