telebot python, get_chat_members_count задержка(ограничение)
Так мне надо чтобы bot.get_chat_members_count("@MyChannel") не давал задержки. Проблема в том что когда первый раз вызываеться метод get_chat_members_count и после уже когда в течение 30 секунд будет вызван этот метод bot.get_chat_members_count("@MyChannel") то будет возвращать одно и тоже значение, но после 30 секунд он нормально получает последную информацию, и так каждый раз надо 30 секунд подождать чтоб получить свежие данные, а мне надо чтоб каждую секунду скажем так возможно было получить реальные данные.
import telebot
import config
import time
botSub = telebot.TeleBot(config.TOKEN1)
x = bot.get_chat_members_count(@Mychannel)
time.sleep(5) #пример кто то подписался за 5 секунд
y = bot.get_chat_members_count(@Mychannel) #то тут уже будет возращено то значение которое сейчас в x,
# но если я подождал 30 секунд и тогда вызвал метод то дало бы уже значение +1, тоесть то что прямо сейчас там
Ответы (1 шт):
У телебота есть ограничение на 30 секунд и невозможно его снять, используйте лучше telethon там нету ограничение на запросы. или есть другой способ обьединить две библиотеки. Для начало надо использовать вот этот код:
import asyncio
from tornado.platform.asyncio import AnyThreadEventLoopPolicy
asyncio.set_event_loop_policy(AnyThreadEventLoopPolicy())
этот код делает потоки асинхронными, для телебота чтоб не давал ошибки и все работало
файл для telethon лучше написать в другом файле, сделать одну функцию и вызывать когда понадобиться, если написать два бота в одном файле то возможны ошибки