Получаю ошибку Dispatcher() takes no arguments
import logging
import time
from datetime import datetime
import random
from aiogram import Bot, types
from aiogram.dispatcher import Dispatcher
from aiogram.utils import executor
logging.basicConfig(level=logging.INFO)
MSG = '{}'
TOKEN = '11111111111111111111111111111'
bot = Bot(token=TOKEN)
dp = Dispatcher(bot=bot)
line = open('phrase2.txt', 'r', encoding="utf8").readlines()
@dp.message_handler(command=['start'])
async def start_handler(message: types.Message):
user_id = message.from_user.id
user_full_name = message.from_user.full_name
logging.info(f'{user_id=} {user_full_name=} {time.asctime()}')
turn_on_random = random.choice(line)
await message.reply(f'{turn_on_random}')
dtn = datetime.datetime.now()
botlogfile = open('TestBot.log', 'a', encoding="utf8")
print(dtn.strftime(f"%d-%m-%Y %H:%M"), f'Пользователь ' + message.from_user.first_name, message.from_user.id,
f'написал сообщение: ' + message.text, file=botlogfile)
botlogfile.close()
if __name__ == '__main__':
executor.start_polling(dp)
Traceback (most recent call last): File "C:\Users\ivan\PycharmProjects\Motion\main.py", line 22, in dp = Dispatcher(bot=Bot) ^^^^^^^^^^^^^^^^^^^ TypeError: Dispatcher() takes no arguments
Что пробовал: import Dispatcher переделал в from aiogram.dispatcher import Dispatcher - не помогло
Раньше код работал, но после переустановки винды всё пришлось снести и поставить заново, теперь не работает, выходит эта ошибка. Может кто сталкивался с похожей проблемой? В интернете ничего толкового не обнаружил... ПС: Последняя версия питона, последняя версия аиограма, все библиотеки обновил до последних версий, работаю в пайшарме.
Ответы (2 шт):
Вместо вашего
from aiogram.dispatcher import Dispatcher
примените
from aiogram import Dispatcher
(т. е. без .dispatcher)
Итого помог откат питона до версии 3.10 и аиограм версии 2.25.1, может кому то будет полезным. Всем спасибо!