| Risk | Mitigation |
|------|-------------|
| Malicious plugins accessing filesystem | Run OpenBullet 2 in a sandbox / restricted user account |
| Infinite loops or resource exhaustion | Implement CancellationToken and timeout logic in blocks |
| Dependency conflicts | Use isolated AssemblyLoadContext per plugin (planned for OB2 v2.5+) |
| Sensitive data exposure | Avoid hardcoding secrets; use PluginConfig or environment variables |
.dll: Copy the plugin file into this folder. You can create subfolders for organization (e.g., /Plugins/Captcha/)..Loli file). Go to the "Plugins" tab. You will see the loaded plugin. Configure its settings (API keys, webhook URLs, etc.).PLUGIN command in your Loli script to call the plugin’s function.using Openbullet2.Models.Plugins;public class MyCustomPlugin : IPlugin public string Name => "Example Logger"; public string Author => "YourName"; Openbullet 2 Plugins
public void Execute(PluginContext context) // context.Data contains the current hit string output = context.Data["VARIABLE"].ToString(); File.AppendAllText("C:\custom_log.txt", output);
Compile to .dll, drop into the Plugins folder, and use it via PLUGIN "Example Logger" "run". | Risk | Mitigation | |------|-------------| | Malicious