Giter Club home page Giter Club logo

Comments (11)

khoben avatar khoben commented on July 25, 2024

Пересылка с заданными словами это почти тоже самое, что SkipWithKeywordsFilter, но нужно сделать обратное условие. Если не найдено, то не пересылать:

async def _process_message(
   self, message: EventMessage, event_type: Type[EventLike]
) -> Tuple[bool, EventMessage]:
   return self._lookup_regex.search(message.message) is not None, message

from telemirror.

khoben avatar khoben commented on July 25, 2024

Для нечеткого поиска нужно убрать \b (self.BOUNDARY_REGEX) из регулярного выражения.

from telemirror.

khoben avatar khoben commented on July 25, 2024

Еще видел, что в предыдущих релизах у тебя фильтр прикручивался к конкретному каналу. Можно ли вернуть данную опцию? А то для нескольких каналов с разными ключевыми словами надо будет запускать несколько версий программы.

Теперь фильтры прикручиваются к связке источник-целевой канал, не нужно запускать несколько версий.

from telemirror.

T4eslenko avatar T4eslenko commented on July 25, 2024

Теперь фильтры прикручиваются к связке источник-целевой канал, не нужно запускать несколько версий.

А как повесить разные фильтры на разные каналы?

Можно ли при конфигурации SkipWithKeywordsFilter через одну строку задать несколько слов для фильтрации?

Спасибо

from telemirror.

khoben avatar khoben commented on July 25, 2024

Теперь фильтры прикручиваются к связке источник-целевой канал, не нужно запускать несколько версий.

А как повесить разные фильтры на разные каналы?

Можно ли при конфигурации SkipWithKeywordsFilter через одну строку задать несколько слов для фильтрации?

Спасибо

Для каждого направления можно задать свои фильтры:

directions:
  - from: [-1001, -1002, -1003]
    to: [-100203]
    filters:
      - AllowWithKeywordsFilter:
          keywords: !!set
            ? "allowword1"
            ? "allowword12"
          lookup_whole_word: false
      - SkipWithKeywordsFilter:
          keywords: !!set
            ? "stopword1"
          lookup_whole_word: false

  - from: [-1000#3] # forwards from topic to topic
    to: [-1001#4]
    filters:
      - AllowWithKeywordsFilter:
          keywords: !!set
            ? "allowword2"
      - SkipWithKeywordsFilter:
          keywords: !!set
            ? "stopword2"
          lookup_whole_word: true
          

  - from: [-100226]
    to: [-1006, -1008]
    filters:
      - AllowWithKeywordsFilter:
          keywords: !!set
            ? "allowword2"
      - SkipWithKeywordsFilter:
          keywords: !!set
            ? "stopword3"
          lookup_whole_word: true

Добавил фильтр AllowWithKeywordsFilter, который как раз будет пересылать только те сообщения, в которых встретяться нужны слова. И lookup_whole_word параметр, который если установить в false будет производить "нечеткий" поиск.

from telemirror.

T4eslenko avatar T4eslenko commented on July 25, 2024

Отлично, спасибо. Насколько понял, сконфигурировать через одну строку не получится?

from telemirror.

khoben avatar khoben commented on July 25, 2024

Отлично, спасибо. Насколько понял, сконфигурировать через одну строку не получится?

Можно в переменную окружения YAML_CONFIG_ENV запихать весь конфиг

with open("./.configs/mirror.config.yml", encoding="utf-8") as f:
    content = f.read().replace("\n", "\\n")
print(content)

from telemirror.

khoben avatar khoben commented on July 25, 2024

Отлично, спасибо. Насколько понял, сконфигурировать через одну строку не получится?

Если речь шла про фильтр, то не совсем понимаю зачем именно через одну строку задавать слова? Но можно и одной строкой, сделав свой фильтр. Например, перечислить через запятую, а потом в конструкторе уже нарезать на массив.

from telemirror.

T4eslenko avatar T4eslenko commented on July 25, 2024

мне переделывали для запуска из под докера, почему-то не читался yml-config. Сейчас поправят, так что все гуд. Еще раз спасибо за крутейшую программу!!!

from telemirror.

T4eslenko avatar T4eslenko commented on July 25, 2024

Привет. А можно ли компоновать фильтры? Например, skip текст в котором содержатся два (несколько) словосочетаний и "Прыемнай раніцы!" AND "адбудуцца наступныя мерапрыемствы." ? Спасибо

from telemirror.

khoben avatar khoben commented on July 25, 2024

Можно попробовать задать у фильтра параметр regex равным True и словом будет регулярное выражение.

Попробуй одно из этих:

(first.*second|second.*first)

(?=.*first)(?=.*second)

from telemirror.

Related Issues (20)

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.