Skip to main content

Openbullet 2 Plugins -

| 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 |

  • Place the .dll: Copy the plugin file into this folder. You can create subfolders for organization (e.g., /Plugins/Captcha/).
  • Restart Openbullet 2: The core engine only loads plugins at startup.
  • Activate in a Config: Open any config (.Loli file). Go to the "Plugins" tab. You will see the loaded plugin. Configure its settings (API keys, webhook URLs, etc.).
  • Reference in Script: Use the 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