@gglakerok

BaseModel.__init__() takes 1 positional argument but 2 were given как решить?

from aiogram.types import ReplyKeyboardMarkup, KeyboardButton

btnCreator = KeyboardButton('Создатель')
btnProfile = KeyboardButton('Профиль')

mainMenu = ReplyKeyboardMarkup(resize_keyboard = True)
mainMenu.add(btnCreator,btnProfile)

При запуске бота выдает ошибку:
btnProfile = KeyboardButton('Профиль')
^^^^^^^^^^^^^^^^^^^^^^^^^
TypeError: BaseModel.__init__() takes 1 positional argument but 2 were given
  • Вопрос задан
  • 4358 просмотров
Решения вопроса 1
@Everything_is_bad
Да как вы надели с таким подходом, почему вы не пытаетесь вникнуть в текст ошибки, почему вы сначала не открываете документацию и не читаете описание параметров.
Вот открываем доки https://docs.aiogram.dev/en/latest/api/types/keybo... и что мы там видим, правильно там именнованые аргументы, ты эту основу языка хотя бы понимаешь?
Ответ написан
Пригласить эксперта
Ответы на вопрос 1
@versus450
Everything_is_bad , брат, понимаю, что достали, надоели и т.п. Но плиз, скажи в чем дело. у меня такая же ошибка.
сначала executor не импортируется. aiogram 3.3 версии. пробовал и другие устанавливать не выходит. пробовал через aiogram.types импортировать, всё то же самое.

import logging
from aiogram import Bot, Dispatcher, types, executor
import markups as nav

TOKEN = '==========='

logging.basicConfig(level=logging.INFO)


bot = Bot(token=TOKEN)
dp = Dispatcher(bot)

@dp.message_handler(commands=['start'])
async def start(message: types.Message):
    if message.chat.type == 'private':
        await bot.send_message(message.from_user.id, f'Привет, {message.from_user.first_name} {message.from_user.last_name}! \nТы запустил бота регистрации сотрудников! \nЧтобы продолжить, тебе нужно подписаться на наш канал', reply_markup=nav.profileKeyboard)


@dp.message_handler()
async def bot_message(message: types.Message):
    if message.chat.type == 'private':
        if message.text == 'ПРОФИЛЬ':
            await bot.send_message(message.from_user.id, "Типа информация о профиле")

        else:
            await bot.send_message(message.from_user.id, 'ХЗ что ты сейчас сказал')


if __name__ == '__main__':
    executor.start_polling(dp, skip_updates = True)


Traceback (most recent call last):
File "C:\Users\Lenovo\PycharmProjects\registrator_bot\venv\main.py", line 2, in
from aiogram import Bot, Dispatcher, types, executor
ImportError: cannot import name 'executor' from 'aiogram' (C:\Users\Lenovo\PycharmProjects\registrator_bot\venv\Lib\site-packages\aiogram\__init__.py)

удаляю из импорта executor, выдает ошибку которую ниже указал.

а это код файла в котором создавал меню

from aiogram.types import ReplyKeyboardMarkup, KeyboardButton, InlineKeyboardMarkup, InlineKeyboardButton

btnProfile = KeyboardButton('ПРОФИЛЬ')
profileKeyboard = ReplyKeyboardMarkup(resize_keyboard = True).add(btnProfile)


Traceback (most recent call last):
File "C:\Users\Lenovo\PycharmProjects\registrator_bot\venv\main.py", line 3, in
import markups as nav
File "C:\Users\Lenovo\PycharmProjects\registrator_bot\venv\markups.py", line 3, in
btnProfile = KeyboardButton('ПРОФИЛЬ')
^^^^^^^^^^^^^^^^^^^^^^^^^
TypeError: BaseModel.__init__() takes 1 positional argument but 2 were given

только начал изучать, а уже в ступоре. Помомги пожалуйста!
Ответ написан
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Похожие вопросы