telegram-ru / ru-bot

Geek Repo:Geek Repo

Github PK Tool:Github PK Tool

Заносить в черный список ссылки на каналы и группы при !спам

sergeysova opened this issue · comments

commented

#3
При ответе !спам на сообщение содержащее ссылку на канал, добавлять пользователя и ссылку на канал в черный список.

Оповещать о добавлении в черный список.

https://core.telegram.org/bots/api#messageentity

commented

Не понятно как из MessageEntity вынуть id чата/канала.

Конечно можно закидывать целиком url

Есть предположение, что команда getChat(), принимает на входе еще и строку в формате @channelname и из ответа на него уже можно будет взять реальный id канала

commented

@Fl0pZz по приватной ссылке на канал/чат так не получится

> ссылку на канал в черный список.

Необходимо рассмотреть несколько возможных ситуаций:

  1. Когда в сообщении несколько ссылок
  2. Когда в сообщении есть ссылки, которые не должны быть забанены. Примером такого сообщения может быть ответ:
    Ответ поищи тут https://t.me/js_ru, а битки можно купить тут *какой-то спамлинк*
  3. Развитие пунтка 2, когда сообщения имеют еще и md разметку:
    Ответ поищи тут [https://t.me/js_ru](*какой-то спамлинк*) , а битки можно купить тут *какой-то спамлинк*

Соответсвенно только белый список проблему сообщений пункта 3 не решит, потому что под первой ссылкой может быть ссылка на яндекс или вики, а поддерживать белый список будет не просто. Или же наоборот будет добавться редиректовая ссылка с яндекс поиска, а не прямая. Или же ссылка на bitly.

Возможное решение заключается в том, что белый список состоит только из ссылок на чаты из нашей коалиции, а на !спам бот должен добавлять сообщение с кнопками:

  • Все возможные ссылки из сообщения (убирая дубликаты)
  • Кнопку "Готово"
  • В теле сообщения так же долже содержаться отчет о том, какие из ссылок уже в спамлисте
  • Выбор осуществляет тот, кто вызвал команду !спам
  • В логах доллжна появиться отдельная запись о блокировании ссылки или канала
commented

@Fl0pZz хорошее предложение. Можно также ходить по сокращенным ссылкам.