← スキル一覧に戻る

snd-yesalready-integration
by vaoan
⭐ 0🍴 0📅 2025年12月31日
SKILL.md
name: SND YesAlready Integration description: Use this skill when implementing automatic dialog confirmation or UI automation in SND macros using the YesAlready plugin. Covers plugin control, feature management, and temporary pausing.
YesAlready Integration for SND
This skill covers integration with the YesAlready plugin for automatic dialog and UI interaction in SND macros.
Source: https://github.com/PunishXIV/YesAlready/blob/master/YesAlready/IPC/YesAlreadyIPC.cs
Prerequisites
-- Always check plugin availability first
if not HasPlugin("YesAlready") then
yield("/echo [Script] YesAlready plugin not available")
return
end
IPC API Reference
Plugin Control Functions
-- Check if the plugin is enabled
IPC.YesAlready.IsPluginEnabled() → boolean
-- Enable or disable the plugin
IPC.YesAlready.SetPluginEnabled(boolean state) → nil
-- Temporarily pause the plugin for specified milliseconds
IPC.YesAlready.PausePlugin(number milliseconds) → nil
Feature (Bother) Control Functions
-- Check if a specific feature/bother is enabled
-- name: Full type name of the feature (e.g., "YesAlready.Features.AddonMasterPieceSupplyFeature")
IPC.YesAlready.IsBotherEnabled(string name) → boolean
-- Enable or disable a specific feature/bother
IPC.YesAlready.SetBotherEnabled(string name, boolean state) → nil
-- Temporarily pause a specific feature/bother for specified milliseconds
-- Returns true if the feature was paused, false if not found or not enabled
IPC.YesAlready.PauseBother(string name, number milliseconds) → boolean
Usage Patterns
Check Plugin State
function IsYesAlreadyActive()
if not HasPlugin("YesAlready") then
return false
end
local ok, result = pcall(function()
return IPC.YesAlready.IsPluginEnabled()
end)
return ok and result
end
Enable/Disable Plugin
function SetYesAlreadyState(enabled)
if not HasPlugin("YesAlready") then
return false
end
pcall(function()
IPC.YesAlready.SetPluginEnabled(enabled)
end)
return true
end
-- Usage
SetYesAlreadyState(true) -- Enable
SetYesAlreadyState(false) -- Disable
Temporarily Pause Plugin
function PauseYesAlreadyFor(milliseconds)
if not HasPlugin("YesAlready") then
return false
end
pcall(function()
IPC.YesAlready.PausePlugin(milliseconds)
end)
return true
end
-- Pause for 5 seconds
PauseYesAlreadyFor(5000)
Control Specific Features
function EnableSpecificFeature(featureName, enabled)
if not HasPlugin("YesAlready") then
return false
end
pcall(function()
IPC.YesAlready.SetBotherEnabled(featureName, enabled)
end)
return true
end
-- Example: Disable a specific feature temporarily
local featureName = "YesAlready.Features.AddonMasterPieceSupplyFeature"
EnableSpecificFeature(featureName, false)
-- Do something
EnableSpecificFeature(featureName, true)
Pause Specific Feature
function PauseFeatureFor(featureName, milliseconds)
if not HasPlugin("YesAlready") then
return false
end
local ok, result = pcall(function()
return IPC.YesAlready.PauseBother(featureName, milliseconds)
end)
return ok and result
end
-- Pause a specific feature for 3 seconds
local success = PauseFeatureFor("YesAlready.Features.SomeFeature", 3000)
if success then
yield("/echo Feature paused successfully")
end
Common Use Cases
Temporarily Disable During Sensitive Operations
-- Disable YesAlready during manual interactions
IPC.YesAlready.SetPluginEnabled(false)
-- Perform manual operations
-- ...
IPC.YesAlready.SetPluginEnabled(true)
Pause During Specific Actions
-- Pause YesAlready while performing a specific action that needs different handling
function PerformSensitiveAction()
IPC.YesAlready.PausePlugin(10000) -- Pause for 10 seconds
-- Perform action that needs different dialog handling
yield("/echo Performing sensitive action...")
-- YesAlready will automatically re-enable after 10 seconds
end
Feature-Specific Control
-- Disable only a specific YesAlready feature for a task
local feature = "YesAlready.Features.AddonSelectYesnoFeature"
IPC.YesAlready.SetBotherEnabled(feature, false)
-- Perform task where this specific confirmation should not be auto-clicked
-- ...
IPC.YesAlready.SetBotherEnabled(feature, true)
Integration with Other Plugins
YesAlready works well alongside:
- TextAdvance - for cutscene/dialog skipping
- Artisan - for crafting confirmations
- AutoRetainer - for retainer dialog confirmations
- Deliveroo - for GC turn-in confirmations
Best Practices
- Configure YesAlready rules in the plugin UI - The IPC only controls enabling/disabling, not rule configuration
- Use PausePlugin for temporary disabling - Automatically re-enables after the specified time
- Check IsPluginEnabled before assuming it's active - Scripts may run when YesAlready is disabled
- Use feature-specific control when possible - Allows finer control over which dialogs are auto-confirmed
- Test with YesAlready disabled first - Ensure your script handles dialogs gracefully when YesAlready is not active
Important Notes
- YesAlready does not provide IPC for dialog interaction - It works automatically based on its configured rules
- The IPC is for control only - You cannot use IPC to click specific buttons or enter values
- Feature names must be fully qualified - Use complete type names like "YesAlready.Features.FeatureName"
- PauseBother returns false if the feature is not found or not enabled - Check the return value for confirmation
スコア
総合スコア
40/100
リポジトリの品質指標に基づく評価
✓SKILL.md
SKILL.mdファイルが含まれている
+20
○LICENSE
ライセンスが設定されている
0/10
○説明文
100文字以上の説明がある
0/10
○人気
GitHub Stars 100以上
0/15
○最近の活動
3ヶ月以内に更新がある
0/10
○フォーク
10回以上フォークされている
0/5
✓Issue管理
オープンIssueが50未満
+5
✓言語
プログラミング言語が設定されている
+5
○タグ
1つ以上のタグが設定されている
0/5
レビュー
💬
レビュー機能は近日公開予定です