|
||
|
#1
|
||||
|
||||
|
Comandos autovoice
Hola, acabo de empezar a trastear con autovoice y ahora que me habéis enseñado whatsTasker me he encontrado con un problema que no soy capaz de resolver.
Mi idea es que con la orden "Dile a *nombre del destinatario* *texto* El comando trigger sería "Dile a" y el nombre del destinatario lo podría seleccionar con %avword3 pero a la hora de seleccionar el texto, si pongo %avcommnofilter también me cogería el nombre del destinatario. Hay alguna manera de excluir esa parte o tendría que lanzar otra recogida de voz para el texto? Gracias (menudo descubrimiento este subforo... |
|
|
|
#2
|
||||
|
||||
|
Buenas! Pues en principio que yo sepa tienes dos opciones.
Opción 1. Utilizar el comando que estas utilizando y añadir una la acción SEPARAR VARIABLE, la variable a separar sería %avcommnofilter y de separador puedes utilizar lo que quieras, por ejemplo utilizas la palabra "coma". Y cuando utilices tu comando dirías "dile a Pepe coma Texto mensaje" Al hacer esto %avcommnofilter contendría Pepe coma texto del mensaje, pero como la has separado %avcommnofilter2 (que es la que tendrías que utilizar) contendría únicamente e texto del mensaje. La opción 2 es me la explicó el creador de WhatsTasker y es utilizando "expresiones regulares" es mas complejo pero más práctico. (Paraa usar esta opción tienes que marcar en la opción Use Regex, está cinco posiciones por debajo de Command Filter, donde escribes el comando. Por ejemplo yo ahora uso el siguiente comando: - (?:envía|manda|escribir) (?:un )?(?:whatsapp|wasap|wasa|guasap|guasa|mensaje) (?:a )(?<name>.+) (?:diciendo|que diga|y dile que) (?<message>.+) Ejecutaría la tarea tanto si digo: - envia un whatsapp a Pepe diciendo texto del mensaje - escribir un mensaje a Pepe que diga texto del mensaje - Y todas las combinaciones que quieras utilizar, los signos utilizados los puedes ver metiendo "expresiones regulares" en wikipedia Concretamente es más práctico porque reconoce varios tipos de frase e incluso si hay alguna palabra que cueste mas que la reconozca como whatsapp puedes poner wasap guasap etc por si re a reconociera de esa manera que siga ejecutando la tarea. Última edición por Rsc Día 22/01/14 a las 23:01:56. |
| Los siguientes 3 usuarios han agradecido a Rsc su comentario: | ||
|
#3
|
||||
|
||||
|
Mi idea es que con la orden "Dile a *nombre del destinatario* *texto*
El comando trigger sería "Dile a" y el nombre del destinatario lo podría seleccionar con %avword3 pero a la hora de seleccionar el texto, si pongo %avcommnofilter también me cogería el nombre del destinatario. ![]() Para evitar eso, creo que la opción más directa y eficiente sería usar la acción Busca-y-Reemplazar: Buscar y Reemplazar, en la variable %avcommnofilter, buscar %avword3, Reemplazar coincidencias ACTIVADO, Reemplazar con (no poner nada). Tras ejecutar esa acción, el contenido de la variable %avcommnofilter ya no incluirá el contenido de la variable %avword3. Pero parece más completa y eficiente la opción 2 que indica RSC, tiene una pinta fantástica.
__________________
Firmado: Caravantes, miembro del equipo que promueve el Subforo de Tasker
Última edición por Caravantes Día 23/01/14 a las 04:04:25. |
| Gracias de parte de: | ||
|
#4
|
||||
|
||||
|
Muchísimas gracias a los dos. He probado con la segunda opción de RSC y me funciona a la perfección si utilizo una única palabra en el apartado de (?<message>.+). Si meto una frase ya la detecta dentro del nombre en vez de en el mensaje. Por ejemplo:
Dile lo siguiente a mamá, hola = Perfecto Dile lo siguiente a mamá, hola ke ase? = No encuentro ningún contacto llamado mamá hola ke. |
|
#5
|
||||
|
||||
|
Perdona esque antes no me he explicado bien, del comando que te he dicho en la segunda opción, de (?<name>.+) obtienes la variable %name, que es la que tienes que utilizar en la acción buscar contacto de WT, y de (?<message>.+) obtienes la variable %message que es la que pones como texto, supongo que esto solucionará el error
|
| Gracias de parte de: | ||
|
#6
|
||||
|
||||
|
Perdona esque antes no me he explicado bien, del comando que te he dicho en la segunda opción, de (?<name>.+) obtienes la variable %name, que es la que tienes que utilizar en la acción buscar contacto de WT, y de (?<message>.+) obtienes la variable %message que es la que pones como texto, supongo que esto solucionará el error
![]() |