Отлов добавления бота в чаты [telebot, aiogram...]

Josski Molodoi

Активный
Автор темы
183
85
Доброго времени бытия. Недавно захотелось разнообразить наш классной чат нормальным прогнозом погоды, а не тем, что сделал я.)) Ну не суть. Добавили бота, он моментально вышел из группы. После его добавления не было написано ни одного сообщения. Каким образом бот без сообщений смог отследить то, что его добавили в чат? Как это можно реализовать в коде на либах telebot или aiogram?

К сожалению автор этого бота счёл нужным проигнорить меня, прочитав моё сообщение.

Безымянный.png
 
Решение
Сейчас не могу предоставить пример кода, но может поймешь на словах.

В aiogram есть декоратор, который отлавливает все сообщения в каналах/группах.
Ты отлавливаешь системные сообщения "приглашения", и дальше уже смотришь, закрытый канал или открытый, ид канала

вот так вроде бы
Код:
@bot.message_handler(content_types=['new_chat_members'])

laiser

Известный
184
90
Сейчас не могу предоставить пример кода, но может поймешь на словах.

В aiogram есть декоратор, который отлавливает все сообщения в каналах/группах.
Ты отлавливаешь системные сообщения "приглашения", и дальше уже смотришь, закрытый канал или открытый, ид канала

вот так вроде бы
Код:
@bot.message_handler(content_types=['new_chat_members'])
 
  • Нравится
Реакции: Josski Molodoi

Josski Molodoi

Активный
Автор темы
183
85
Сейчас не могу предоставить пример кода, но может поймешь на словах.

В aiogram есть декоратор, который отлавливает все сообщения в каналах/группах.
Ты отлавливаешь системные сообщения "приглашения", и дальше уже смотришь, закрытый канал или открытый, ид канала

вот так вроде бы
Код:
@bot.message_handler(content_types=['new_chat_members'])
На telebot сработало отлично, на aiogram пока нет)
 

Josski Molodoi

Активный
Автор темы
183
85
код ля-ля-ля:
@dp.message_handler(content_types=['new_chat_members'])
async def something():
    something_to_do()
В этом случае оно ловит как и должно, когда человека приглашают в группу с ботом.
А мне нужно, чтобы оно ловило когда создают группу с ботом, и ливал с неё.

Я решил это так:

Python:
from aiogram import types
from main import dp, bot

@dp.my_chat_member_handler()
async def my_chat_member(message: types.Message) -> None:
    await bot.leave_chat(message.chat.id)
 
  • Нравится
Реакции: laiser и munnniisss