Skip to content

Navigation Menu

Sign in
Appearance settings

Search code, repositories, users, issues, pull requests...

Provide feedback

We read every piece of feedback, and take your input very seriously.

Saved searches

Use saved searches to filter your results more quickly

Sign up
Appearance settings

ryanccn/valfisk

Repository files navigation

Valfisk

Built with Nix

Valfisk is a next-generation general purpose Discord app, built with Poise and Serenity. It can be installed by both servers and users, with differing sets of features for each.

Try it out!

Features

  • Expand source code links from GitHub, Tangled, Tangled strings, Codeberg, GitLab, and the Rust and Go playgrounds
  • Expand links to issue and pull request comments from GitHub
  • Fetch Lighthouse metrics for websites
  • Make DNS queries to a variety of DNS-over-HTTPS resolvers
  • Reminders (public by default when installed in servers, private when not)
  • Translate messages using a context menu command
  • Retrieve public information about a Discord user
  • Show comprehensive data on Unicode character(s) from the Unicode Character Database
  • Exchange values of currencies using data from multiple sources

Server-only

  • Google Safe Browsing protection (privacy-friendly)
  • Moderation commands (e.g. ban, kick, timeout, warn)
  • Auditing for message edits and deletions, and member joins and leaves
  • Purge a number of messages from channels
  • Rotate logs channels by recreating them
  • Configurable starboard
  • Automatically reply to keyword triggers (supports regular expressions)
  • Roles that rotate to random colors daily
  • Apply TOML templates to channels
  • Self-timeout command for members

Self hosting

Valfisk's Docker image is available at ghcr.io/ryanccn/valfisk:latest; it supports both linux/amd64 and linux/arm64. A Nix package, from which the Docker image is built from, is also available in the repository's Nix flake.

Valfisk reads its configuration from environment variables:

  • DISCORD_TOKEN is the only required environment variable. The registered Discord application should have the "Guild Members" and "Message Content" privileged intents enabled.
  • REDIS_URL is a URL to a Redis or Redis-compatible server; it is optional but highly recommended, since some features will not work well or at all without it.
  • ADMIN_GUILD_ID is a guild in which commands to manage Valfisk itself will be registered. OWNERS is a comma-separated list of user IDs that are allowed to run these commands; by default it is inferred from the Discord application's metadata.
  • ERROR_LOGS_CHANNEL is a channel where internal errors from Valfisk will be logged. DM_LOGS_CHANNEL is one where direct messages sent to Valfisk will be logged.
  • PAGESPEED_API_KEY and SAFE_BROWSING_API_KEY are Google Cloud API keys for accessing the APIs required for certain features. (They can be set to the same key.)
  • HOST and PORT form the address that the API server listens to. It defaults to 0.0.0.0:8080.

Privacy

See PRIVACY.md.

About

Next-generation general purpose Discord app

Topics

Resources

License

Stars

Watchers

Forks

Sponsor this project

Packages

Contributors

Languages

AltStyle によって変換されたページ (->オリジナル) /