Чтобы исключить строку, если в ней есть вхождение "_bot", нужно добавить отрицательное lookahead утверждение перед тем, как захватывать часть строки. Вот обновленное регулярное выражение:
@(?:t|tg|telegram)(?:\.|:/)(?:me|dog|)/(?:\+|joinchat/|join\?invite=)?(?!. * _bot)([\w-]+)@gm
Объяснение изменений:
- Добавлен блок (?!. * _bot) перед захватом части строки в группу. Этот блок является негативным lookahead утверждением, которое означает "не может быть истинным, что после текущего положения в строке следует '_bot'". Таким образом, если '_bot' присутствует в строке, то весь блок не может быть совпадением, и группа не будет захвачена.