Показать сообщение отдельно

  #5  
Старый 03.02.2026, 09:52
triazovkirill
Новичок
Регистрация: 18.01.2026
Сообщений: 5
С нами: 169986

Репутация: 3
По умолчанию

Цитата:
Сообщение от riverya4life  

Привет Кирюха, для тебя специально настрочил, коряво конечно, но работает:

Python:





Код:
import
re
{
"ban_words"
:
[
"чучмек*"
,
# чучмеки, чучмеку и т.д.
"гeю*"
,
# геюга к примеру
"негр*"
,
# негры, негритосики, негру и т.д.
]
}
# условно хранишь слова в json там где то
def
prepare_pattern
(
word
:
str
)
-
>
re
.
Pattern
:
word
=
word
.
lower
(
)
if
word
.
endswith
(
"*"
)
:
base
=
re
.
escape
(
word
[
:
-
1
]
)
pattern
=
rf'\b{base}[а-яёa-z]*\b'
else
:
pattern
=
rf'\b{re.escape(word)}\b'
return
re
.
compile
(
pattern
,
re
.
IGNORECASE
|
re
.
UNICODE
)
ban_patterns
=
[
prepare_pattern
(
w
)
for
w
in
ban_words
]
def
contains_banned
(
text
:
str
)
-
>
bool
:
return
any
(
pat
.
search
(
text
)
for
pat
in
ban_patterns
)


Ну или вот так, как у меня в боте было с автомодом, самый ахуенный:

Python:





Код:
import
re

BAN_WORDS
=
[
"чучмек*"
,
# чучмеки, чучмеку и т.д.
"гeю*"
,
# геюга к примеру
"негр*"
,
# негры, негритосики, негру и т.д.
]
PATTERNS
=
[
re
.
compile
(
rf'\b{re.escape(w[:-1] if w.endswith("*") else w)}'
rf'{"[а-яёa-z]*" if w.endswith("*") else ""}\b'
,
re
.
IGNORECASE
|
re
.
UNICODE
)
for
w
in
map
(
str
.
lower
,
BAN_WORDS
)
]
def
is_banned
(
text
:
str
)
-
>
bool
:
return
any
(
p
.
search
(
text
)
for
p
in
PATTERNS
)

меня кто то знает, ничего себе, а это не ты мне помогал с музыкальным ботом? Спасибо за код
 
Ответить с цитированием