Skip to content

phlebotomist/VampireDB

Repository files navigation

logo

VampireDB

Stupid simple wrapper for litedb

For Admins:

To install just take BOTH dlls and put them in the plugins folder. 🎉That's it!🎉

For devs:

some examples:

// tdbset <key> <value>
[Command("dbset", shortHand: "dbs", adminOnly: true)]
public void SetValue(ChatCommandContext ctx, string key, string value)
{
Storage.Instance.Set(ctx.User.PlatformId, key, value);
ctx.Reply($"Saved: {key} = {value}");
}

// tdbget <key>
[Command("dbget", shortHand: "dbg", adminOnly: true)]
public void GetValue(ChatCommandContext ctx, string key)
{
    string result;
    if (Storage.Instance.TryGet(ctx.User.PlatformId, key, out result))
        ctx.Reply($"{key} = {result}");
    else
        ctx.Reply($"No entry for '{key}'.");
}
// tdbget <key>
[Command("dbgetInt", shortHand: "dbgi", adminOnly: true)]
public void GetIntValue(ChatCommandContext ctx, string key)
{
    int result;
    if (Storage.Instance.TryGet(ctx.User.PlatformId, key, out result))
        ctx.Reply($"{key} = {result}");
    else
        ctx.Reply($"No entry for '{key}'.");
}
// tdbinc <key> [delta]   (increments an integer field; default +1)
[Command("dbinc", shortHand: "dbi", adminOnly: true)]
public void IncrementValue(ChatCommandContext ctx, string key, int delta = 1)
{
    int newVal = Storage.Instance.Update<int>(
        ctx.User.PlatformId,
        key,
        current => current + delta,
        0
    );
    ctx.Reply($"{key} incremented to {newVal}");
}

// tdbdel <key>
[Command("dbdel", shortHand: "dbd", adminOnly: true)]
public void DeleteValue(ChatCommandContext ctx, string key)
{
    bool removed = Storage.Instance.Delete(ctx.User.PlatformId, key);
    ctx.Reply(removed ? $"Deleted '{key}'." : $"Nothing to delete for '{key}'.");
}

About

No description, website, or topics provided.

Resources

Stars

Watchers

Forks

Packages

No packages published

Languages