@ID6
Держитесь подальше от негативных людей

Как связать несколько ботов и функцию с циклом aiogram 2?

У меня есть несколько ботво :
from aiogram import Bot, types

from aiogram.dispatcher import Dispatcher
from aiogram.utils import executor
import asyncio

tokens = ['token1', 'token2']

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

if __name__ == '__main__':
    event_loop = asyncio.get_event_loop()
    
    for token in tokens:
        bot_init(event_loop, token)
        
    event_loop.run_forever()


Также есть
processQueue = []
def startProcessQueue():

while (True):
    for array in processQueue:
        print(array) # вместо этого здесь будут скл запросы
        processQueue.remove(array)


Что бы обьеденить эти два кода я пробовал добавит это
event_loop.create_task(processQueue)) 
    event_loop.run_forever()


Конечно догадывался что не сработает, что так и произошло.
  • Вопрос задан
  • 98 просмотров
Пригласить эксперта
Ответы на вопрос 1
@Everything_is_bad
1. а зачем aiogram 2? это уже неподдерживаемое старье, пиши на 3й версии
2. для мультиботов уходи от start_polling на вебхуки
3. в примерах 3й версии есть как писать мультибота https://github.com/aiogram/aiogram/blob/dev-3.x/ex...
Ответ написан
Ваш ответ на вопрос

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

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