adicionado configuração de modo de processamento de mensagens apenas em grupos ou grupos e privado
This commit is contained in:
parent
69cb3b1965
commit
eeffecb091
11
main.py
11
main.py
@ -87,6 +87,17 @@ async def transcreve_audios(request: Request):
|
||||
)
|
||||
return {"message": "Mensagem não autorizada para processamento"}
|
||||
|
||||
# Verificação do modo de processamento (grupos/todos)
|
||||
process_mode = storage.get_process_mode()
|
||||
is_group = "@g.us" in remote_jid
|
||||
|
||||
if process_mode == "groups_only" and not is_group:
|
||||
storage.add_log("INFO", "Mensagem ignorada - modo apenas grupos ativo", {
|
||||
"remote_jid": remote_jid,
|
||||
"process_mode": process_mode
|
||||
})
|
||||
return {"message": "Modo apenas grupos ativo - mensagens privadas ignoradas"}
|
||||
|
||||
if from_me and not dynamic_settings["PROCESS_SELF_MESSAGES"]:
|
||||
storage.add_log("INFO", "Mensagem própria ignorada", {
|
||||
"remote_jid": remote_jid
|
||||
|
24
manager.py
24
manager.py
@ -486,6 +486,27 @@ def manage_settings():
|
||||
key="process_self_messages"
|
||||
)
|
||||
|
||||
st.subheader("🔄 Modo de Processamento")
|
||||
# Obter o modo atual do Redis
|
||||
current_mode = get_from_redis("process_mode", "all")
|
||||
# Definir as opções e seus rótulos
|
||||
mode_options = ["all", "groups_only"]
|
||||
mode_labels = {
|
||||
"all": "Todos (Grupos e Privado)",
|
||||
"groups_only": "Apenas Grupos"
|
||||
}
|
||||
# Calcular o índice atual baseado no valor do Redis
|
||||
current_index = mode_options.index(current_mode) if current_mode in mode_options else 0
|
||||
|
||||
process_mode = st.selectbox(
|
||||
"Processar mensagens de:",
|
||||
options=mode_options,
|
||||
format_func=lambda x: mode_labels[x],
|
||||
index=current_index,
|
||||
key="process_mode",
|
||||
help="Escolha se deseja processar mensagens de todos os contatos ou apenas de grupos"
|
||||
)
|
||||
|
||||
# Configuração de idioma
|
||||
st.markdown("---")
|
||||
st.subheader("🌐 Idioma")
|
||||
@ -594,6 +615,9 @@ def manage_settings():
|
||||
# Salvar configuração de idioma
|
||||
save_to_redis("TRANSCRIPTION_LANGUAGE", selected_language)
|
||||
|
||||
# Salvamento do modo de processamento
|
||||
save_to_redis("process_mode", process_mode)
|
||||
|
||||
st.success("✅ Todas as configurações foram salvas com sucesso!")
|
||||
|
||||
# Mostrar resumo
|
||||
|
@ -213,4 +213,8 @@ class StorageHandler:
|
||||
def save_message_settings(self, settings: dict):
|
||||
"""Salva as configurações de mensagens."""
|
||||
for key, value in settings.items():
|
||||
self.redis.set(self._get_redis_key(key), str(value))
|
||||
self.redis.set(self._get_redis_key(key), str(value))
|
||||
|
||||
def get_process_mode(self):
|
||||
"""Retorna o modo de processamento configurado"""
|
||||
return self.redis.get(self._get_redis_key("process_mode")) or "all"
|
Loading…
Reference in New Issue
Block a user