запустить приложение-пример в котором несколько ботов управляются одним кодом. на ветке 3+
Спасибо, извините если не по теме
import logging
from aiogram import Bot, Dispatcher, types
import asyncio
# Ваши токены ботов (добавьте все токены сюда)
BOT_TOKENS = [
'token1',
'token2:',
# Добавьте токены для всех ваших ботов
]
async def on_start(message: types.Message):
await message.answer("Привет! Это бот номер {}".format(BOT_TOKENS.index(message.bot.token) + 1))
async def main():
logging.basicConfig(level=logging.INFO) # Настройте логирование здесь
# Создаем и настраиваем ботов и диспетчеров для каждого бота
bots = []
for token in BOT_TOKENS:
bot = Bot(token=token)
dp = Dispatcher(bot)
dp.register_message_handler(on_start, commands=['start'])
bots.append((bot, dp))
# Запускаем ботов
tasks = [bot.start_polling(dp) for bot, dp in bots]
await asyncio.gather(*tasks)
if __name__ == '__main__':
loop = asyncio.get_event_loop()
loop.run_until_complete(main())
loop.run_forever()
простой эхо бот нужен. в который условно динамически можно добавлять много ботов.
Стикер
Добавил monospaced
print("вот так надо")
https://github.com/aiogram/aiogram/blob/dev-3.x/examples/multibot.py вот тебе пример мультибота, их делают не на пулинге а на вебхуках
Как добавить подсветку кода?
и обновится до бета версии
Или лыжи не едут, я вижу тут запуск второго бота который явно прописан в коде — other_bots
Бета версия десктоп клиента?
Кто поможет за донейшн? Я туплю
Тільки за донат на Збройні Сили України
Мне все равно. Воспользуйся по своему усмотрению
На телефоні тоже бета вийшла з цим
Скинешь пример?)
Тільки після твого донату
Сделайте класс, который отвечает за всю логику бота В конструкторе передавайте токен И запускайте их асинхронно Для дополнительного управления складывайте их в списочек
Раскидай в разные потоки, чтобы в каждом был свой Event Loop
Если у вас более одного асинкио лупа в проге, с вероятностью 99.99% вы делаете херню
Можете привести пример кода?
Мне нужен пример кода… сможете помочь? Вот тут как-будто не то? Второй бот прописан руками? https://github.com/aiogram/aiogram/blob/dev-3.x/examples/multibot.py
Кмк управление нескольких ботов через один процесс - в принципе плохая идея
Мне нужно много ботов. Типа 20 ботов которые создали юзеры Но во всех можно играть в морской бой База единая Вот задача моя
Я не шарю за Питон Вот, могу предложить реализацию от ChatGPT from aiogram import Bot, Dispatcher, types import asyncio class MyBot: def __init__(self, token): self.bot = Bot(token=token) self.dp = Dispatcher(self.bot) self.dp.register_message_handler(self.on_start, commands=['start']) async def on_start(self, message: types.Message): await message.answer(f"Привет! Это бот номер {BOT_TOKENS.index(self.bot.token) + 1}") async def start_polling(self): await self.dp.start_polling() async def main(): logging.basicConfig(level=logging.INFO) # Настройте логирование здесь # Создаем и настраиваем ботов и диспетчеров для каждого бота bots = [] for token in BOT_TOKENS: bots.append(MyBot(token)) # Запускаем ботов tasks = [bot.start_polling() for bot in bots] await asyncio.gather(*tasks) if __name__ == '__main__': loop = asyncio.get_event_loop() loop.run_until_complete(main()) loop.run_forever()
Я мучал джпт очень долго. теперь библиотека aiogram 3 а он знает какую-то старую... и для мултибота поллниг не подходит. короче этот код от джпт не запускается совсем. она по кругу начинает менять код с одними и темиже ошибками.
Бред какой-то. Больше так не делац
латна. Не бейте
Traceback (most recent call last): File "/home/iris/dev/test_code/1.py", line 37, in <module> loop.run_until_complete(main()) File "/usr/lib/python3.9/asyncio/base_events.py", line 642, in run_until_complete return future.result() File "/home/iris/dev/test_code/1.py", line 29, in main bots.append(MyBot(token)) File "/home/iris/dev/test_code/1.py", line 14, in init self.dp = Dispatcher(self.bot) TypeError: init() takes 1 positional argument but 2 were given @makrotos
Не используй жпт https://mastergroosha.github.io/aiogram-3-guide/ https://docs.aiogram.dev/en/latest/
Обсуждают сегодня