Добро пожаловать на мой новый видеоурок на YouTube, где я подробно рассмотрю создание бота на aiogram, который будет автоматически принимать заявки на вступление в ваш Telegram канал. Мы разберем каждый шаг – от создания телеграм бота до обработки заявок и подачи их в канал.
В этом видеоуроке я покажу вам, как использовать Python и библиотеку aiogram для создания мощного и гибкого бота в Telegram. Мы начнем с создания телеграм бота и его настройки, а затем перейдем к обработке заявок на вступление.
Вы узнаете, как настроить команды и обработчики для бота, чтобы он мог принимать заявки от пользователей. Я покажу вам, как хранить и обрабатывать информацию о заявках, а также как отправлять уведомления и подтверждения пользователю.
import contextlib
import asyncio
from aiogram.types import ChatJoinRequest
from aiogram import Bot, Dispatcher, F
import logging
BOT_TOKEN = '5662047139:ABCDEFGHIJKLMNOPQRSTUVWXYZ'
CHANNEL_ID = -1001743627426
ADMIN_ID = 5528605206
async def approve_request(chat_join: ChatJoinRequest, bot: Bot):
msg = f'<b>🔥 Рад приветствовать тебя в самом лучшем канале на свете.</b>\r\n\r\n' \
f'👍 Спасибо за подписку. Теперь мы точно ничего интересного не пропустишь.\r\n\r\n' \
f'⏱ Уже через 5 минут в канале будет новый пост. До скорого!'
await bot.send_message(chat_id=chat_join.from_user.id, text=msg)
await chat_join.approve()
async def start():
logging.basicConfig(level=logging.DEBUG,
format="%(asctime)s - [%(levelname)s] - %(name)s - "
"(%(filename)s).%(funcName)s(%(lineno)d) - %(message)s"
)
bot: Bot = Bot(token=BOT_TOKEN, parse_mode='HTML')
dp = Dispatcher()
dp.chat_join_request.register(approve_request, F.chat.id ==CHANNEL_ID)
try:
await dp.start_polling(bot, allowed_updates=dp.resolve_used_update_types())
except Exception as ex:
logging.error(f'[Exception] - {ex}', exc_info=True)
finally:
await bot.session.close()
if __name__ == '__main__':
with contextlib.suppress(KeyboardInterrupt, SystemExit):
asyncio.run(start())













