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

Как сделать авто принятие в закрытый Telegram канал на aiogram?

Хочу написать бота который принимает заявки в telegram канал и отправляет вступившему сообщение "Привет".
В интернете наткнулся на такой код:
from aiogram import Bot, Dispatcher, executor, types
from aiogram.contrib.fsm_storage.memory import MemoryStorage

bot = Bot(token="токен")
storage = MemoryStorage()
dp = Dispatcher(bot, storage=storage)


@dp.chat_join_request_handler()
async def start1(update: types.ChatJoinRequest):
    # тут мы принимаем юзера в канал
    await update.approve()
    # а тут отправляем сообщение
    await bot.send_message(chat_id=update.from_user.id, text="текст сообщения бота в лс")

if __name__ == '__main__':
    executor.start_polling(dp, skip_updates=True)

Но при запуске выдаёт ошибку:
Traceback (most recent call last):
  File "c:\Users\egris\Desktop\Telegram\Requests\main.py", line 9, in <module>
    @dp.chat_join_request_handler()
AttributeError: 'Dispatcher' object has no attribute 'chat_join_request_handler'
Exception ignored in: <function BaseBot.__del__ at 0x000002D383E701F0>
Traceback (most recent call last):
  File "C:\Python_3.9.7\lib\site-packages\aiogram\bot\base.py", line 109, in __del__
  File "C:\Python_3.9.7\lib\asyncio\events.py", line 761, in new_event_loop
  File "C:\Python_3.9.7\lib\asyncio\events.py", line 659, in new_event_loop
  File "C:\Python_3.9.7\lib\asyncio\windows_events.py", line 310, in __init__
  File "C:\Python_3.9.7\lib\asyncio\proactor_events.py", line 632, in __init__
ImportError: sys.meta_path is None, Python is likely shutting down
Unclosed client session
client_session: <aiohttp.client.ClientSession object at 0x000002D383F8A400>

Бот добавлен в канал как администратор

Использую:
Python 3.9.7
aiogram 2.8
  • Вопрос задан
  • 1890 просмотров
Подписаться 1 Простой Комментировать
Решения вопроса 1
@Swek09 Автор вопроса
Проблема решилась обновлением aiogram
Ответ написан
Пригласить эксперта
Ваш ответ на вопрос

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

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