Ошибка при выполнение функции в telebot pytnon
Использую бибилиотеку telebot в python чтобы управлять ботом. До этого все функции из других файлов запускались, а тут появилась проблемка. Представим что юзер нажимает старт и функция запускается
import TelegramNumberChecker.Telegram_checker as tgcheck
import telebot
def start_bot():
@bot.message_handler(commands=['start'])
def handler_start(message):
inputdata = '7900000000'
telegram_phone = tgcheck.get_names(phone_number=inputdata)
Эта функция выглядит +- так: (чтобы не раскрывать весь код)
from telethon import TelegramClient, errors, events, sync
from telethon.tl.types import InputPhoneContact
from telethon import functions
from getpass import getpass
API_ID = ''
API_HASH = ''
PHONE_NUMBER = ''
def get_names(phone_number):
#client connect session
client = TelegramClient(PHONE_NUMBER, API_ID, API_HASH)
client.connect()
#дальше идёт код
Сообственно говоря после того как я запустил бота и нажал start всё что до этой функции оно может обработать, а на ней вылазит ошибка, при том что если эту функцию запустить отдельно, то-есть не подключать к боту, то она работает:
File "C:\Users\user\AppData\Local\Programs\Python\Python38-32\lib\asyncio\events.py", line 639, in get_event_loop
raise RuntimeError('There is no current event loop in thread %r.'
RuntimeError: There is no current event loop in thread 'WorkerThread2'.
Может ли это быть из-за того что я использую 2 библиотеки telebot и telethon?
Ответы (1 шт):
Спасибо @CrazyElf. Скинул уже существующий ответ на вопрос тык
2 строки кода вставить перед начало выполнения функции
def get_names(phone_number):
loop = asyncio.new_event_loop()
asyncio.set_event_loop(loop)
#client connect session
client = TelegramClient(PHONE_NUMBER, API_ID, API_HASH)
client.connect()
#дальше идёт код