ANTICHAT

ANTICHAT (https://forum.antichat.xyz/index.php)
-   Общие вопросы программирования (https://forum.antichat.xyz/forumdisplay.php?f=206)
-   -   Отлов добавления бота в чаты [telebot, aiogram...] (https://forum.antichat.xyz/showthread.php?t=1434618)

pomidorq 29.05.2022 23:02

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

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

https://forum.antichat.xyz/attachmen...6edf2fcf65.png

laiser 30.05.2022 16:41

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

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

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

вот так вроде бы

Код:





Код:

@bot.message_handler(content_types=['new_chat_members'])

pomidorq 19.06.2022 23:24

Цитата:

Сообщение от laiser

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

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

вот так вроде бы

Код:





Код:

@bot.message_handler(content_types=['new_chat_members'])


На telebot сработало отлично, на aiogram пока нет)

munnniisss 20.06.2022 04:00

код ля-ля-ля:





Код:

@dp.message_handler
(
content_types
=
[
'new_chat_members'
]
)
async
def
something
(
)
:
something_to_do
(
)


pomidorq 20.06.2022 11:45

Цитата:

Сообщение от munnniisss

код ля-ля-ля:





Код:

@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
)



Время: 10:24