SkillAgentSearch skills...

Ventriloquist

A proxy tag parsing and webhook egressing bot for plural communities on Discord

Install / Use

/learn @withinsoft/Ventriloquist
About this skill

Quality Score

0/100

Supported Platforms

Universal

README

Ventriloquist

Build Status

In many online communities, there has been a need for there to be more than more "voice" per chat connection. Sometimes for roleplay, sometimes to multiplex several "people" over a single chat connection. This bot seeks to help people wishing to (for whatever reason) multiplex several voices over a single Discord connection.

Requirements

Server

Ventriloquist is currently only tested on GOOS=linux GOARCH=amd64. Other architectures should work, but may not. If you run into any issues, please file a bug report. The Docker images are only for GOOS=linux GOARCH=amd64.

OR

  • Some server that Go can target binaries for
    • Persistent disk storage for its database file (and backups!)
  • InfluxDB or another Graphite protocol compatible metrics server
    • Runtime metrics, completely anonymous and aggregated data

OPTIONAL

Runtime

Ventriloquist is configured by environment variables. For convenience, you can define these with a file named .env containing key->value environment variables as such:

ADMIN_ROLE=442518271057592330
<... etc>

These are all required for any deployment of Ventriloquist.

| Environment Variable | Description | |:-------------------- |:----------- | | ADMIN_ROLE | Users with this Discord guild role will be able to use the moderator commands to impersonate user commands. It is not possible to proxy with these commands. | | DISCORD_TOKEN | The Discord bot token for this bot. This bot should be joined to a Discord guild with the permissions "Manage Messages", "Manage Webhooks", and "Use Cross-Server Emoji". | | GRAPHITE_SERVER | The Graphite server that Ventriloquist sends its anonymous aggregated runtime metrics to, TCP host:port. | | LOGGING_WEBHOOK | If set, log the message ID, systemmate name, username + discriminator, user ID, channel ID and proxied message to this webhook after the message being proxied is deleted. This is for moderator accountability of messages being proxied. |

Using

To start Ventriloquist for yourself, fill out a .env file into a checkout of this repository and then run the following docker-compose command:

$ docker-compose up --build -d

The database will be located in /var/lib/docker/volumes/ventriloquist_data/_data/tulpas.db. Please configure an automated backup somehow.

To see more about using Ventriloquist as a user, see the User section of the usage doc.

Related Skills

View on GitHub
GitHub Stars11
CategoryDevelopment
Updated2y ago
Forks4

Languages

Go

Security Score

75/100

Audited on Jun 21, 2023

No findings