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"}
|
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"]:
|
if from_me and not dynamic_settings["PROCESS_SELF_MESSAGES"]:
|
||||||
storage.add_log("INFO", "Mensagem própria ignorada", {
|
storage.add_log("INFO", "Mensagem própria ignorada", {
|
||||||
"remote_jid": remote_jid
|
"remote_jid": remote_jid
|
||||||
|
24
manager.py
24
manager.py
@ -486,6 +486,27 @@ def manage_settings():
|
|||||||
key="process_self_messages"
|
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
|
# Configuração de idioma
|
||||||
st.markdown("---")
|
st.markdown("---")
|
||||||
st.subheader("🌐 Idioma")
|
st.subheader("🌐 Idioma")
|
||||||
@ -594,6 +615,9 @@ def manage_settings():
|
|||||||
# Salvar configuração de idioma
|
# Salvar configuração de idioma
|
||||||
save_to_redis("TRANSCRIPTION_LANGUAGE", selected_language)
|
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!")
|
st.success("✅ Todas as configurações foram salvas com sucesso!")
|
||||||
|
|
||||||
# Mostrar resumo
|
# Mostrar resumo
|
||||||
|
@ -213,4 +213,8 @@ class StorageHandler:
|
|||||||
def save_message_settings(self, settings: dict):
|
def save_message_settings(self, settings: dict):
|
||||||
"""Salva as configurações de mensagens."""
|
"""Salva as configurações de mensagens."""
|
||||||
for key, value in settings.items():
|
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