Это код. Снизу ошибка, которую не могу исправить.
import config
import logging
import asyncio
from datetime import datetime
from aiogram import Bot, Dispatcher, executor, types
from sqlighter import SQLighter
from stopgame import StopGame
# Configure logging
logging.basicConfig(level = logging.INFO)
# Initialize bot and dispatcher
bot = Bot(token = config.API_TOKEN)
dp = Dispatcher(bot)
# Initialize connect
db = SQLighter('db.db')
# Команда активации подписки
@dp.message_handler(commands = ['subscribe'])
async def subscribe(message: types.Message):
if(not db.subscriber_exists(message.from_user.id)):
db.add_subscriber(message.from_user.id)
else:
db.update_subscribtions(message.from_user.id, True)
await message.answer("Вы успешно подписались на рассылку!\nЖдите, скоро выйдут новые обзоры и вы узнаете о них первыми :)")
# команда отписки
@dp.message_handler(commands = ['unsubscribe'])
async def unsubscribe(message: types.Message):
if(not db.subscriber_exists(message.from_user.id)):
db.add_subsriber(message.from_user.id, False)
await message.answer("Вы итак не подписаны")
else:
db.update_subscribtions(message.from_user.id, False)
await message.answer("Вы успешно отписались от рассылки")
# проверяем наличие новых игр и делаем рассылки
async def scheduled(wait_for):
while True:
await asyncio.sleep(wait_for)
# проверяем наличие новых игр
new_games = sg.new_games()
if(new_games):
new_games.reverse()
for ng in new_games:
nfo = sg.game_info(ng)
subscriptions = db.get_subscriptions()
# делаем рассылку
with open(sg.download_image(nfo['image']), 'rb') as photo:
for s in subscriptions:
await bot.send_photo(
s[1],
photo,
caption = nfo['title'] + "\n" + "Оценка: " + nfo['score'] + "\n" + nfo['exerpt'] + "\n\n" + nfo['link'],
disable_notification = True
)
sg.update_lastkey(nfo['id'])
# long pooling
if __name__ == '__main__':
dp.loop.create_task(scheduled(10)) # пока что оставим 10 секунд (в качестве теста)
executor.start_polling(dp, skip_updates=True)
# long pooling
if __name__ == '__main__':
dp.loop.create_task(scheduled(10)) # ВОТ ТУТ НЕ РАБОТАЕТ create_task
executor.start_polling(dp, skip_updates=True)
Выходит ошибка:
AttributeError: 'NoneType' object has no attribute 'create_task'
Если нужно еще парсер могу скинуть