Skip to content

Commit

Permalink
Fix: MessageEditor crashes script when returns None
Browse files Browse the repository at this point in the history
  • Loading branch information
DUB1401 committed Aug 15, 2023
1 parent cf518e2 commit 6c9fbb1
Show file tree
Hide file tree
Showing 2 changed files with 14 additions and 12 deletions.
3 changes: 2 additions & 1 deletion MessageEditor.py
Original file line number Diff line number Diff line change
Expand Up @@ -7,11 +7,12 @@
#==========================================================================================#
# Для обработки постов в зависимости от источника можно использовать условие с переменной Source, соответствующей его названию.
#==========================================================================================#

# Обрабатывает полученные из ВКонтакте посты пользовательским скриптом перед отправкой в Telegram. Если вернуть None, пост будет проигнорирован.
def MessageEditor(Post: str, Source: str) -> str | None:

#==========================================================================================#
# Поместите сюда код редактора постов.
#==========================================================================================#

return Post
23 changes: 12 additions & 11 deletions Source/Callback.py
Original file line number Diff line number Diff line change
Expand Up @@ -234,20 +234,21 @@ def __SendMessage(self, PostObject: dict, Source: str):
# Обработка текста поста пользовательским скриптом.
PostObject["text"] = MessageEditor(PostObject["text"], Source)

# Если включена очистка тегов, то удалить упоминания из них.
if self.__Settings["clean-tags"] == True:
PostObject["text"] = self.__CleanTags(PostObject["text"])
# Если сообщение не игнорируется.
if PostObject["text"] != None and PostObject["text"] != "" and HasBlacklistWords == False:

# Если включена очистка тегов, то удалить упоминания из них.
if self.__Settings["clean-tags"] == True:
PostObject["text"] = self.__CleanTags(PostObject["text"])

# Для каждого запрещённого слова проверить соответствие словам поста.
for ForbiddenWord in self.__Settings["blacklist"]:
for Word in PostObject["text"].split():
# Для каждого запрещённого слова проверить соответствие словам поста.
for ForbiddenWord in self.__Settings["blacklist"]:
for Word in PostObject["text"].split():

# Если пост содержит запрещённое слово, то игнорировать его.
if ForbiddenWord.lower() == Word.lower():
HasBlacklistWords = True
# Если пост содержит запрещённое слово, то игнорировать его.
if ForbiddenWord.lower() == Word.lower():
HasBlacklistWords = True

# Если сообщение не игнорируется.
if PostObject["text"] != None and PostObject["text"] != "" and HasBlacklistWords == False:
# Обрезка текста поста до максимально дозволенной длинны.
PostObject["text"] = PostObject["text"][:4096]
# Копирование текста из поста в сообщение.
Expand Down

0 comments on commit 6c9fbb1

Please sign in to comment.