{"adoption": {"forks": 1010, "observed_at": "2026-08-28T04:04:44.867220+00:00", "stars": 1443}, "canonical_url": "https://ross.abutalabs.com/products/yagpdb", "card": {"archived": false, "artifact_type": "application", "description": "Yet another general purpose discord bot", "domain": ["chatbots", "self-hosted", "messaging-platforms"], "enriched": true, "function": ["chatbot", "workflow-automation", "webhook", "self-hosted", "developer-tools"], "health_score": 100, "homepage": "https://yagpdb.xyz", "language": "Go", "license": "MIT", "license_family": "permissive", "maturity": "active", "member_repos": ["botlabs-gg/yagpdb"], "name": "botlabs-gg/yagpdb", "platform": ["self-hosted", "go", "cross-platform"], "pushed_at": "2026-08-24T21:38:31+00:00", "repo": "botlabs-gg/yagpdb", "stars": 1443, "tags": ["discord-bot", "moderation", "custom-commands", "automoderator", "feeds", "reddit-feed", "youtube-feed", "server-management", "control-panel", "automation", "linux", "docker"], "topics": ["bot", "discord-bot", "discord", "discordgo"], "urls": [], "use_cases": ["moderate my discord server automatically", "set up custom commands for my discord bot", "get reddit and youtube posts posted to a discord channel", "self-host a discord bot with a control panel", "automatically mute or ban users who break rules", "assign roles via reactions on a message", "log deleted and edited messages in my server", "set up reminders and reputation for my discord community"], "what_it_is": "YAGPDB is a multifunctional, modular, general-purpose Discord bot written in Go, featuring moderation, automoderator, custom commands, feeds (Reddit, YouTube, Twitch, RSS), reputation, reminders, and more. It can be self-hosted standalone or via Docker and includes a web-based control panel for configuration.", "when_to_avoid": ["you only need a simple single-purpose bot and don't want to run PostgreSQL and Redis", "you need a bot for a platform other than Discord", "you prefer writing your own bot code from scratch rather than configuring a general-purpose one"], "when_to_choose": ["you need a feature-rich, configurable Discord bot for server management and moderation", "you want to self-host a Discord bot with Docker or standalone deployment", "you need custom commands with template scripting and regex triggers", "you want fast automated feeds from Reddit, YouTube, Twitch, or RSS into Discord"]}, "data_as_of": "2026-08-30T08:39:29.467469+00:00", "members": [{"path": "/products/yagpdb", "repo": "botlabs-gg/yagpdb", "role": "main", "score": 94}], "provenance": {"archived": {"kind": "observed", "observed_at": "2026-08-28T04:04:44.867220+00:00", "source": "github"}, "artifact_type": {"confidence": null, "enriched_at": "2026-08-30T04:36:20.441506+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "47d2be33ed9311ec09410144677c6aebedaa72a6ce45d688cd885667a3c288f2", "fetched_at": "2026-08-28T04:04:44.867220+00:00", "kind": "readme", "missing": false, "url": "https://github.com/botlabs-gg/yagpdb"}, {"content_hash": "7d55d20974885c0c43069653f2cbbfbe98f5823d507af631bd2c5426ef1fd123", "fetched_at": "2026-08-29T11:46:26.761385+00:00", "kind": "homepage", "missing": false, "url": "https://yagpdb.xyz"}, {"content_hash": "e80d22429bf459dbcac36456be31862c8dd7eeca6cd14282903be47c887b1f44", "fetched_at": "2026-08-29T11:46:26.772362+00:00", "kind": "site_page", "missing": false, "url": "https://help.yagpdb.xyz/docs/moderation/advanced-automoderator"}, {"content_hash": "fecc2efc3412cb6070e8ee2117fb5754c8612b822843dffda3757d4d4e3b8aea", "fetched_at": "2026-08-29T11:46:26.773982+00:00", "kind": "site_page", "missing": false, "url": "https://help.yagpdb.xyz/docs/reference/custom-commands-examples"}, {"content_hash": "baf6dae03073e8f9d45e8c55ff31a5942bd224d920c8bfd6d62dba12763eed5a", "fetched_at": "2026-08-29T11:46:26.770501+00:00", "kind": "site_page", "missing": false, "url": "https://help.yagpdb.xyz"}], "taxonomy_version": 1}, "description": {"kind": "observed", "observed_at": "2026-08-28T04:04:44.867220+00:00", "source": "github"}, "domain": {"confidence": null, "enriched_at": "2026-08-30T04:36:20.441506+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "47d2be33ed9311ec09410144677c6aebedaa72a6ce45d688cd885667a3c288f2", "fetched_at": "2026-08-28T04:04:44.867220+00:00", "kind": "readme", "missing": false, "url": "https://github.com/botlabs-gg/yagpdb"}, {"content_hash": "7d55d20974885c0c43069653f2cbbfbe98f5823d507af631bd2c5426ef1fd123", "fetched_at": "2026-08-29T11:46:26.761385+00:00", "kind": "homepage", "missing": false, "url": "https://yagpdb.xyz"}, {"content_hash": "e80d22429bf459dbcac36456be31862c8dd7eeca6cd14282903be47c887b1f44", "fetched_at": "2026-08-29T11:46:26.772362+00:00", "kind": "site_page", "missing": false, "url": "https://help.yagpdb.xyz/docs/moderation/advanced-automoderator"}, {"content_hash": "fecc2efc3412cb6070e8ee2117fb5754c8612b822843dffda3757d4d4e3b8aea", "fetched_at": "2026-08-29T11:46:26.773982+00:00", "kind": "site_page", "missing": false, "url": "https://help.yagpdb.xyz/docs/reference/custom-commands-examples"}, {"content_hash": "baf6dae03073e8f9d45e8c55ff31a5942bd224d920c8bfd6d62dba12763eed5a", "fetched_at": "2026-08-29T11:46:26.770501+00:00", "kind": "site_page", "missing": false, "url": "https://help.yagpdb.xyz"}], "taxonomy_version": 1}, "enriched": {"inputs": [], "kind": "computed", "method": "enrichment_status"}, "function": {"confidence": null, "enriched_at": "2026-08-30T04:36:20.441506+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "47d2be33ed9311ec09410144677c6aebedaa72a6ce45d688cd885667a3c288f2", "fetched_at": "2026-08-28T04:04:44.867220+00:00", "kind": "readme", "missing": false, "url": "https://github.com/botlabs-gg/yagpdb"}, {"content_hash": "7d55d20974885c0c43069653f2cbbfbe98f5823d507af631bd2c5426ef1fd123", "fetched_at": "2026-08-29T11:46:26.761385+00:00", "kind": "homepage", "missing": false, "url": "https://yagpdb.xyz"}, {"content_hash": "e80d22429bf459dbcac36456be31862c8dd7eeca6cd14282903be47c887b1f44", "fetched_at": "2026-08-29T11:46:26.772362+00:00", "kind": "site_page", "missing": false, "url": "https://help.yagpdb.xyz/docs/moderation/advanced-automoderator"}, {"content_hash": "fecc2efc3412cb6070e8ee2117fb5754c8612b822843dffda3757d4d4e3b8aea", "fetched_at": "2026-08-29T11:46:26.773982+00:00", "kind": "site_page", "missing": false, "url": "https://help.yagpdb.xyz/docs/reference/custom-commands-examples"}, {"content_hash": "baf6dae03073e8f9d45e8c55ff31a5942bd224d920c8bfd6d62dba12763eed5a", "fetched_at": "2026-08-29T11:46:26.770501+00:00", "kind": "site_page", "missing": false, "url": "https://help.yagpdb.xyz"}], "taxonomy_version": 1}, "health_score": {"inputs": ["days_since_push", "days_since_release", "archived"], "kind": "computed", "method": "health_v1"}, "homepage": {"kind": "observed", "observed_at": "2026-08-28T04:04:44.867220+00:00", "source": "github"}, "language": {"kind": "observed", "observed_at": "2026-08-28T04:04:44.867220+00:00", "source": "github"}, "license": {"kind": "observed", "observed_at": "2026-08-28T04:04:44.867220+00:00", "source": "github"}, "license_family": {"inputs": ["license"], "kind": "computed", "method": "license_family"}, "maturity": {"confidence": null, "enriched_at": "2026-08-30T04:36:20.441506+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "47d2be33ed9311ec09410144677c6aebedaa72a6ce45d688cd885667a3c288f2", "fetched_at": "2026-08-28T04:04:44.867220+00:00", "kind": "readme", "missing": false, "url": "https://github.com/botlabs-gg/yagpdb"}, {"content_hash": "7d55d20974885c0c43069653f2cbbfbe98f5823d507af631bd2c5426ef1fd123", "fetched_at": "2026-08-29T11:46:26.761385+00:00", "kind": "homepage", "missing": false, "url": "https://yagpdb.xyz"}, {"content_hash": "e80d22429bf459dbcac36456be31862c8dd7eeca6cd14282903be47c887b1f44", "fetched_at": "2026-08-29T11:46:26.772362+00:00", "kind": "site_page", "missing": false, "url": "https://help.yagpdb.xyz/docs/moderation/advanced-automoderator"}, {"content_hash": "fecc2efc3412cb6070e8ee2117fb5754c8612b822843dffda3757d4d4e3b8aea", "fetched_at": "2026-08-29T11:46:26.773982+00:00", "kind": "site_page", "missing": false, "url": "https://help.yagpdb.xyz/docs/reference/custom-commands-examples"}, {"content_hash": "baf6dae03073e8f9d45e8c55ff31a5942bd224d920c8bfd6d62dba12763eed5a", "fetched_at": "2026-08-29T11:46:26.770501+00:00", "kind": "site_page", "missing": false, "url": "https://help.yagpdb.xyz"}], "taxonomy_version": 1}, "member_repos": {"kind": "observed", "observed_at": "2026-08-28T04:04:44.867220+00:00", "source": "github"}, "name": {"kind": "observed", "observed_at": "2026-08-28T04:04:44.867220+00:00", "source": "github"}, "platform": {"confidence": null, "enriched_at": "2026-08-30T04:36:20.441506+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "47d2be33ed9311ec09410144677c6aebedaa72a6ce45d688cd885667a3c288f2", "fetched_at": "2026-08-28T04:04:44.867220+00:00", "kind": "readme", "missing": false, "url": "https://github.com/botlabs-gg/yagpdb"}, {"content_hash": "7d55d20974885c0c43069653f2cbbfbe98f5823d507af631bd2c5426ef1fd123", "fetched_at": "2026-08-29T11:46:26.761385+00:00", "kind": "homepage", "missing": false, "url": "https://yagpdb.xyz"}, {"content_hash": "e80d22429bf459dbcac36456be31862c8dd7eeca6cd14282903be47c887b1f44", "fetched_at": "2026-08-29T11:46:26.772362+00:00", "kind": "site_page", "missing": false, "url": "https://help.yagpdb.xyz/docs/moderation/advanced-automoderator"}, {"content_hash": "fecc2efc3412cb6070e8ee2117fb5754c8612b822843dffda3757d4d4e3b8aea", "fetched_at": "2026-08-29T11:46:26.773982+00:00", "kind": "site_page", "missing": false, "url": "https://help.yagpdb.xyz/docs/reference/custom-commands-examples"}, {"content_hash": "baf6dae03073e8f9d45e8c55ff31a5942bd224d920c8bfd6d62dba12763eed5a", "fetched_at": "2026-08-29T11:46:26.770501+00:00", "kind": "site_page", "missing": false, "url": "https://help.yagpdb.xyz"}], "taxonomy_version": 1}, "pushed_at": {"kind": "observed", "observed_at": "2026-08-28T04:04:44.867220+00:00", "source": "github"}, "repo": {"kind": "observed", "observed_at": "2026-08-28T04:04:44.867220+00:00", "source": "github"}, "stars": {"kind": "observed", "observed_at": "2026-08-28T04:04:44.867220+00:00", "source": "github"}, "tags": {"confidence": null, "enriched_at": "2026-08-30T04:36:20.441506+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "47d2be33ed9311ec09410144677c6aebedaa72a6ce45d688cd885667a3c288f2", "fetched_at": "2026-08-28T04:04:44.867220+00:00", "kind": "readme", "missing": false, "url": "https://github.com/botlabs-gg/yagpdb"}, {"content_hash": "7d55d20974885c0c43069653f2cbbfbe98f5823d507af631bd2c5426ef1fd123", "fetched_at": "2026-08-29T11:46:26.761385+00:00", "kind": "homepage", "missing": false, "url": "https://yagpdb.xyz"}, {"content_hash": "e80d22429bf459dbcac36456be31862c8dd7eeca6cd14282903be47c887b1f44", "fetched_at": "2026-08-29T11:46:26.772362+00:00", "kind": "site_page", "missing": false, "url": "https://help.yagpdb.xyz/docs/moderation/advanced-automoderator"}, {"content_hash": "fecc2efc3412cb6070e8ee2117fb5754c8612b822843dffda3757d4d4e3b8aea", "fetched_at": "2026-08-29T11:46:26.773982+00:00", "kind": "site_page", "missing": false, "url": "https://help.yagpdb.xyz/docs/reference/custom-commands-examples"}, {"content_hash": "baf6dae03073e8f9d45e8c55ff31a5942bd224d920c8bfd6d62dba12763eed5a", "fetched_at": "2026-08-29T11:46:26.770501+00:00", "kind": "site_page", "missing": false, "url": "https://help.yagpdb.xyz"}], "taxonomy_version": 1}, "topics": {"kind": "observed", "observed_at": "2026-08-28T04:04:44.867220+00:00", "source": "github"}, "urls": {"kind": "observed", "observed_at": "2026-08-28T04:04:44.867220+00:00", "source": "github"}, "use_cases": {"confidence": null, "enriched_at": "2026-08-30T04:36:20.441506+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "47d2be33ed9311ec09410144677c6aebedaa72a6ce45d688cd885667a3c288f2", "fetched_at": "2026-08-28T04:04:44.867220+00:00", "kind": "readme", "missing": false, "url": "https://github.com/botlabs-gg/yagpdb"}, {"content_hash": "7d55d20974885c0c43069653f2cbbfbe98f5823d507af631bd2c5426ef1fd123", "fetched_at": "2026-08-29T11:46:26.761385+00:00", "kind": "homepage", "missing": false, "url": "https://yagpdb.xyz"}, {"content_hash": "e80d22429bf459dbcac36456be31862c8dd7eeca6cd14282903be47c887b1f44", "fetched_at": "2026-08-29T11:46:26.772362+00:00", "kind": "site_page", "missing": false, "url": "https://help.yagpdb.xyz/docs/moderation/advanced-automoderator"}, {"content_hash": "fecc2efc3412cb6070e8ee2117fb5754c8612b822843dffda3757d4d4e3b8aea", "fetched_at": "2026-08-29T11:46:26.773982+00:00", "kind": "site_page", "missing": false, "url": "https://help.yagpdb.xyz/docs/reference/custom-commands-examples"}, {"content_hash": "baf6dae03073e8f9d45e8c55ff31a5942bd224d920c8bfd6d62dba12763eed5a", "fetched_at": "2026-08-29T11:46:26.770501+00:00", "kind": "site_page", "missing": false, "url": "https://help.yagpdb.xyz"}], "taxonomy_version": 1}, "what_it_is": {"confidence": null, "enriched_at": "2026-08-30T04:36:20.441506+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "47d2be33ed9311ec09410144677c6aebedaa72a6ce45d688cd885667a3c288f2", "fetched_at": "2026-08-28T04:04:44.867220+00:00", "kind": "readme", "missing": false, "url": "https://github.com/botlabs-gg/yagpdb"}, {"content_hash": "7d55d20974885c0c43069653f2cbbfbe98f5823d507af631bd2c5426ef1fd123", "fetched_at": "2026-08-29T11:46:26.761385+00:00", "kind": "homepage", "missing": false, "url": "https://yagpdb.xyz"}, {"content_hash": "e80d22429bf459dbcac36456be31862c8dd7eeca6cd14282903be47c887b1f44", "fetched_at": "2026-08-29T11:46:26.772362+00:00", "kind": "site_page", "missing": false, "url": "https://help.yagpdb.xyz/docs/moderation/advanced-automoderator"}, {"content_hash": "fecc2efc3412cb6070e8ee2117fb5754c8612b822843dffda3757d4d4e3b8aea", "fetched_at": "2026-08-29T11:46:26.773982+00:00", "kind": "site_page", "missing": false, "url": "https://help.yagpdb.xyz/docs/reference/custom-commands-examples"}, {"content_hash": "baf6dae03073e8f9d45e8c55ff31a5942bd224d920c8bfd6d62dba12763eed5a", "fetched_at": "2026-08-29T11:46:26.770501+00:00", "kind": "site_page", "missing": false, "url": "https://help.yagpdb.xyz"}], "taxonomy_version": 1}, "when_to_avoid": {"confidence": null, "enriched_at": "2026-08-30T04:36:20.441506+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "47d2be33ed9311ec09410144677c6aebedaa72a6ce45d688cd885667a3c288f2", "fetched_at": "2026-08-28T04:04:44.867220+00:00", "kind": "readme", "missing": false, "url": "https://github.com/botlabs-gg/yagpdb"}, {"content_hash": "7d55d20974885c0c43069653f2cbbfbe98f5823d507af631bd2c5426ef1fd123", "fetched_at": "2026-08-29T11:46:26.761385+00:00", "kind": "homepage", "missing": false, "url": "https://yagpdb.xyz"}, {"content_hash": "e80d22429bf459dbcac36456be31862c8dd7eeca6cd14282903be47c887b1f44", "fetched_at": "2026-08-29T11:46:26.772362+00:00", "kind": "site_page", "missing": false, "url": "https://help.yagpdb.xyz/docs/moderation/advanced-automoderator"}, {"content_hash": "fecc2efc3412cb6070e8ee2117fb5754c8612b822843dffda3757d4d4e3b8aea", "fetched_at": "2026-08-29T11:46:26.773982+00:00", "kind": "site_page", "missing": false, "url": "https://help.yagpdb.xyz/docs/reference/custom-commands-examples"}, {"content_hash": "baf6dae03073e8f9d45e8c55ff31a5942bd224d920c8bfd6d62dba12763eed5a", "fetched_at": "2026-08-29T11:46:26.770501+00:00", "kind": "site_page", "missing": false, "url": "https://help.yagpdb.xyz"}], "taxonomy_version": 1}, "when_to_choose": {"confidence": null, "enriched_at": "2026-08-30T04:36:20.441506+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "47d2be33ed9311ec09410144677c6aebedaa72a6ce45d688cd885667a3c288f2", "fetched_at": "2026-08-28T04:04:44.867220+00:00", "kind": "readme", "missing": false, "url": "https://github.com/botlabs-gg/yagpdb"}, {"content_hash": "7d55d20974885c0c43069653f2cbbfbe98f5823d507af631bd2c5426ef1fd123", "fetched_at": "2026-08-29T11:46:26.761385+00:00", "kind": "homepage", "missing": false, "url": "https://yagpdb.xyz"}, {"content_hash": "e80d22429bf459dbcac36456be31862c8dd7eeca6cd14282903be47c887b1f44", "fetched_at": "2026-08-29T11:46:26.772362+00:00", "kind": "site_page", "missing": false, "url": "https://help.yagpdb.xyz/docs/moderation/advanced-automoderator"}, {"content_hash": "fecc2efc3412cb6070e8ee2117fb5754c8612b822843dffda3757d4d4e3b8aea", "fetched_at": "2026-08-29T11:46:26.773982+00:00", "kind": "site_page", "missing": false, "url": "https://help.yagpdb.xyz/docs/reference/custom-commands-examples"}, {"content_hash": "baf6dae03073e8f9d45e8c55ff31a5942bd224d920c8bfd6d62dba12763eed5a", "fetched_at": "2026-08-29T11:46:26.770501+00:00", "kind": "site_page", "missing": false, "url": "https://help.yagpdb.xyz"}], "taxonomy_version": 1}}, "score": {"components": {"activity": 99, "longevity": 100, "rhythm": 84}, "computed_at": "2026-09-03T02:39:23.370411+00:00", "flags": [], "formula": "round(0.45*activity + 0.35*rhythm + 0.20*longevity); archived -> min(score, 10)", "inputs": {"age_days": 3699, "days_push": 9, "days_rel": 26, "gap_med": 1.0, "n_releases_24m": 149}, "score": 94, "version": 2}, "staleness": {"enrichment_outdated": false, "low_confidence": false, "scrape_days": 9, "stale_scrape": false}}