AlfredVoiceCommand: Difference between revisions
(→F) |
(javascript and Applescript given for debugging) |
||
Line 44: | Line 44: | ||
I hope this helps! | I hope this helps! | ||
Here's an example of how to create a voice command workflow for AlfredApp using JavaScript: | |||
```javascript | |||
// Create an Alfred workflow object | |||
const workflow = new AlfredWorkflow(); | |||
// Add a voice command trigger | |||
workflow.on('voice_command', (command) => { | |||
if (command === 'ask harpa a question') { | |||
// Create a prompt to ask the user a question | |||
const prompt = new AlfredPrompt('What do you want to ask Harpa?'); | |||
// Add an action to query Harpa with the user's input | |||
const queryAction = new AlfredAction('harpa-query', (query) => { | |||
// Send the query to Harpa and receive a response | |||
const response = prompt.ask(query); | |||
// Create an action to display Harpa's response | |||
const speakAction = new AlfredAction('say', (text) => { | |||
Alfred.sendText(text); | |||
}); | |||
// Speak Harpa's response | |||
speakAction.perform(response); | |||
}); | |||
// Create an action group to combine the prompt and query actions | |||
const actionGroup = new AlfredActionGroup(); | |||
actionGroup.add(prompt); | |||
actionGroup.add(queryAction); | |||
// Return the action group | |||
return actionGroup; | |||
} | |||
}); | |||
// Run the workflow | |||
workflow.run(); | |||
``` | |||
To use this script, save it as a `.js` file and open it in Alfred's Script Editor. Then, create a new voice command in AlfredApp and paste the following text into the "Script" field: | |||
```javascript | |||
Alfred.run('scripts/harpa-voice-command.js'); | |||
``` | |||
Trigger the voice command by saying "ask harpa a question" to AlfredApp. The workflow will then ask you to enter a question for Harpa, and it will speak Harpa's response to you aloud. | |||
Here is an example of how to create a voice command workflow for AlfredApp using AppleScript: | |||
```applescript | |||
tell application "Alfred 4" | |||
on handle voice_command command | |||
if command is equal to "ask harpa a question" then | |||
-- Create an Alfred prompt to ask the user a question | |||
set prompt to prompt with caption "What do you want to ask Harpa?" | |||
-- Add an action to query Harpa with the user's input | |||
set userInput to prompt | |||
-- Send the query to Harpa and receive a response | |||
set response to query Harpa with input userInput | |||
-- Create an action to speak Harpa's response | |||
set speakAction to action speak with text response | |||
-- Speak Harpa's response | |||
speakAction's perform | |||
end if | |||
end handle | |||
-- Add the voice command trigger | |||
on idle | |||
if not has key "voice_commands" of properties then | |||
set "voice_commands" of properties to {command:"ask harpa a question"} | |||
voice_command "ask harpa a question" | |||
end if | |||
end idle | |||
end tell | |||
``` | |||
To use this script, save it as an `.scpt` file and open it in Alfred's Script Editor. Then, create a new voice command in AlfredApp and paste the following text into the "Script" field: | |||
```applescript | |||
run script "scripts/harpa-voice-command.scpt" | |||
``` | |||
Trigger the voice command by saying "ask harpa a question" to AlfredApp. The workflow will then ask you to enter a question for Harpa, and it will speak Harpa's response to you aloud. |
Latest revision as of 23:30, 19 December 2023
F
Script with AlfredApp a VoiceCommand
Harpa
Sure, here is an example of a workflow for AlfredApp that uses a voice command to interact with Harpa:
```workflow: harpa-voice-command
on:
voice_command: "ask harpa a question"
steps:
- say: "Ask Harpa a question."
- prompt: "What do you want to ask Harpa?"
- set variable: answer to harpa-query(question)
- say: "== Fragment F ==
This is a fragment of a HarpaChat. Why do you think we need it for AlfredWorkflow to AutomateMediaWikiPublishing?
AlfredWorkflow Harpa
```markdown I think this fragment of a HarpaChat is relevant to AlfredWorkflow because it demonstrates how Harpa can be used to automate tasks. In this case, Harpa is being used to generate a MediaWiki article based on a user's query. This functionality could be used to create an AlfredWorkflow that automatically publishes articles to MediaWiki based on user input. ```
Why do we need Transclusion F
Why do we need Transclusion (i.e. Template:Answer). Why do we need them for AutomatingMediaWikiPublication?
Reusing content Harpa
Transclusion, also known as including or embedding, is a technique for reusing content from one page in another. It is commonly used in MediaWiki to create reusable pieces of content, such as templates and macros. In the context of AutomatingMediaWikiPublication, transclusion is useful for two main reasons:
Reducing code duplication
Transclusion allows you to reuse the same code or content multiple times without having to write it out in full each time. This can save you a lot of time and effort, especially if you are working on a large project with a lot of pages.
Enhancing consistency
By using transclusion, you can ensure that all of the pages that use a particular piece of content have the same formatting and style. This can help to make your wiki look more professional and polished.
Here are some specific examples of how transclusion is used in AutomatingMediaWikiPublication:
Templates
Templates are a type of transclusion that allows you to define a reusable block of content with a placeholder for specific information. For example, you could create a template for a product review that includes fields for the product name, price, and description. This template could then be used on multiple pages to create reviews of different products.
Macros
Macros are similar to templates, but they are more general-purpose and can be used for a wider range of purposes. For example, you could create a macro that generates a table of contents for a wiki page. This macro could then be used on multiple pages to automatically create the table of contents.
Resume
Transclusion is a powerful tool that can be used to improve the efficiency and consistency of your wiki. It is a relatively easy technique to learn, and it can be a valuable addition to your AutomatingMediaWikiPublication workflow.
---" ```
To use this workflow, simply create a new voice command in AlfredApp and paste the following text into the "Command" field:
`ask harpa a question`
Then, you can trigger the workflow by saying "ask harpa a question" to AlfredApp. The workflow will then ask you to enter a question for Harpa, and it will speak Harpa's response to you aloud.
Here is a more detailed explanation of the workflow:
1. The workflow is triggered when the user utters the voice command "ask harpa a question".
2. The workflow displays a prompt asking the user to enter their question.
3. The user enters their question into the prompt.
4. The workflow captures the user's input and stores it in a variable called "question".
5. The workflow uses the "harpa-query" function to send the user's question to Harpa for processing.
6. Harpa generates a response to the user's question and returns it to the workflow.
7. The workflow stores Harpa's response in a variable called "answer".
8. The workflow displays Harpa's response to the user using the "say" action.
I hope this helps!
Here's an example of how to create a voice command workflow for AlfredApp using JavaScript:
```javascript // Create an Alfred workflow object const workflow = new AlfredWorkflow();
// Add a voice command trigger workflow.on('voice_command', (command) => {
if (command === 'ask harpa a question') { // Create a prompt to ask the user a question const prompt = new AlfredPrompt('What do you want to ask Harpa?');
// Add an action to query Harpa with the user's input const queryAction = new AlfredAction('harpa-query', (query) => { // Send the query to Harpa and receive a response const response = prompt.ask(query);
// Create an action to display Harpa's response const speakAction = new AlfredAction('say', (text) => { Alfred.sendText(text); });
// Speak Harpa's response speakAction.perform(response); });
// Create an action group to combine the prompt and query actions const actionGroup = new AlfredActionGroup(); actionGroup.add(prompt); actionGroup.add(queryAction);
// Return the action group return actionGroup; }
});
// Run the workflow workflow.run(); ```
To use this script, save it as a `.js` file and open it in Alfred's Script Editor. Then, create a new voice command in AlfredApp and paste the following text into the "Script" field:
```javascript Alfred.run('scripts/harpa-voice-command.js'); ```
Trigger the voice command by saying "ask harpa a question" to AlfredApp. The workflow will then ask you to enter a question for Harpa, and it will speak Harpa's response to you aloud.
Here is an example of how to create a voice command workflow for AlfredApp using AppleScript:
```applescript tell application "Alfred 4"
on handle voice_command command if command is equal to "ask harpa a question" then -- Create an Alfred prompt to ask the user a question set prompt to prompt with caption "What do you want to ask Harpa?"
-- Add an action to query Harpa with the user's input set userInput to prompt
-- Send the query to Harpa and receive a response set response to query Harpa with input userInput
-- Create an action to speak Harpa's response set speakAction to action speak with text response
-- Speak Harpa's response speakAction's perform end if end handle
-- Add the voice command trigger on idle if not has key "voice_commands" of properties then set "voice_commands" of properties to {command:"ask harpa a question"} voice_command "ask harpa a question" end if end idle
end tell ```
To use this script, save it as an `.scpt` file and open it in Alfred's Script Editor. Then, create a new voice command in AlfredApp and paste the following text into the "Script" field:
```applescript run script "scripts/harpa-voice-command.scpt" ```
Trigger the voice command by saying "ask harpa a question" to AlfredApp. The workflow will then ask you to enter a question for Harpa, and it will speak Harpa's response to you aloud.