Mail.ruПочтаМой МирОдноклассникиВКонтактеИгрыЗнакомстваНовостиКалендарьОблакоЗаметкиВсе проекты

Помогите исправить ошибку python aiogram

ВАНSh0tnik Знаток (364), на голосовании 2 недели назад
 Traceback (most recent call last): 
File "C:\Users\kusne\Documents\Bot\bot.py", line 8, in <module>
dp = dispatcher(bot)
TypeError: 'module' object is not callable
 from aiogram import Bot, types 
from aiogram.dispatcher import dispatcher

TOKEN = 'не скажу'
bot = Bot(token=TOKEN)
dp = dispatcher(bot)

@dp.message_handler(commands=['start'])
async def process_start_command(message: types.Message):
await message.reply("Привет!\nНапиши мне что-нибудь!")

@dp.message_handler(commands=['help'])
async def process_help_command(message: types.Message):
await message.reply("Напиши мне что-нибудь, и я отпрпавлю этот текст тебе в ответ!")

@dp.message_handler()
async def echo_message(msg: types.Message):
await bot.send_message(msg.from_user.id, msg.text)

if __name__ == '__main__':
dispatcher.start_polling(dp)
Голосование за лучший ответ
Sergio 2.1 Оракул (67645) 1 месяц назад
 from aiogram import Bot, types 
from aiogram.dispatcher import Dispatcher

TOKEN = 'не скажу'
bot = Bot(token=TOKEN)
dp = Dispatcher(bot)

@dp.message_handler(commands=['start'])
async def process_start_command(message: types.Message):
await message.reply("Привет!\nНапиши мне что-нибудь!")

@dp.message_handler(commands=['help'])
async def process_help_command(message: types.Message):
await message.reply("Напиши мне что-нибудь, и я отпрпавлю этот текст тебе в ответ!")

@dp.message_handler()
async def echo_message(msg: types.Message):
await bot.send_message(msg.from_user.id, msg.text)

if __name__ == '__main__':
from aiogram import executor
executor.start_polling(dp, skip_updates=True)
Рустам Абдрашитов Мыслитель (9542) 1 месяц назад
На
  
import os
import logging
from aiogram import Bot, types
from aiogram.dispatcher import Dispatcher
from aiogram.utils import executor
from aiogram.contrib.middlewares.logging import LoggingMiddleware
from aiohttp import ClientSession, TCPConnector
from dotenv import load_dotenv

load_dotenv()

logging.basicConfig(level=logging.ERROR)

TOKEN = os.getenv('BOT_TOKEN')

if not TOKEN:
raise ValueError("Необходимо указать токен бота в переменной окружения BOT_TOKEN")

connector = TCPConnector(limit=50)
session = ClientSession(connector=connector)

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

dp.middleware.setup(LoggingMiddleware(logger=logging.getLogger('aiogram')))

@dp.message_handler(commands=['start'])
async def process_start_command(message: types.Message):
await message.reply("Привет!\nНапиши мне что-нибудь!")

@dp.message_handler(commands=['help'])
async def process_help_command(message: types.Message):
await message.reply("Напиши мне что-нибудь, и я отправлю этот текст тебе в ответ!")

@dp.message_handler()
async def echo_message(msg: types.Message):
try:
await bot.send_message(msg.from_user.id, msg.text)
except Exception as e:
logging.error(f"Ошибка при отправке сообщения: {e}")

async def on_startup(dispatcher):
logging.info("Бот успешно запущен")

async def on_shutdown(dispatcher):
logging.info("Бот успешно остановлен")
await session.close()

if __name__ == '__main__':
try:
executor.start_polling(dp, on_startup=on_startup, on_shutdown=on_shutdown)
except (KeyboardInterrupt, SystemExit):
logging.error("Бот остановлен вручную")
Похожие вопросы