Size: a a a

2020 December 10

VW

Vitalik White in aiogram [ru]
Привет. Ребят, есть активный бот на аиограме. Есть отдельный скрипт c данными того же бота, который при определенных условиях рассылает сообщения. При отправке выскакивает текст ниже, но сообщения отправляются. Как фиксить и надо ли?
ERROR:asyncio:Unclosed client session
client_session: <aiohttp.client.ClientSession object at 0x10d6aae80>
ERROR:asyncio:Unclosed connector
connections: ['[(<aiohttp.client_proto.ResponseHandler object at 0x10d6c1a60>, 4.173002199)]']
connector: <aiohttp.connector.TCPConnector object at 0x10d6aa430>

объект бота импортирую из файла misc.py
источник

R

Robert B. Garza in aiogram [ru]
Vitalik White
Привет. Ребят, есть активный бот на аиограме. Есть отдельный скрипт c данными того же бота, который при определенных условиях рассылает сообщения. При отправке выскакивает текст ниже, но сообщения отправляются. Как фиксить и надо ли?
ERROR:asyncio:Unclosed client session
client_session: <aiohttp.client.ClientSession object at 0x10d6aae80>
ERROR:asyncio:Unclosed connector
connections: ['[(<aiohttp.client_proto.ResponseHandler object at 0x10d6c1a60>, 4.173002199)]']
connector: <aiohttp.connector.TCPConnector object at 0x10d6aa430>

объект бота импортирую из файла misc.py
Код лучше покажи
источник

VW

Vitalik White in aiogram [ru]
Robert B. Garza
Код лучше покажи
сам скрипт https://pastebin.com/rGUpG0pp
источник

VW

Vitalik White in aiogram [ru]
misc

bot = Bot(token=api_token, parse_mode=types.ParseMode.HTML)
dp = Dispatcher(bot)
dp.filters_factory.bind(services.filters.IsFriendsList)
logging.basicConfig(level=logging.INFO)
источник

R

Robert B. Garza in aiogram [ru]
Вообще лупу надо закрывать, но тебе точно надо рассылку делать в main
источник

R

Robert B. Garza in aiogram [ru]
Vitalik White
misc

bot = Bot(token=api_token, parse_mode=types.ParseMode.HTML)
dp = Dispatcher(bot)
dp.filters_factory.bind(services.filters.IsFriendsList)
logging.basicConfig(level=logging.INFO)
и в старт поллинге бота доп. аргументом можно лупу указывать

executor.start_polling(dp, skip_updates=False, loop=...)
источник

VW

Vitalik White in aiogram [ru]
Robert B. Garza
и в старт поллинге бота доп. аргументом можно лупу указывать

executor.start_polling(dp, skip_updates=False, loop=...)
спасибо!
источник

VW

Vitalik White in aiogram [ru]
Robert B. Garza
и в старт поллинге бота доп. аргументом можно лупу указывать

executor.start_polling(dp, skip_updates=False, loop=...)
а можно как-то таймер туда навесить? типа в самом скрипте asyncio.sleep или еще как-то?
источник

R

Robert B. Garza in aiogram [ru]
Vitalik White
а можно как-то таймер туда навесить? типа в самом скрипте asyncio.sleep или еще как-то?
Какая задача стоит перед твоей рассылкой? Раз в 10 мин рассылать?
источник

VW

Vitalik White in aiogram [ru]
да
источник

R

Robert B. Garza in aiogram [ru]
источник

VW

Vitalik White in aiogram [ru]
спасибо огромное!
источник

VW

Vitalik White in aiogram [ru]
подскажи, пожалуйста, еще. Вот я навесил декоратор таймера на функцию, но теперь говорит
executor.start_polling(dp, loop=loop.run_until_complete(send_notifications()))
TypeError: __call__() missing 1 required positional argument: 'func'
Как мне правильно передать функцию туда?
источник

R

Robert B. Garza in aiogram [ru]
Vitalik White
подскажи, пожалуйста, еще. Вот я навесил декоратор таймера на функцию, но теперь говорит
executor.start_polling(dp, loop=loop.run_until_complete(send_notifications()))
TypeError: __call__() missing 1 required positional argument: 'func'
Как мне правильно передать функцию туда?
Почитай про asyncio loop в aiogram
источник

VW

Vitalik White in aiogram [ru]
благодарю за наводку
источник

R

Robert B. Garza in aiogram [ru]
Vitalik White
благодарю за наводку
источник

VW

Vitalik White in aiogram [ru]
источник

R

Robert B. Garza in aiogram [ru]
Но это тоже самое что и aiocron
источник

АФ

Артем Францев... in aiogram [ru]
а
источник

й

йцукенг in aiogram [ru]
CMD ["python3", "/botname/bot.py"]
источник