Задать вопрос
@ArtemMik
Python

Как приветствовать ботом нового пользователя в тг канале?

У меня есть тг бот, который в канале является админом, если пользователь подписался на канал, то бот отправляет приветственное сообщение в канал реплаем.

Код (нерабочий):

@dp.chat_member_handler()
async def on_chat_member_update(update: ChatMemberUpdated):
    if update.chat.id == CHANNEL_ID:
        if update.new_chat_member.status == 'member':  # Пользователь присоединился к каналу
            user_id = update.from_user.id
            user_name = update.from_user.full_name or update.from_user.username

            # Отправляем сообщение пользователю в личные сообщения
            try:
                await bot.send_message(
                    chat_id=user_id,
                    text=f"Привет, {user_name}! Спасибо за подписку на наш канал.\n"
                         f"Чтобы участвовать в лотерее, отправьте команду /start здесь, в личные сообщения."
                )
            except Exception as e:
                print(f"Не удалось отправить сообщение пользователю: {e}")
  • Вопрос задан
  • 121 просмотр
Подписаться 1 Простой Комментировать
Пригласить эксперта
Ответы на вопрос 1
ZERGeich
@ZERGeich
dp.onChatMemberUpdate(
  filters.chatMember('joined'),
  async (upd: ChatMemberUpdate) => {
    await upd.chat.sendText(`${upd.user.mention()}, welcome to the chat!`)
  }
)
Ответ написан
Ваш ответ на вопрос

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

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