Не понимаю в чем проблема? Python - Aiogram 2.Х

Все проверил, вроде никаких ошибок нет, но при запуске бота консоль выводит ошибку: TypeError: TelegramObject.init() takes from 1 to 2 positional arguments but 3 were given И останавливает бота

Код:


bot = Bot('7050598142:AAF5nMpCiwV43J2kC8WpIEADU8CM_KwSsfE')
dp = Dispatcher(bot)


@dp.message_handler(commands=['start'])
async def start(message: types.Message):
    await message.answer(
        '<b>? Добро пожаловать в предложку В Кирове любят.</b>\n✨ Можешь кидать сюда свое предложение и '
        'администраторы сразу его запостят в канал!',
        parse_mode='html')


@dp.message_handler(commands=['id'])
async def iduser(message: types.Message):
    await message.answer(f"<b>? Твой ID-телеграмма: {message.from_user.id}</b>", parse_mode='html')


@dp.message_handler(content_types=['any'])
async def go(message: types.Message):
    with open('config.py', 'r') as f:
        a = f.readline()
    b = int(a)
    b += 1
    with open('config.py', 'w+') as f:
        f.write(str(b))
    username = message.from_user.username
    markup = types.InlineKeyboardMarkup()
    markup2 = types.InlineKeyboardMarkup()
    btn1 = types.InlineKeyboardButton('✅ Одобрить', callback_data='accept')
    btn2 = types.InlineKeyboardButton(f'? Информация о заявке', callback_data='info')
    btn3 = types.InlineKeyboardButton(f'? Перейти в профиль', url=f'https://t.me/{username}')
    markup.row(btn1)
    markup2.row(btn2, btn3)
    if message.chat.type == 'private':
        if message.text:
            await message.bot.send_message('-1002031746023',
                                           f'? Заявка #{b}\n? Профиль отправителя\n? Информация о заявке',
                                           reply_markup=markup2)
            await message.bot.send_message('-1002031746023', f"<b>{message.text}</b>", reply_markup=markup,
                                           parse_mode='html')
            await message.answer(f"<b>? Ваше предложение отправлено на проверку, ожидайте публикации в канале!</b>",
                                 parse_mode='html')
        if message.video:
            if message.caption is not None:
                await message.bot.send_message('-1002031746023',
                                               f'? Заявка #{b}\n? Профиль отправителя\n? Информация о заявке',
                                               reply_markup=markup2)
                await message.bot.send_video('-1002031746023', f'{message.video.file_id}',
                                             caption=f'<b>{message.caption}</b>', reply_markup=markup,
                                             parse_mode='html')
                await message.answer(f"<b>? Ваше предложение отправлено на проверку, ожидайте публикации в канале!</b>",
                                     parse_mode='html')
            else:
                await message.answer(f'{message}')
                await bot.send_message('-1002031746023',
                                       f'? Заявка #{b}\n? Профиль отправителя\n? Информация о заявке',
                                       reply_markup=markup2)
                await message.bot.send_video('-1002031746023', f'{message.video.file_id}', reply_markup=markup)
                await message.answer(f"<b>? Ваше предложение отправлено на проверку, ожидайте публикации в канале!</b>",
                                     parse_mode='html')
        if message.photo:
            if message.caption is not None:
                await message.bot.send_message('-1002031746023',
                                               f'? Заявка #{b}\n? Профиль отправителя\n? Информация о заявке',
                                               reply_markup=markup2)
                await message.bot.send_photo('-1002031746023', f"{message.photo[0].file_id}",
                                             f'<b>{message.caption}</b>', reply_markup=markup, parse_mode='html')
                await message.answer(f"<b>? Ваше предложение отправлено на проверку, ожидайте публикации в канале!</b>",
                                     parse_mode='html')
            else:
                await message.bot.send_message('-1002031746023',
                                               f'? Заявка #{b}\n? Профиль отправителя\n? Информация о заявке',
                                               reply_markup=markup2)
                await message.bot.send_photo('-1002031746023', f"{message.photo[0].file_id}", reply_markup=markup)
                await message.answer(f"<b>? Ваше предложение отправлено на проверку, ожидайте публикации в канале!</b>",
                                     parse_mode='html')


@dp.callback_query_handler()
async def callback(call):
    forward_date = call.message.date
    formatted_date = forward_date.strftime("%Y-%m-%d")
    formatted_time = forward_date.strftime("%H:%M:%S")
    markup2 = types.InlineKeyboardMarkup()
    btn1 = types.InlineKeyboardButton(f'✅ Заявка одобрена', callback_data='info1')
    markup2.row(btn1)
    if call.data == 'accept':
        if call.message.photo:
            if call.message.caption is not None:
                await bot.send_photo('-1002069697182', f'{call.message.photo[0].file_id}', f'{call.message.caption}')
                await call.message.edit_reply_markup(markup2)
            else:
                await bot.send_photo('-1002069697182', f'{call.message.photo[0].file_id}')
                await call.message.edit_reply_markup(markup2)
        if call.message.video:
            if call.message.caption is not None:
                await bot.send_video('-1002069697182', f'{call.message.video.file_id}',
                                     caption=f'{call.message.caption}')
                await call.message.edit_reply_markup(markup2)
            else:
                await bot.send_video('-1002069697182', f'{call.message.video.file_id}')
                await call.message.edit_reply_markup(markup2)
        if call.message.text:
            await bot.send_message('-1002069697182', f'{call.message.text}')
            await call.message.edit_reply_markup(markup2)
    if call.data == 'info1':
        await bot.answer_callback_query(callback_query_id=call.id, text=f'Заявка уже одобрена!', show_alert=False)
    if call.data == 'info':
        await bot.answer_callback_query(callback_query_id=call.id,
                                        text=f'Дата отправки: {formatted_date} {formatted_time}', show_alert=True)


if __name__ == "__main__":
    # Запуск бота
    executor.start_polling(dp, skip_updates=True)

Ответы (1 шт):

Автор решения: tiovi

Методы send_photo, send_message и send_video. Обратите внимание какое количество аргументов и в каком порядке вы их передаете.

В send_photo передается два аргумента: chat id и video id. В send_video также два аргумента: chat id и video id. А вот в send_message есть несколько вызовов, которые передают разное количество аргументов, что вызывает ошибку.

Вызовы send_message:

  1. chat id, text, button
  2. Тут, если сообщение = видео, передается уже 4 аргумента: chat id, video id, message.caption и button
  3. Тут аналогично с предыдущим пунктом, если сообщение = фото, вы так же передаете 4 аргумента.

И в последнем вызове send_message вы передаете всего 1 аргумент - chat id - также вызывает ошибку

Также рекомендую удалить бота и сделать новый - для замены токена, ведь его не следует кому-либо давать и тем более оставлять в открытом доступе.

→ Ссылка