Задать вопрос
@areaLEONHART

Как объеденить двух aiogram ботов?

main.py:
import sys
import os
import asyncio
import os
from aiogram import Bot, Dispatcher
from dotenv import load_dotenv
from pathlib import Path

# Настройка путей
BASE_DIR = Path(__file__).parent.resolve()

# Добавляем необходимые пути для импортов
sys.path.extend([
    str(BASE_DIR),                      # Корень проекта
    str(BASE_DIR / "easyBot"),          # Первый бот
    str(BASE_DIR / "PhotoToTextBot")    # Второй бот
])

# Загрузка переменных окружения из обоих .env файлов
load_dotenv("easyBot/.env")
TOKEN_1 = os.getenv("TOKEN")

load_dotenv("PhotoToTextBot/.env")
TOKEN_2 = os.getenv("TOKEN")

# Импортируйте роутеры для каждого бота
from easyBot.handlers import start as easybot_start
from easyBot.handlers import user_group as easybot_user_group

from PhotoToTextBot.handlers import start as photototext_start
from PhotoToTextBot.handlers import flashcards as photototext_flashcards
from PhotoToTextBot.handlers import settings_handlers as photototext_settings

# Создайте два экземпляра бота с разными токенами
bot1 = Bot(token=TOKEN_1)
dp1 = Dispatcher()
bot2 = Bot(token=TOKEN_2)
dp2 = Dispatcher()

# Регистрируем роутеры для каждого диспетчера
dp1.include_router(easybot_start.router)
dp1.include_router(easybot_user_group.user_group_router)

dp2.include_router(photototext_start.router)
dp2.include_router(photototext_flashcards.fc_router)
dp2.include_router(photototext_settings.settings_router)

async def main():
    await asyncio.gather(
        dp1.start_polling(bot1),
        dp2.start_polling(bot2)
    )

if __name__ == "__main__":
    asyncio.run(main())


Traceback (most recent call last):
File "C:\Users\32165\OneDrive\Рабочий стол\easyBot\main.py", line 27, in
from easyBot.handlers import start as easybot_start
File "C:\Users\32165\OneDrive\Рабочий стол\easyBot\easyBot\handlers\start.py", line 6, in
from filters.chat_type import ChatTypeFilter
ModuleNotFoundError: No module named 'filters.chat_type'

start.py (в easyBot):
import os
from aiogram import Router, F
from aiogram.filters import CommandStart, Command
from aiogram.types import Message, CallbackQuery
from yoomoney import Quickpay, Client
from filters.chat_type import ChatTypeFilter
import keyboards.all_keyboards as kb  # Импортированный модуль клавиатур
import uuid
from db import db  # Импорт функций для работы с базой данных
from dotenv import load_dotenv

# Загрузка переменных окружения из файла .env
load_dotenv()

...


router = Router()
  • Вопрос задан
  • 17 просмотров
Подписаться 1 Простой Комментировать
Пригласить эксперта
Ответы на вопрос 1
@areaLEONHART Автор вопроса
682e5897dc9c2452857066.png
Ответ написан
Комментировать
Ваш ответ на вопрос

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

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