Raw JSON report machine-readable
{
"data": {
"repo": {
"topics": [
"discord",
"discordpy",
"api-wrapper",
"bot-framework",
"bots",
"discord-api",
"discord-bot",
"discord-py",
"discordbot",
"python",
"python3",
"hacktoberfest"
],
"is_fork": false,
"size_kb": 21380,
"has_wiki": false,
"homepage": "https://docs.nextcord.dev",
"languages": {
"Python": 2441894
},
"pushed_at": "2026-07-20T20:23:57Z",
"created_at": "2021-08-28T13:02:33Z",
"owner_type": "Organization",
"updated_at": "2026-07-25T06:41:55Z",
"description": "A Python wrapper for the Discord API forked from discord.py",
"is_archived": false,
"is_disabled": false,
"license_spdx": "MIT",
"default_branch": "master",
"license_spdx_raw": "MIT",
"primary_language": "Python",
"significant_languages": [
"Python"
]
},
"owner": {
"blog": "https://nextcord.dev",
"name": null,
"type": "Organization",
"login": "nextcord",
"company": null,
"location": null,
"followers": 47,
"avatar_url": "https://avatars.githubusercontent.com/u/89693200?v=4",
"created_at": "2021-08-28T13:00:42Z",
"is_verified": null,
"public_repos": 11,
"account_age_days": 1793
},
"license": {
"state": "standard",
"spdx_id": "MIT",
"raw_spdx": "MIT",
"file_present": true,
"scorecard_found": true,
"profile_has_license": true
},
"activity": {
"releases": [
{
"tag": "v3.2.0",
"kind": "minor",
"published_at": "2026-05-21T18:00:26Z"
},
{
"tag": "v3.1.1",
"kind": "patch",
"published_at": "2025-08-16T10:37:35Z"
},
{
"tag": "v3.1.0",
"kind": "minor",
"published_at": "2025-04-18T15:06:37Z"
},
{
"tag": "v3.0.1",
"kind": "patch",
"published_at": "2024-12-25T14:12:52Z"
},
{
"tag": "v3.0.0",
"kind": "major",
"published_at": "2024-12-25T00:31:03Z"
},
{
"tag": "v2.6.1",
"kind": "patch",
"published_at": "2023-09-23T23:25:56Z"
},
{
"tag": "v2.6.0",
"kind": "minor",
"published_at": "2023-09-23T16:29:00Z"
},
{
"tag": "v2.5.0",
"kind": "minor",
"published_at": "2023-06-13T16:14:32Z"
},
{
"tag": "v2.4.2",
"kind": "patch",
"published_at": "2023-04-05T17:29:11Z"
},
{
"tag": "v2.4.1",
"kind": "patch",
"published_at": "2023-03-12T19:25:44Z"
},
{
"tag": "v2.4.0",
"kind": "minor",
"published_at": "2023-02-20T22:49:27Z"
},
{
"tag": "v2.3.3",
"kind": "patch",
"published_at": "2023-02-09T21:46:28Z"
},
{
"tag": "v2.3.2",
"kind": "patch",
"published_at": "2022-11-11T20:04:04Z"
},
{
"tag": "v2.3.1",
"kind": "patch",
"published_at": "2022-11-11T19:26:41Z"
},
{
"tag": "v2.3.0",
"kind": "minor",
"published_at": "2022-11-11T18:07:53Z"
},
{
"tag": "v2.2.0",
"kind": "minor",
"published_at": "2022-09-09T15:54:45Z"
},
{
"tag": "v2.1.1",
"kind": "patch",
"published_at": "2022-09-09T12:04:29Z"
},
{
"tag": "v2.1.0",
"kind": "minor",
"published_at": "2022-08-08T18:45:13Z"
},
{
"tag": "v2.0.0",
"kind": "major",
"published_at": "2022-06-28T11:55:52Z"
},
{
"tag": "v2.0.0rc2",
"kind": "other",
"published_at": "2022-06-23T11:19:32Z"
},
{
"tag": "v2.0.0rc1",
"kind": "other",
"published_at": "2022-06-20T17:16:54Z"
},
{
"tag": "v2.0.0b4",
"kind": "other",
"published_at": "2022-06-12T17:59:09Z"
},
{
"tag": "2.0.0b3",
"kind": "other",
"published_at": "2022-06-05T16:06:42Z"
},
{
"tag": "2.0.0b2",
"kind": "other",
"published_at": "2022-06-03T13:18:23Z"
},
{
"tag": "2.0.0b1",
"kind": "other",
"published_at": "2022-06-03T12:29:43Z"
},
{
"tag": "2.0.0a10",
"kind": "other",
"published_at": "2022-03-22T16:33:30Z"
},
{
"tag": "2.0.0a9",
"kind": "other",
"published_at": "2022-03-06T21:40:28Z"
},
{
"tag": "2.0.0a8",
"kind": "other",
"published_at": "2022-02-14T13:31:32Z"
},
{
"tag": "2.0.0a7",
"kind": "other",
"published_at": "2022-02-05T20:28:14Z"
},
{
"tag": "2.0.0a6",
"kind": "other",
"published_at": "2022-01-08T14:19:35Z"
},
{
"tag": "2.0.0a5",
"kind": "other",
"published_at": "2022-01-01T14:56:14Z"
},
{
"tag": "2.0.0a4",
"kind": "other",
"published_at": "2021-12-15T20:33:38Z"
},
{
"tag": "2.0.0a3",
"kind": "other",
"published_at": "2021-09-22T07:28:20Z"
}
],
"recent_commits": [
{
"oid": "8ceca454c9ddc2185b5963cc49153ac4684cfd15",
"body": "updates:\n- [github.com/astral-sh/ruff-pre-commit: v0.15.14 → v0.15.20](https://github.com/astral-sh/ruff-pre-commit/compare/v0.15.14...v0.15.20)\n\nCo-authored-by: pre-commit-ci[bot] <66853113+pre-commit-ci[bot]@users.noreply.github.com>",
"is_bot": true,
"headline": "ci(pre-commit): autoupdate hook versions (#1288)",
"author_name": "pre-commit-ci[bot]",
"author_login": "pre-commit-ci[bot]",
"committed_at": "2026-07-08T23:01:12Z",
"body_truncated": false,
"is_coding_agent": false
},
{
"oid": "0cbeb8505a5601fa7635b3357f031bfe9ae835e9",
"body": null,
"is_bot": false,
"headline": "fix: string select erroring on default custom id (#1289)",
"author_name": "Ethan",
"author_login": "Skelmis",
"committed_at": "2026-07-08T23:00:39Z",
"body_truncated": false,
"is_coding_agent": false
},
{
"oid": "8c23cff0f4dddf44307c9d4b587bcb62d3938618",
"body": "0 would be interpreted as self.min or self.max = False, so negative numbers would be allowed",
"is_bot": false,
"headline": "fix(app-cmds): reject negative numbers when Range min is 0 (#1290)",
"author_name": "Ran Shaashua",
"author_login": "ranshaa05",
"committed_at": "2026-06-28T14:10:00Z",
"body_truncated": false,
"is_coding_agent": false
},
{
"oid": "d5c1fedbcf173f44b1068d5f077c3ccec9f9d2fa",
"body": "* feat(message): add `call` field\n\n* style: auto fixes from pre-commit hooks\n\n* fix(message): remove double import\n\n* fix(abc): use `call.data` for sending\n\n* refactor(message): add slots to MessageCall\n\n* docs: add MessageCall\n\n* fix: remove `call` from send\n\nI properly misunderstood the task here\n\n[…]\ns(message): update versionadded to 3.3\n\n---------\n\nCo-authored-by: pre-commit-ci[bot] <66853113+pre-commit-ci[bot]@users.noreply.github.com>\nCo-authored-by: Oliver Wilkes <oliverwilkes2006@icloud.com>",
"is_bot": false,
"headline": "feat(message): add `call` field (#1195)",
"author_name": "spifory",
"author_login": "spifory",
"committed_at": "2026-05-28T17:04:41Z",
"body_truncated": true,
"is_coding_agent": false
},
{
"oid": "5761bb11848a947015d5a6c91bc28053039c50de",
"body": "* Update __main__.py\n\n* style: auto fixes from pre-commit hooks\n\n* fix: remove length check for forbidden directory names\n\n---------\n\nCo-authored-by: pre-commit-ci[bot] <66853113+pre-commit-ci[bot]@users.noreply.github.com>\nCo-authored-by: teaishealthy <76410798+teaishealthy@users.noreply.github.com>",
"is_bot": false,
"headline": "fix: add CONIN$ and CONOUT$ to forbidden paths (#1267)",
"author_name": "Armaan U",
"author_login": "armup31",
"committed_at": "2026-05-26T15:13:15Z",
"body_truncated": false,
"is_coding_agent": false
},
{
"oid": "5f08001c3798f197f094f0d0ad8e20cac04a4332",
"body": "updates:\n- [github.com/astral-sh/ruff-pre-commit: v0.15.13 → v0.15.14](https://github.com/astral-sh/ruff-pre-commit/compare/v0.15.13...v0.15.14)\n- [github.com/psf/black-pre-commit-mirror: 26.5.0 → 26.5.1](https://github.com/psf/black-pre-commit-mirror/compare/26.5.0...26.5.1)\n\nCo-authored-by: pre-commit-ci[bot] <66853113+pre-commit-ci[bot]@users.noreply.github.com>",
"is_bot": true,
"headline": "ci(pre-commit): autoupdate hook versions (#1286)",
"author_name": "pre-commit-ci[bot]",
"author_login": "pre-commit-ci[bot]",
"committed_at": "2026-05-26T15:10:36Z",
"body_truncated": false,
"is_coding_agent": false
},
{
"oid": "c9aafecbf9613f9542fef306e183ffdb5c96df54",
"body": null,
"is_bot": false,
"headline": "docs(whats-new): add relevant changelog entries",
"author_name": "Oliver Wilkes",
"author_login": "ooliver1",
"committed_at": "2026-05-21T17:54:22Z",
"body_truncated": false,
"is_coding_agent": false
},
{
"oid": "71e0b58924840644d8e1b4e9a832e6cea263267f",
"body": null,
"is_bot": false,
"headline": "refactor(docs): solve minor type issue",
"author_name": "Oliver Wilkes",
"author_login": "ooliver1",
"committed_at": "2026-05-21T17:52:28Z",
"body_truncated": false,
"is_coding_agent": false
},
{
"oid": "7390a57f1866d2c818dc9fa16ccdfa881fa47946",
"body": null,
"is_bot": false,
"headline": "refactor(components): handle file.name/size empty",
"author_name": "Oliver Wilkes",
"author_login": "ooliver1",
"committed_at": "2026-05-21T17:50:03Z",
"body_truncated": false,
"is_coding_agent": false
},
{
"oid": "d0e84313ef1163c7ef9730e29e64a52ffbdb647a",
"body": null,
"is_bot": false,
"headline": "docs(whats-new): add changelogs for 3.2.0",
"author_name": "Oliver Wilkes",
"author_login": "ooliver1",
"committed_at": "2026-05-21T17:39:12Z",
"body_truncated": false,
"is_coding_agent": false
},
{
"oid": "9f71034ecc675599b94d7a4915a803f03654232b",
"body": null,
"is_bot": false,
"headline": "docs: update sphinx for enum docs",
"author_name": "Oliver Wilkes",
"author_login": "ooliver1",
"committed_at": "2026-05-21T17:39:12Z",
"body_truncated": false,
"is_coding_agent": false
},
{
"oid": "9eaad86ca00db2b11a119fd8bad0caf44a7c93b0",
"body": "* adds a very incomplete implementation of components v2\n\nSigned-off-by: Alex Schoenhofen <alexanderschoenhofen@gmail.com>\n\n* adds terribly implemented component buttons\n\nSigned-off-by: Alex Schoenhofen <alexanderschoenhofen@gmail.com>\n\n* remove callback running code from interactions.py, rework com\n[…]\n Ethan <47520067+Skelmis@users.noreply.github.com>\nCo-authored-by: Oliver Wilkes <oliverwilkes2006@icloud.com>\nCo-authored-by: pre-commit-ci[bot] <66853113+pre-commit-ci[bot]@users.noreply.github.com>",
"is_bot": false,
"headline": "feat: add low level components v2 support (#1254)",
"author_name": "Alex Schoenhofen",
"author_login": "alentoghostflame",
"committed_at": "2026-05-21T15:04:52Z",
"body_truncated": true,
"is_coding_agent": false
},
{
"oid": "0102b38b728eeb5f839cf51aa69042bda9d82198",
"body": "* feat: add member profile automod fields\n\n* fix(enum): fix accidental merge conflict changes\n\n* docs(enums): add remaining docstrings to enum values\n\n* style: auto fixes from pre-commit hooks\n\n* fix(types): add 2 to automodevent\n\n* docs(enum): use the correct docs for event types\n\n* docs(enums): ad\n[…]\nocs(enums): update versionadded to 3.2\n\n---------\n\nCo-authored-by: pre-commit-ci[bot] <66853113+pre-commit-ci[bot]@users.noreply.github.com>\nCo-authored-by: Oliver Wilkes <oliverwilkes2006@icloud.com>",
"is_bot": false,
"headline": "feat: add member profile automod fields (#1087)",
"author_name": "spifory",
"author_login": "spifory",
"committed_at": "2026-05-19T16:37:45Z",
"body_truncated": true,
"is_coding_agent": false
},
{
"oid": "f2080fdb2e8c481a8b321cb55d3fddf3c49b1cac",
"body": "* ci(pre-commit): autoupdate hook versions\n\n\nupdates:\n- [github.com/astral-sh/ruff-pre-commit: v0.7.4 → v0.11.2](https://github.com/astral-sh/ruff-pre-commit/compare/v0.7.4...v0.11.2)\n- [github.com/psf/black: 24.10.0 → 25.1.0](https://github.com/psf/black/compare/24.10.0...25.1.0)\n\n* style: auto fixes from pre-commit hooks\n\n---------\n\nCo-authored-by: pre-commit-ci[bot] <66853113+pre-commit-ci[bot]@users.noreply.github.com>\nCo-authored-by: Ethan <47520067+Skelmis@users.noreply.github.com>",
"is_bot": true,
"headline": "ci(pre-commit): autoupdate hook versions (#1230)",
"author_name": "pre-commit-ci[bot]",
"author_login": "pre-commit-ci[bot]",
"committed_at": "2026-05-19T15:16:32Z",
"body_truncated": false,
"is_coding_agent": false
},
{
"oid": "c4b58533d0e58ff452f2128b36a2d9a96592a5ab",
"body": "fix(voice): send speaking packet on reconnect (#862)\n\n`AudioPlayer` would previously not update the\n[`SPEAKING`](https://discord.com/developers/docs/topics/voice-connections#speaking)\nstate to a non-zero value after reconnecting (which happens when moving\nbetween channels, for instance). This results in the bot continuing to\nsend audio packets, which aren't processed by Discord as the speaking\nstate would still be `0`.\n\nCo-authored-by: shiftinv <8530778+shiftinv@users.noreply.github.com>",
"is_bot": false,
"headline": "fix(voice): send speaking packet on reconnect (#1271)",
"author_name": "teaishealthy",
"author_login": "teaishealthy",
"committed_at": "2026-05-17T13:34:22Z",
"body_truncated": false,
"is_coding_agent": false
},
{
"oid": "396b4274193567a526234a464da28e0172df92c9",
"body": "* feat(errors): add ChannelTypeNotFound exception\n\n* style: auto fixes from pre-commit hooks\n\n* chore: readd ThreadNotFound to errors\n\n---------\n\nCo-authored-by: pre-commit-ci[bot] <66853113+pre-commit-ci[bot]@users.noreply.github.com>",
"is_bot": false,
"headline": "feat(errors): add ChannelTypeNotFound exception (#1274)",
"author_name": "teaishealthy",
"author_login": "teaishealthy",
"committed_at": "2026-05-17T13:24:19Z",
"body_truncated": false,
"is_coding_agent": false
},
{
"oid": "51aed95ebb125aac124fbc093b4dbbced9069d35",
"body": "* feat(role): add RoleColours\n\n* docs(role): sort out RoleColours attrs\n\n* feat(role): handle colours attr\n\n* feat(guild): support colours in create_role\n\n* fix: supply proper fields in http",
"is_bot": false,
"headline": "feat(role): support multiple colours (#1261)",
"author_name": "Oliver Wilkes",
"author_login": "ooliver1",
"committed_at": "2026-05-17T13:21:47Z",
"body_truncated": false,
"is_coding_agent": false
},
{
"oid": "5b06a891a4b4543e65264262e51c62fb0460df06",
"body": null,
"is_bot": false,
"headline": "chore: update libcst and autotyping for 3.14 support",
"author_name": "Oliver Wilkes",
"author_login": "ooliver1",
"committed_at": "2026-05-01T13:53:14Z",
"body_truncated": false,
"is_coding_agent": false
},
{
"oid": "82bd24febe89cee74d21629b1b9a5d14999c1769",
"body": null,
"is_bot": false,
"headline": "refactor(voice): fix spelling mistake in transient_key",
"author_name": "Oliver Wilkes",
"author_login": "ooliver1",
"committed_at": "2026-05-01T13:48:59Z",
"body_truncated": false,
"is_coding_agent": false
},
{
"oid": "2fc8894455974a8e2304297b15bddfb821805c55",
"body": "* typing: add reportPossiblyUnboundVariable to pyright config\n\nalso see #1252\n\n* typing: fix new types issues",
"is_bot": false,
"headline": "typing: add reportPossiblyUnboundVariable to pyright config (#1253)",
"author_name": "teaishealthy",
"author_login": "teaishealthy",
"committed_at": "2026-05-01T07:22:16Z",
"body_truncated": false,
"is_coding_agent": false
},
{
"oid": "473e9c475806f605c45480152ab3aad48a257e72",
"body": null,
"is_bot": false,
"headline": "fix(http): add proxy to HTTPClient.recreate (#1257) (#1276)",
"author_name": "teaishealthy",
"author_login": "teaishealthy",
"committed_at": "2026-05-01T07:07:51Z",
"body_truncated": false,
"is_coding_agent": false
},
{
"oid": "a62706a121eb901eeea699c9c85f7a96c565eaa0",
"body": "* Add support for AEAD XChaCha20 Ploy1305 encryption mode\n\nCo-authored-by: Mysty <evieepy@gmail.com>\n\n* style: auto fixes from pre-commit hooks\n\n* remove deprecated encryption modes\n\n* style: auto fixes from pre-commit hooks\n\n* typing(voice): add initial dave types\n\n* refactor(voice): add dave proto\n[…]\n\n\n---------\n\nCo-authored-by: Renaud11232 <gaspardrenaud@hotmail.com>\nCo-authored-by: Mysty <evieepy@gmail.com>\nCo-authored-by: pre-commit-ci[bot] <66853113+pre-commit-ci[bot]@users.noreply.github.com>",
"is_bot": false,
"headline": "feat(voice): support e2ee (DAVE) (#1284)",
"author_name": "Oliver Wilkes",
"author_login": "ooliver1",
"committed_at": "2026-05-01T07:06:39Z",
"body_truncated": true,
"is_coding_agent": false
},
{
"oid": "b7bbaade7a2fac89f7863ffbd7806f66f9ddec54",
"body": null,
"is_bot": false,
"headline": "fix: return in finally (#1268)",
"author_name": "Marc Mueller",
"author_login": "cdce8p",
"committed_at": "2025-10-21T12:06:07Z",
"body_truncated": false,
"is_coding_agent": false
},
{
"oid": "fae516ed5ffe52b27acb1521b6957f1dfaaf969f",
"body": "Replace deprecated asyncio.iscoroutinefunction",
"is_bot": false,
"headline": "refactor: replace deprecated asyncio.iscoroutinefunction (#1269)",
"author_name": "Marc Mueller",
"author_login": "cdce8p",
"committed_at": "2025-10-18T16:10:47Z",
"body_truncated": false,
"is_coding_agent": false
},
{
"oid": "6549406b0d659ea0a7b9696eee19ade36aca9161",
"body": "Upgrade to voice v8\n\nCo-authored-by: DA344 <108473820+DA-344@users.noreply.github.com>",
"is_bot": false,
"headline": "feat(voice): upgrade to voice v8 (#1265)",
"author_name": "Renaud GASPARD",
"author_login": "Renaud11232",
"committed_at": "2025-09-17T16:55:11Z",
"body_truncated": false,
"is_coding_agent": false
},
{
"oid": "972693a3b574d37f14729899e230b073bb39eba1",
"body": "Fix 4006 error when connecting to voice ws\n\nCo-authored-by: DA344 <108473820+DA-344@users.noreply.github.com>",
"is_bot": false,
"headline": "fix(voice): 4006 voice websocket connection error (#1264)",
"author_name": "Renaud GASPARD",
"author_login": "Renaud11232",
"committed_at": "2025-08-16T10:29:03Z",
"body_truncated": false,
"is_coding_agent": false
},
{
"oid": "d66708ca1e9b572ec522b34cf8300facf08444c9",
"body": "* Add support for avatar decorations\n\n* Better comment\n\nCo-Authored-By: Emma Terzioglu <emreterzioglu49@gmail.com>\n\n* Add missing default size\n\n* Update according to new data\n\nhttps://github.com/discord/discord-api-docs/pull/6464\n\n* Document AvatarDecoration\n\n* Update version and remove outdated not\n[…]\ncommit hooks\n\n* Export AvatarDecoration\n\n---------\n\nCo-authored-by: Emma Terzioglu <emreterzioglu49@gmail.com>\nCo-authored-by: pre-commit-ci[bot] <66853113+pre-commit-ci[bot]@users.noreply.github.com>",
"is_bot": false,
"headline": "feat: avatar decorations (#941)",
"author_name": "Soheab",
"author_login": "Soheab",
"committed_at": "2025-06-15T18:22:52Z",
"body_truncated": true,
"is_coding_agent": false
},
{
"oid": "f007a376624e7c1ce20facb1b487fad72cdc0611",
"body": "* moved interaction resolving functions from app cmds to Interaction\n\nSigned-off-by: Alex Schoenhofen <alexanderschoenhofen@gmail.com>\n\n* removes commented out code\n\nSigned-off-by: Alex Schoenhofen <alexanderschoenhofen@gmail.com>\n\n---------\n\nSigned-off-by: Alex Schoenhofen <alexanderschoenhofen@gmail.com>",
"is_bot": false,
"headline": "refactor: move resolving funcs from app cmd file to Interaction (#1256)",
"author_name": "Alex Schoenhofen",
"author_login": "alentoghostflame",
"committed_at": "2025-06-04T18:28:21Z",
"body_truncated": false,
"is_coding_agent": false
},
{
"oid": "d3612266369f64bb929c1f1fff580e08416ba400",
"body": "* Push all additions\n\n* Add to typings too\n\n* add versionadded\n\n* add missed guild features\n\n* add missing system channel flags\n\n* add missing IntegrationType\n\n* add support for role_subscription_data field on Message\n\n* fill in system message for purchase\n\n* add missing MessageTypes\n\n* Revert doc c\n[…]\nonadded to 3.0\n\n* docs: update versionadded to 3.2\n\n---------\n\nCo-authored-by: teaishealthy <76410798+teaishealthy@users.noreply.github.com>\nCo-authored-by: Oliver Wilkes <oliverwilkes2006@icloud.com>",
"is_bot": false,
"headline": "feat: role subscriptions (#940)",
"author_name": "Soheab",
"author_login": "Soheab",
"committed_at": "2025-04-22T13:08:14Z",
"body_truncated": true,
"is_coding_agent": false
},
{
"oid": "4eb1bf5c0d42906e5f6abb4b068890818cb22f69",
"body": null,
"is_bot": false,
"headline": "docs: fix version detection",
"author_name": "Oliver Wilkes",
"author_login": "ooliver1",
"committed_at": "2025-04-18T14:54:53Z",
"body_truncated": false,
"is_coding_agent": false
},
{
"oid": "1e68317cd10f7365ec08be6d592254acffd314f7",
"body": null,
"is_bot": false,
"headline": "docs(whats-new): add changelogs for 3.1.0",
"author_name": "Oliver Wilkes",
"author_login": "ooliver1",
"committed_at": "2025-04-18T13:59:58Z",
"body_truncated": false,
"is_coding_agent": false
},
{
"oid": "48219f10b84833fe45891a563e7b17494c25d120",
"body": "…ctOptionPayload (#1252)\n\nfix(components): handle missing emoji in SelectOptionPayload",
"is_bot": false,
"headline": "fix(components): prevent UnboundLocalError with missing emoji in Sele…",
"author_name": "Kevin_OVI",
"author_login": "Kevin-OVI",
"committed_at": "2025-04-18T10:38:08Z",
"body_truncated": false,
"is_coding_agent": false
},
{
"oid": "4fde8bfd6c7453895c7695ca4862e0ad7d5ce272",
"body": "* ci(lint): update pyright\n\n* refactor(audit-logs): type ignore entry.extra occurences\n\nThis was the best way I found without using Any or asserting/casting every instance.\nI do not want to do that as audit logs is unrealisrtically typable and needs some magic change to actually do so nicely.\n\n* ref\n[…]\ne__ is for py313+\n\n* refactor(app-cmds): add args kwargs to callbackwrapper.__new__ overloads\n\n* refactor(commands): type ignkre Greedy classgetitem return\n\n* refactor: remove unnecessary type ignores",
"is_bot": false,
"headline": "refactor: update pyright to 1.1.391 (#1235)",
"author_name": "Oliver Wilkes",
"author_login": "ooliver1",
"committed_at": "2025-04-07T10:42:14Z",
"body_truncated": true,
"is_coding_agent": false
},
{
"oid": "ca666c7b9ea99d313e1b654f838d7c45ea9c2344",
"body": "fix(User): Use correct condition for default_avatar index",
"is_bot": false,
"headline": "fix(user): use correct condition for default_avatar index (#1237)",
"author_name": "Kevin_OVI",
"author_login": "Kevin-OVI",
"committed_at": "2025-04-05T02:14:27Z",
"body_truncated": false,
"is_coding_agent": false
},
{
"oid": "21bb7fd6d00855db0debc4028e970c486756fc0c",
"body": "fix(gateway): Handle improper 1000 closures by Discord\n\n\r\n\"Cherry picked\" from https://github.com/Rapptz/discord.py/commit/ed615887f073e0dd74de0c43d56a65934582e903",
"is_bot": false,
"headline": "fix(gateway): handle improper 1000 closures by Discord (#1250)",
"author_name": "Michael Nunley",
"author_login": "Michael-Nunley",
"committed_at": "2025-04-05T02:10:13Z",
"body_truncated": false,
"is_coding_agent": false
},
{
"oid": "ad10846caa7147ad2396c35cecde8cb132e68256",
"body": "fix: specify correct types to enable using Opus on apple silicon\n\npatch derived from https://github.com/Pycord-Development/pycord/commits?author=mattabullock",
"is_bot": false,
"headline": "fix: specify correct types for Opus on Apple Silicon (#1251)",
"author_name": "Arian Daneshvar",
"author_login": "bees",
"committed_at": "2025-04-05T02:09:01Z",
"body_truncated": false,
"is_coding_agent": false
},
{
"oid": "f14f716d12a9b61d20598a8a68c95a09de241d3f",
"body": "* feat: application emojis\n\n* style: auto fixes from pre-commit hooks\n\n* fix: pass application ID to Emoji\n\n* style: auto fixes from pre-commit hooks\n\n---------\n\nCo-authored-by: pre-commit-ci[bot] <66853113+pre-commit-ci[bot]@users.noreply.github.com>",
"is_bot": false,
"headline": "feat: application emojis (#1240)",
"author_name": "Soheab",
"author_login": "Soheab",
"committed_at": "2025-04-05T02:06:43Z",
"body_truncated": false,
"is_coding_agent": false
},
{
"oid": "565487e19af8a72b9433dbcc9ba3aaacb76712e7",
"body": "When editing an event, metadata was not being handled\ncorrectly. This was because the key for the event metadata\nwas 'event_metadata' instead of 'entity_metadata',\nhow it is stated in the API documentation.",
"is_bot": false,
"headline": "fix(http): corrected HTTP request keys for event editing (#1245)",
"author_name": "Daniel Navarro Puche",
"author_login": "hakai-vulpes",
"committed_at": "2025-03-17T14:34:49Z",
"body_truncated": false,
"is_coding_agent": false
},
{
"oid": "73d8c00db90e84f6eb4dbcdd2e75f8958e636e35",
"body": "* Revert \"docs(app-cmds): document SlashCommandMixin.options\" #986\n\n* fix: ci/cd actions with poetry 2.0\n\n* install all groups within ci/cd pipelines\n\n* install all groups within ci/cd pipelines",
"is_bot": false,
"headline": "fix: actions failing due to Poetry upgrades (#1243)",
"author_name": "Ethan",
"author_login": "Skelmis",
"committed_at": "2025-02-03T12:40:30Z",
"body_truncated": false,
"is_coding_agent": false
},
{
"oid": "eaae882a6bc182a85a867c265ce9b797aaaac56c",
"body": null,
"is_bot": false,
"headline": "docs(whats-new): add mention of iterator changes",
"author_name": "Oliver Wilkes",
"author_login": "ooliver1",
"committed_at": "2024-12-25T14:11:06Z",
"body_truncated": false,
"is_coding_agent": false
},
{
"oid": "d8049a7b56124dd126e0f203cb1b69be41cb86b0",
"body": null,
"is_bot": false,
"headline": "ci(publish): fetch all references for all tags",
"author_name": "Oliver Wilkes",
"author_login": "ooliver1",
"committed_at": "2024-12-25T00:28:08Z",
"body_truncated": false,
"is_coding_agent": false
},
{
"oid": "ef945a8cac4aba2a23c590995c9d03418caaced9",
"body": null,
"is_bot": false,
"headline": "ci(publish): fix entire action",
"author_name": "Oliver Wilkes",
"author_login": "ooliver1",
"committed_at": "2024-12-25T00:25:45Z",
"body_truncated": false,
"is_coding_agent": false
},
{
"oid": "cf77a8a475842d6c42359e5778621bf16d10a236",
"body": null,
"is_bot": false,
"headline": "docs(whats-new): add changelogs for 3.0",
"author_name": "Oliver Wilkes",
"author_login": "ooliver1",
"committed_at": "2024-12-24T23:53:28Z",
"body_truncated": false,
"is_coding_agent": false
},
{
"oid": "9083912f1fa5e62778d4b387753bbd91bc45aef8",
"body": "* refactor!: rewrite async iterators to not use classes\r\n\r\n* refactor!: rewrite ban & audit log iterators\r\n\r\n* docs: represent changes in Reaction.users docstring\r\n\r\n* refactor!: finish iterator rewrite\r\n\r\n* style: auto fixes from pre-commit hooks\r\n\r\n* refactor: update audit log iterators\r\n\r\n* style\n[…]\nech <50607143+EmreTech@users.noreply.github.com>\r\nCo-authored-by: pre-commit-ci[bot] <66853113+pre-commit-ci[bot]@users.noreply.github.com>\r\nCo-authored-by: Oliver Wilkes <oliverwilkes2006@icloud.com>",
"is_bot": false,
"headline": "refactor!: rewrite async iterators (#950)",
"author_name": "Emma Terzioglu",
"author_login": "EmmmaTech",
"committed_at": "2024-12-24T17:48:37Z",
"body_truncated": true,
"is_coding_agent": false
},
{
"oid": "37d72bd09584076d43331ee966c52eea2f5de9e6",
"body": "* build: set minimum python version to 3.12\r\n\r\n* style: auto fixes from pre-commit hooks\r\n\r\n* refactor(utils): remove py310 specific code\r\n\r\n* ci(rtd): update build python version\r\n\r\n* docs: update min py version notices\r\n\r\n* ci: update slotscheck\r\n\r\n---------\r\n\r\nCo-authored-by: pre-commit-ci[bot] <66853113+pre-commit-ci[bot]@users.noreply.github.com>",
"is_bot": false,
"headline": "build: set minimum python version to 3.12 (#1234)",
"author_name": "Oliver Wilkes",
"author_login": "ooliver1",
"committed_at": "2024-12-23T23:36:36Z",
"body_truncated": false,
"is_coding_agent": false
},
{
"oid": "e6aa248d4bcc56364aa0c7882efe9392354f47b4",
"body": "* feat(utils): add `integration_type` to `oauth_url` helper\r\n\r\n* not my change\r\n\r\n* fix!: don't set a default on integration_type",
"is_bot": false,
"headline": "feat(utils): add `integration_type` to `oauth_url` helper (#1208)",
"author_name": "Luvuyo Khumalo-Silubane",
"author_login": "spifory",
"committed_at": "2024-12-23T12:25:48Z",
"body_truncated": false,
"is_coding_agent": false
},
{
"oid": "abb566c2ce712142da455534ae8b84d0557a8f04",
"body": "* feat(member): add guild banners\r\n\r\n* fix(member): use private banner attr at inner user\r\n\r\n* refactor: png -> webp",
"is_bot": false,
"headline": "feat(member): add guild banners (#1207)",
"author_name": "Luvuyo Khumalo-Silubane",
"author_login": "spifory",
"committed_at": "2024-12-23T12:24:39Z",
"body_truncated": false,
"is_coding_agent": false
},
{
"oid": "c8d09cd0029dfe182fa49819749f67d5222c360b",
"body": "* feat(permissions): add new all_channel perms\r\n\r\n* feat(permissions): add new general perms",
"is_bot": false,
"headline": "feat(permissions): update Permission classmethods (#1223)",
"author_name": "Oliver Wilkes",
"author_login": "ooliver1",
"committed_at": "2024-12-22T12:09:22Z",
"body_truncated": false,
"is_coding_agent": false
},
{
"oid": "798e714c9751964280b8dd2e084598e0e3738b1b",
"body": "* fix(client): remove duplication of views in views/all_views\r\n\r\n* style: auto fixes from pre-commit hooks\r\n\r\n---------\r\n\r\nCo-authored-by: pre-commit-ci[bot] <66853113+pre-commit-ci[bot]@users.noreply.github.com>",
"is_bot": false,
"headline": "fix(client): remove duplication of views in views/all_views (#1228)",
"author_name": "Oliver Wilkes",
"author_login": "ooliver1",
"committed_at": "2024-12-22T12:08:44Z",
"body_truncated": false,
"is_coding_agent": false
},
{
"oid": "f9c4a4db45079159d38b7ac82c3604921ad62b98",
"body": "* feat: add voice messages\r\n\r\n* fix(message)!: make waveform read-only\r\n\r\n* fix(types): make fields NotRequired\r\n\r\nCo-authored-by: Emre Terzioglu <50607143+EmreTech@users.noreply.github.com>\r\n\r\n* fix(message): convert private attribute\r\n\r\neven I don't know what happened here\r\n\r\nCo-authored-by: Emre \n[…]\nge): use cached_slot_property\r\n\r\n---------\r\n\r\nCo-authored-by: Emre Terzioglu <50607143+EmreTech@users.noreply.github.com>\r\nCo-authored-by: teaishealthy <76410798+teaishealthy@users.noreply.github.com>",
"is_bot": false,
"headline": "feat: add voice messages (#1111)",
"author_name": "Luvuyo Khumalo-Silubane",
"author_login": "spifory",
"committed_at": "2024-12-22T11:29:01Z",
"body_truncated": true,
"is_coding_agent": false
},
{
"oid": "10346bffe55b0f000c2047c4567a82759aa0d48a",
"body": "* chore: Upgrade Sphinx to 6.2.0 to allow building on Python 3.13\r\n\r\n* Fix: Add a period that was missing in version string",
"is_bot": false,
"headline": "chore: Upgrade Sphinx to 6.2.0 to allow building on Python 3.13 (#1221)",
"author_name": "Lev Bernstein",
"author_login": "LevBernstein",
"committed_at": "2024-11-25T05:31:00Z",
"body_truncated": false,
"is_coding_agent": false
},
{
"oid": "9b7349dfa76f9dc697709c525ba1798c06fc65d8",
"body": null,
"is_bot": false,
"headline": "ci(lint): Add Python 3.13 to lint version matrix (#1224)",
"author_name": "Lev Bernstein",
"author_login": "LevBernstein",
"committed_at": "2024-11-25T05:29:28Z",
"body_truncated": false,
"is_coding_agent": false
},
{
"oid": "fac8280078ff5402b15c85e8070b49bee5ea70e7",
"body": null,
"is_bot": false,
"headline": "build(player): migrate to audioop-lts on Python >= 3.13 (#1225)",
"author_name": "Lev Bernstein",
"author_login": "LevBernstein",
"committed_at": "2024-11-25T05:28:43Z",
"body_truncated": false,
"is_coding_agent": false
},
{
"oid": "1807e5d768162312546936a1870c392933545dbe",
"body": "updates:\r\n- [github.com/astral-sh/ruff-pre-commit: v0.6.3 → v0.7.4](https://github.com/astral-sh/ruff-pre-commit/compare/v0.6.3...v0.7.4)\r\n- [github.com/psf/black: 24.8.0 → 24.10.0](https://github.com/psf/black/compare/24.8.0...24.10.0)\r\n- [github.com/pre-commit/pre-commit-hooks: v4.6.0 → v5.0.0](https://github.com/pre-commit/pre-commit-hooks/compare/v4.6.0...v5.0.0)\r\n\r\nCo-authored-by: pre-commit-ci[bot] <66853113+pre-commit-ci[bot]@users.noreply.github.com>",
"is_bot": true,
"headline": "ci(pre-commit): autoupdate hook versions (#1210)",
"author_name": "pre-commit-ci[bot]",
"author_login": "pre-commit-ci[bot]",
"committed_at": "2024-11-22T16:20:16Z",
"body_truncated": false,
"is_coding_agent": false
},
{
"oid": "de91a42945720058199c641946d2467f51f1da24",
"body": "…ons.create_events` (#1094)\n\n* feat(permissions): add `Permissions.create_expressions`\r\n\r\n* docs(permissions): change `the` to `a`\r\n\r\nconsistency or something\r\n\r\n* feat(permissions): add `PermissionOverwrite.create_expressions`\r\n\r\n* feat(permissions): add `create_events` flag\r\n\r\n* style: auto fixes \n[…]\ns.noreply.github.com>\r\nCo-authored-by: Ethan <47520067+Skelmis@users.noreply.github.com>\r\nCo-authored-by: Oliver Wilkes <oliverwilkes2006@icloud.com>\r\nCo-authored-by: skelmis <skelmis.craft@gmail.com>",
"is_bot": false,
"headline": "feat(permissions): add `Permissions.create_expressions` and `Permissi…",
"author_name": "Luvuyo Khumalo-Silubane",
"author_login": "spifory",
"committed_at": "2024-11-21T13:20:50Z",
"body_truncated": true,
"is_coding_agent": false
},
{
"oid": "1e10016d714b0bb4bfd24c14847b491709e29c9e",
"body": "* feat(guild): add `bulk_ban` function\r\n\r\n* style: auto fixes from pre-commit hooks\r\n\r\n* style: un-format Guild.afk_channel\r\n\r\nCtrl + S must've formatted the whole file, this is irrelevant to what I'm adding\r\n\r\n* docs(api): add BulkBan\r\n\r\n* docs(guild): add suggested changes\r\n\r\n* refactor(guild)!: m\n[…]\ne oopsy\r\n\r\n* docs(guild): add two colons to versionadded\r\n\r\n* fix(http): users_ids -> user_ids\r\n\r\n---------\r\n\r\nCo-authored-by: pre-commit-ci[bot] <66853113+pre-commit-ci[bot]@users.noreply.github.com>",
"is_bot": false,
"headline": "feat(guild): add `bulk_ban` function (#1172)",
"author_name": "Luvuyo Khumalo-Silubane",
"author_login": "spifory",
"committed_at": "2024-11-21T13:06:27Z",
"body_truncated": true,
"is_coding_agent": false
},
{
"oid": "5c5acf6343cda7c0b2c2538ed08e5be5192d873c",
"body": "* feat(guild): add `fetch_role`\r\n\r\n* docs: add NotFound error\r\n\r\n* docs: change \"Retrieves\" into imperative form\r\n\r\n* docs: be more specific",
"is_bot": false,
"headline": "feat(guild): add `fetch_role` (#1206)",
"author_name": "Luvuyo Khumalo-Silubane",
"author_login": "spifory",
"committed_at": "2024-11-21T13:01:03Z",
"body_truncated": false,
"is_coding_agent": false
},
{
"oid": "91236a756c193a615a42361ac895f6d0e8fbca84",
"body": "…p (#1219)",
"is_bot": false,
"headline": "refactor(client): future-proof event loop handling with get_event_loo…",
"author_name": "Lev Bernstein",
"author_login": "LevBernstein",
"committed_at": "2024-11-21T01:40:28Z",
"body_truncated": false,
"is_coding_agent": false
},
{
"oid": "9f7e4bf0e7d8f740cb418d1105146cf583cbc677",
"body": "* feat(enums): add new reference types\r\n\r\n* feat(types): add message snapshot types\r\n\r\n* fix(types): mention not mentions\r\n\r\n* feat: add snapshots to Message\r\n\r\n* docs: add snapshot class\r\n\r\n* fix(message): add class to dunder all\r\n\r\n* feat: add MessageReference.type\r\n\r\n* feat: add forwarding messages to bots",
"is_bot": false,
"headline": "feat: add message snapshots/forwarding (#1209)",
"author_name": "spifory",
"author_login": "spifory",
"committed_at": "2024-10-17T02:36:20Z",
"body_truncated": false,
"is_coding_agent": false
},
{
"oid": "c04dd54df7298f867f4f2791769b275b88dd869b",
"body": "Add missing error for Message.edit",
"is_bot": false,
"headline": "docs: missing NotFound error on Message.edit (#1217)",
"author_name": "iyad-f",
"author_login": "iyad-f",
"committed_at": "2024-10-11T15:22:44Z",
"body_truncated": false,
"is_coding_agent": false
},
{
"oid": "7225562ece323e0b7e713cd0ed9a3699c56f9b16",
"body": "* feat(webhook): support to create posts via webhook\r\n\r\n* style: auto fixes from pre-commit hooks\r\n\r\n---------\r\n\r\nCo-authored-by: pre-commit-ci[bot] <66853113+pre-commit-ci[bot]@users.noreply.github.com>",
"is_bot": false,
"headline": "feat(webhook): support to create posts via webhook (#1190)",
"author_name": "xXenvy",
"author_login": "xXenvy",
"committed_at": "2024-10-08T22:17:06Z",
"body_truncated": false,
"is_coding_agent": false
},
{
"oid": "3d0661cd0eee67c4b846770c7057c66d59ee8ee2",
"body": "… inside cogs (#1004)\n\n* Fix before and after invoke hooks not working for function inside cogs\r\n\r\n* style: auto fixes from pre-commit hooks\r\n\r\n* Update nextcord/application_command.py\r\n\r\nCo-authored-by: teaishealthy <76410798+teaishealthy@users.noreply.github.com>\r\n\r\n* Revert previous change\r\n\r\n* s\n[…]\n[bot] <66853113+pre-commit-ci[bot]@users.noreply.github.com>\r\nCo-authored-by: teaishealthy <76410798+teaishealthy@users.noreply.github.com>\r\nCo-authored-by: Oliver Wilkes <oliverwilkes2006@icloud.com>",
"is_bot": false,
"headline": "fix(app-cmds): before and after invoke hooks not working for function…",
"author_name": "Zackaria Ghanbari",
"author_login": "okay1204",
"committed_at": "2024-10-08T22:10:34Z",
"body_truncated": true,
"is_coding_agent": false
},
{
"oid": "bfbb02bfcf8b56146c2060b0e911cf56ff638884",
"body": "…is not chat_input (#1212)\n\nfix(ConnectionState): do not search for subcommands if command type is not chat_input\r\nFixes context menu commands with spaces registering and unregistering with each bot startup",
"is_bot": false,
"headline": "fix(ConnectionState): Skip searching for subcommands if command type …",
"author_name": "Kevin_OVI",
"author_login": "Kevin-OVI",
"committed_at": "2024-09-30T23:33:14Z",
"body_truncated": false,
"is_coding_agent": false
},
{
"oid": "38f61e2939e1f59a6478e150e26dd31a1426709c",
"body": "* chore: add missing fields for stage instance\r\n\r\nhttps://discord.com/developers/docs/resources/stage-instance#create-stage-instance\r\n\r\n- guild_scheduled_event_id: https://github.com/discord/discord-api-docs/commit/67ce08b1e300c63e5a1e362838e21fb3fc7b1fcc\r\n\r\n* docs: add missing versionadded strings\r\n[…]\nageInstance.scheduled_event_id to int if possible\r\n\r\n* Fix versionadded's\r\n\r\n---------\r\n\r\nCo-authored-by: skelmis <skelmis.craft@gmail.com>\r\nCo-authored-by: Oliver Wilkes <oliverwilkes2006@icloud.com>",
"is_bot": false,
"headline": "feat: add missing fields for stage instance (#1132)",
"author_name": "Soheab",
"author_login": "Soheab",
"committed_at": "2024-09-08T05:38:24Z",
"body_truncated": true,
"is_coding_agent": false
},
{
"oid": "d9171911a3ca97dbe9c13d4dcff26e158aeced04",
"body": "* revert: \"Revert \"docs(app-cmds): document SlashCommandMixin.options\" (#1040)\"\r\n\r\nThis reverts commit cd36094ba4aec4fd45e81b3267089e71bd5b796b.\r\n\r\n* fix(app-cmds): add a setter to .options",
"is_bot": false,
"headline": "docs(app-cmds): document SlashCommandMixin.options (#1044)",
"author_name": "Oliver Wilkes",
"author_login": "ooliver1",
"committed_at": "2024-09-07T13:10:57Z",
"body_truncated": false,
"is_coding_agent": false
},
{
"oid": "e8da6491272f0430f865c3fa3ae2841b6cfd3dbb",
"body": "* refactor: move listeners to the main library\r\n\r\n* fix: pyright errors\r\n\r\n* fix: TYPE_CHECKING import was used at runtime\r\n\r\n* docs: replace reference to bot w/ client\r\n\r\nCo-authored-by: spifory <luvuyosilubane50@gmail.com>\r\n\r\n* style: auto fixes from pre-commit hooks\r\n\r\n* style: ruff fixes\r\n\r\n* fi\n[…]\n: EmreTech <50607143+EmreTech@users.noreply.github.com>\r\nCo-authored-by: spifory <luvuyosilubane50@gmail.com>\r\nCo-authored-by: pre-commit-ci[bot] <66853113+pre-commit-ci[bot]@users.noreply.github.com>",
"is_bot": false,
"headline": "refactor: move listeners to the main library (#917)",
"author_name": "Emma Terzioglu",
"author_login": "EmmmaTech",
"committed_at": "2024-09-07T13:04:04Z",
"body_truncated": true,
"is_coding_agent": false
},
{
"oid": "c618cf87801cf4123ef4e1e7675d27afed940c2e",
"body": "…ads (#1160)\n\n* (hopefully) allow editing webhook messages in threads\r\n\r\n* (hopefully) allow webhooks to edit messages in threads\r\n\r\n* docs ! docs are important\r\n\r\n* thats not supposed to be there\r\n\r\n* that's also! not supposed to be there\r\n\r\n* i think thats supposed to be down more .\r\n\r\n* style: au\n[…]\nd version to async\r\n\r\n* add version added to sync\r\n\r\n* style: auto fixes from pre-commit hooks\r\n\r\n---------\r\n\r\nCo-authored-by: pre-commit-ci[bot] <66853113+pre-commit-ci[bot]@users.noreply.github.com>",
"is_bot": false,
"headline": "feat(webhooks): allow editing webhook messages that were sent in thre…",
"author_name": "Edna",
"author_login": "Ednaordinary",
"committed_at": "2024-09-07T12:54:52Z",
"body_truncated": true,
"is_coding_agent": false
},
{
"oid": "2e51193cd3a6860f8631e8feefe075c9e527d329",
"body": "* ci(pre-commit): autoupdate hook versions\r\n\r\n\r\nupdates:\r\n- [github.com/astral-sh/ruff-pre-commit: v0.1.11 → v0.6.3](https://github.com/astral-sh/ruff-pre-commit/compare/v0.1.11...v0.6.3)\r\n- [github.com/psf/black: 23.12.1 → 24.8.0](https://github.com/psf/black/compare/23.12.1...24.8.0)\r\n- [github.co\n[…]\n-commit/pre-commit-hooks/compare/v4.5.0...v4.6.0)\r\n\r\n* style: auto fixes from pre-commit hooks\r\n\r\n---------\r\n\r\nCo-authored-by: pre-commit-ci[bot] <66853113+pre-commit-ci[bot]@users.noreply.github.com>",
"is_bot": true,
"headline": "ci(pre-commit): autoupdate hook versions (#1161)",
"author_name": "pre-commit-ci[bot]",
"author_login": "pre-commit-ci[bot]",
"committed_at": "2024-09-07T12:30:11Z",
"body_truncated": true,
"is_coding_agent": false
},
{
"oid": "eb1b80198c7073a1e0a592f3968b7c47c51d1fd3",
"body": "* feat(app-cmds): Implement User-Installed Apps\r\n\r\n* style: auto fixes from pre-commit hooks\r\n\r\n* style: Fix failing check\r\n\r\n* docs(enums): Add missing periods in enum docstrings\r\n\r\n* feat(Client): Implement new application commands parameters\r\n\r\n* feat(Interaction & Message & AppInfo): Implement m\n[…]\npre-commit-ci[bot]@users.noreply.github.com>\r\nCo-authored-by: teaishealthy <76410798+teaishealthy@users.noreply.github.com>\r\nCo-authored-by: Emma Terzioglu <50607143+EmreTech@users.noreply.github.com>",
"is_bot": false,
"headline": "feat(app-cmds): Implement User-Installed Apps (#1181)",
"author_name": "Kevin_OVI",
"author_login": "Kevin-OVI",
"committed_at": "2024-09-02T21:03:02Z",
"body_truncated": true,
"is_coding_agent": false
},
{
"oid": "0a5cef87d4e33f9bce5fbcd665330d0f5604aca2",
"body": "* Revert \"docs(app-cmds): document SlashCommandMixin.options\" #986\r\n\r\n* fix: NameError within isinstance check\r\n\r\n* style: auto fixes from pre-commit hooks\r\n\r\n* chore: PR feedback\r\n\r\n* style: auto fixes from pre-commit hooks\r\n\r\n* chore: PR feedback\r\n\r\n---------\r\n\r\nCo-authored-by: pre-commit-ci[bot] <66853113+pre-commit-ci[bot]@users.noreply.github.com>",
"is_bot": false,
"headline": "fix: NameError within slash command isinstance check (#1204)",
"author_name": "Ethan",
"author_login": "Skelmis",
"committed_at": "2024-08-31T17:56:51Z",
"body_truncated": false,
"is_coding_agent": false
},
{
"oid": "943e60bd0f393ddda41f50e1d5fe9ccaef3f51c5",
"body": "…201)\n\n* chore(abc): Add SupportsStr ABC\r\n\r\nSupportsStr allows the typechecker to see if a class has implemented the __str__ magic method\r\n\r\n* typing(embeds): Change method typing to include SupportsStr were needed\r\n\r\nEmbed methods can now accept classs instances that have implemented the __str__ ma\n[…]\nns, Internal str() conversions have also been removed as requested.\r\n\r\n* fix(custom-interaction): Resolves an issue due to a typing change, icon_url now gets passed the url instead of the Asset object",
"is_bot": false,
"headline": "typing(embeds): Retype embed methods to accept str instead of any (#1…",
"author_name": "Jodenee",
"author_login": "Jodenee",
"committed_at": "2024-08-29T15:31:26Z",
"body_truncated": true,
"is_coding_agent": false
},
{
"oid": "676ae52f17d169591032867ddecf1153fee4749b",
"body": "* fix: apply new user global_name on user update\r\n\r\n* fix: remove unintended backtick",
"is_bot": false,
"headline": "fix(User): apply new user global_name on user update (#1203)",
"author_name": "green.",
"author_login": "greeeen-dev",
"committed_at": "2024-08-23T14:25:38Z",
"body_truncated": false,
"is_coding_agent": false
},
{
"oid": "b8757ed13e13ab5b149ca0cbc0a0af155f62f7f9",
"body": "* modify Client.run()\r\n\r\nSigned-off-by: Alex Schoenhofen <alexanderschoenhofen@gmail.com>\r\n\r\n* change Client.run() args\r\n\r\nSigned-off-by: Alex Schoenhofen <alexanderschoenhofen@gmail.com>\r\n\r\n* document _cleanup_loop, rea-add sigterm handling.\r\n\r\nSigned-off-by: Alex Schoenhofen <alexanderschoenhofen@\n[…]\n, add tiny sleep to allow cancelled tasks to cancel\r\n\r\nSigned-off-by: Alex Schoenhofen <alexanderschoenhofen@gmail.com>\r\n\r\n---------\r\n\r\nSigned-off-by: Alex Schoenhofen <alexanderschoenhofen@gmail.com>",
"is_bot": false,
"headline": "refactor: simplify Client.run() (#1196)",
"author_name": "Alex Schoenhofen",
"author_login": "alentoghostflame",
"committed_at": "2024-08-12T22:34:11Z",
"body_truncated": true,
"is_coding_agent": false
},
{
"oid": "59bb2ec1fbf1351c91151087d27e1594fbd94881",
"body": "…ge (#1157)\n\n* fix: check View.prevent_update in Webhook.send and Webhook.edit\r\n\r\n* style: auto fixes from pre-commit hooks\r\n\r\n---------\r\n\r\nCo-authored-by: pre-commit-ci[bot] <66853113+pre-commit-ci[bot]@users.noreply.github.com>",
"is_bot": false,
"headline": "fix: check View.prevent_update in Webhook.send and Webhook.edit_messa…",
"author_name": "Kevin_OVI",
"author_login": "Kevin-OVI",
"committed_at": "2024-08-11T04:17:18Z",
"body_truncated": false,
"is_coding_agent": false
},
{
"oid": "b87b0a70ebf3f95e5f27cbb04e4c0e9bb7b8fda5",
"body": "* fix(enums): Add `InviteType` to __all__\r\n\r\n* docs(enums): Add `InviteType`to the Enumerations section",
"is_bot": false,
"headline": "docs(enums): Add `InviteType` to the Enumerations section (#1200)",
"author_name": "Kevin_OVI",
"author_login": "Kevin-OVI",
"committed_at": "2024-07-26T08:08:38Z",
"body_truncated": false,
"is_coding_agent": false
},
{
"oid": "9785cb70be9659ecca193b76ca755bb6929dd696",
"body": "* docs(AuditLogEntry): document missing attribute\r\n\r\n* Apply ooliver solution\r\n\r\nCo-authored-by: Oliver Wilkes <oliverwilkes2006@icloud.com>\r\n\r\n---------\r\n\r\nCo-authored-by: Oliver Wilkes <oliverwilkes2006@icloud.com>",
"is_bot": false,
"headline": "docs(audit-logs): document missing attribute (#1188)",
"author_name": "xXenvy",
"author_login": "xXenvy",
"committed_at": "2024-06-26T21:53:07Z",
"body_truncated": false,
"is_coding_agent": false
},
{
"oid": "eaa782b73ccf4b1e1969f04199ea4f94fd24597b",
"body": "Fix typo",
"is_bot": false,
"headline": "docs(automod): fix typo of intents.message_content (#1194)",
"author_name": "MaskDuck",
"author_login": "MaskDuck",
"committed_at": "2024-06-26T04:27:09Z",
"body_truncated": false,
"is_coding_agent": false
},
{
"oid": "3c4522b0059b756c8cffdbfd956bf4864b013a6c",
"body": null,
"is_bot": false,
"headline": "doc: add clarification to executable param (#1165)",
"author_name": "Ethan",
"author_login": "Skelmis",
"committed_at": "2024-06-14T09:36:48Z",
"body_truncated": false,
"is_coding_agent": false
},
{
"oid": "e0b7f9f183dc9fc9c4f2f898c9d30ed0c3a12a92",
"body": "* feat: add list of webhooks to forum, stage, and voice channels\r\n\r\n* fix docstring (version)\r\n\r\n* style: auto fixes from pre-commit hooks\r\n\r\n* Update version per review\r\n\r\nCo-authored-by: Emma Terzioglu <50607143+EmreTech@users.noreply.github.com>\r\n\r\n---------\r\n\r\nCo-authored-by: Acco <contact@acco4321.com>\r\nCo-authored-by: pre-commit-ci[bot] <66853113+pre-commit-ci[bot]@users.noreply.github.com>\r\nCo-authored-by: Emma Terzioglu <50607143+EmreTech@users.noreply.github.com>",
"is_bot": false,
"headline": "feat: add list of webhooks to forum, stage, and voice channels (#1177)",
"author_name": "acco4321",
"author_login": "acco4321",
"committed_at": "2024-06-14T07:35:57Z",
"body_truncated": false,
"is_coding_agent": false
},
{
"oid": "79d756d179fba450c5e5d44e7198789900ce6086",
"body": "* feat(invite): add `type` attribute\r\n\r\n* docs(enums): add remaning period to group_dm\r\n\r\nCo-authored-by: Arjun Sharda <77706434+ArjunSharda@users.noreply.github.com>\r\n\r\n* docs(enums): change versionadded to 3.0\r\n\r\nNo more python 3.10 support, sorry guys :(\r\n\r\n* docs(invite): add newline between ver\n[…]\nTech@users.noreply.github.com>\r\n\r\n---------\r\n\r\nCo-authored-by: Arjun Sharda <77706434+ArjunSharda@users.noreply.github.com>\r\nCo-authored-by: Emma Terzioglu <50607143+EmreTech@users.noreply.github.com>",
"is_bot": false,
"headline": "feat(invite): add `type` attribute (#1173)",
"author_name": "spifory",
"author_login": "spifory",
"committed_at": "2024-06-14T07:31:59Z",
"body_truncated": true,
"is_coding_agent": false
},
{
"oid": "cc64fb197c9eeefecfbc0c1e4d57f73b26e2270e",
"body": "feat(WidgetMember): update display_name method to include global_name\r\n\r\nCo-authored-by: skelmis <skelmis.craft@gmail.com>",
"is_bot": false,
"headline": "feat(widget): update display_name method to include global_name (#1183)",
"author_name": "Kevin_OVI",
"author_login": "Kevin-OVI",
"committed_at": "2024-06-14T06:50:57Z",
"body_truncated": false,
"is_coding_agent": false
},
{
"oid": "e497474d61517df50e9e450ef8f94babccd8c294",
"body": "feat(auto_moderation): Add custom_message support (#1192)",
"is_bot": false,
"headline": "feat(auto_moderation): Add custom_message support (#1192)",
"author_name": "Gloria",
"author_login": "yeah-its-gloria",
"committed_at": "2024-06-14T06:31:54Z",
"body_truncated": false,
"is_coding_agent": false
},
{
"oid": "1d97d5d91910d84280c129d3bf7bb647ee4ce7fb",
"body": null,
"is_bot": false,
"headline": "fix: name version metadata properly in __main__",
"author_name": "Oliver Wilkes",
"author_login": "ooliver1",
"committed_at": "2024-06-13T10:40:35Z",
"body_truncated": false,
"is_coding_agent": false
},
{
"oid": "67be9b938560c5377eb448ca980f29f96ed0f2ee",
"body": null,
"is_bot": false,
"headline": "fix: use importlib.metadata for version finding",
"author_name": "Oliver Wilkes",
"author_login": "ooliver1",
"committed_at": "2024-06-13T10:39:30Z",
"body_truncated": false,
"is_coding_agent": false
},
{
"oid": "e339f197768c5778b25490238bc2911ce0dc1ac4",
"body": "* removal!: deprecations from 2.0\r\n\r\n* style: auto fixes from pre-commit hooks\r\n\r\n---------\r\n\r\nCo-authored-by: pre-commit-ci[bot] <66853113+pre-commit-ci[bot]@users.noreply.github.com>\r\nCo-authored-by: Oliver Wilkes <oliverwilkes2006@icloud.com>",
"is_bot": false,
"headline": "removal!: deprecations from 2.0 (#1129)",
"author_name": "Emma Terzioglu",
"author_login": "EmmmaTech",
"committed_at": "2024-06-12T18:47:49Z",
"body_truncated": false,
"is_coding_agent": false
},
{
"oid": "017cb3699e0bf395b8dbe821f2409e479a3bd3b2",
"body": null,
"is_bot": false,
"headline": "chore: add 3.12 to supported lists (#1135)",
"author_name": "Oliver Wilkes",
"author_login": "ooliver1",
"committed_at": "2024-06-12T18:42:20Z",
"body_truncated": false,
"is_coding_agent": false
},
{
"oid": "5321e860b2c2bb65aa4d0d4db24d31e9aa013cf7",
"body": null,
"is_bot": false,
"headline": "refactor: remove _InteractionMessageState hack (#1186)",
"author_name": "teaishealthy",
"author_login": "teaishealthy",
"committed_at": "2024-05-22T21:23:56Z",
"body_truncated": false,
"is_coding_agent": false
},
{
"oid": "4d4eea08e6b493cb7309275355c5dd7348d92696",
"body": null,
"is_bot": false,
"headline": "chore: remove old autogen excludes (#1184)",
"author_name": "Luvuyo Khumalo",
"author_login": "spifory",
"committed_at": "2024-05-21T16:56:46Z",
"body_truncated": false,
"is_coding_agent": false
},
{
"oid": "570c64008767041371efd9d30ad93f019c553d9b",
"body": "* feat(user): add `banner` param to ClientUser.edit\r\n\r\n* docs(user): give `banner` a description like `avatar`",
"is_bot": false,
"headline": "feat(user): add `banner` param to ClientUser.edit (#1171)",
"author_name": "Luvuyo Khumalo",
"author_login": "spifory",
"committed_at": "2024-05-21T16:28:46Z",
"body_truncated": false,
"is_coding_agent": false
},
{
"oid": "108e9577e6bbfb143f8331473d97f5d6a51110b4",
"body": "…s (#1180)\n\nPrevents the bot from crashing with aiohttp.http_websocket.WebSocketError: Received fragmented control frame\r\nPorted from Discord.py : https://github.com/Rapptz/discord.py/commit/163a86c4a031f7ecd856f45a74da47e63b17bb16",
"is_bot": false,
"headline": "fix(DiscordWebSocket): Raise WebSocketClosure on protocol level error…",
"author_name": "Kevin_OVI",
"author_login": "Kevin-OVI",
"committed_at": "2024-05-18T00:50:25Z",
"body_truncated": false,
"is_coding_agent": false
},
{
"oid": "cf81368144ec36fe87dadd8dd8e1d5aaaa0eedf7",
"body": "* Initial Commit\r\n\r\nSigned-off-by: Alex Schoenhofen <alexanderschoenhofen@gmail.com>\r\n\r\n* style: auto fixes from pre-commit hooks\r\n\r\n* Removes some commented code, attempts to fix some pyright concerns by raising errors instead.\r\n\r\nSigned-off-by: Alex Schoenhofen <alexanderschoenhofen@gmail.com>\r\n\r\n\n[…]\nreply.github.com>\r\nCo-authored-by: Alex <alex@darkkingdom.lan>\r\nCo-authored-by: Emre Terzioglu <50607143+EmreTech@users.noreply.github.com>\r\nCo-authored-by: Oliver Wilkes <oliverwilkes2006@icloud.com>",
"is_bot": false,
"headline": "refactor: HTTPClient Re-Core (#1057)",
"author_name": "Alex Schoenhofen",
"author_login": "alentoghostflame",
"committed_at": "2024-05-17T22:05:48Z",
"body_truncated": true,
"is_coding_agent": false
},
{
"oid": "2b6c44114362b2f5a78fe02d9e17733894be88c6",
"body": null,
"is_bot": false,
"headline": "ci(pre-commit): run autotyping first",
"author_name": "Oliver Wilkes",
"author_login": "ooliver1",
"committed_at": "2024-05-16T19:01:05Z",
"body_truncated": false,
"is_coding_agent": false
},
{
"oid": "50dd5d5c16ce27411bdc129e78e744ffd5417312",
"body": null,
"is_bot": false,
"headline": "refactor: run pre-commit again",
"author_name": "Oliver Wilkes",
"author_login": "ooliver1",
"committed_at": "2024-05-16T18:59:56Z",
"body_truncated": false,
"is_coding_agent": false
},
{
"oid": "891869ac9c0933069c065e4007807e02686570e4",
"body": null,
"is_bot": false,
"headline": "ci(pre-commit): libcst 1.3 does not detect modules properly",
"author_name": "Oliver Wilkes",
"author_login": "ooliver1",
"committed_at": "2024-05-16T18:52:16Z",
"body_truncated": false,
"is_coding_agent": false
},
{
"oid": "db8d3f9043a264fb5dc25c747e144436cbabcc5a",
"body": null,
"is_bot": false,
"headline": "ci(pre-commit): update autotyping dependencies",
"author_name": "Oliver Wilkes",
"author_login": "ooliver1",
"committed_at": "2024-05-16T18:40:52Z",
"body_truncated": false,
"is_coding_agent": false
},
{
"oid": "0216fa8911f33bd4fb3c6324ef1925fbec8496d1",
"body": "…e (#1123)",
"is_bot": false,
"headline": "feat(User & Member): update display_name method to include global_nam…",
"author_name": "ToasterUwU",
"author_login": "ToasterUwU",
"committed_at": "2024-04-23T22:30:49Z",
"body_truncated": false,
"is_coding_agent": false
},
{
"oid": "c11817e86a36dc3514fd20ad427c510e06fefe3a",
"body": null,
"is_bot": false,
"headline": "ci(readthedocs): resolve poetry install errors",
"author_name": "Oliver Wilkes",
"author_login": "ooliver1",
"committed_at": "2024-03-23T19:41:12Z",
"body_truncated": false,
"is_coding_agent": false
},
{
"oid": "315852cccd4f07500f8664f465e68bb8563b8ee8",
"body": "* docs: update required permissions for prune\n\n* docs: mention kick_members too\n\n* docs: final syntactic fixes :)",
"is_bot": false,
"headline": "docs: update required permissions for prune (#1169)",
"author_name": "vcokltfre",
"author_login": "vcokltfre",
"committed_at": "2024-03-22T17:12:10Z",
"body_truncated": false,
"is_coding_agent": false
},
{
"oid": "1c860268afc42f4bc770f1abd0a137e0ce41d006",
"body": "updates:\r\n- [github.com/astral-sh/ruff-pre-commit: v0.1.6 → v0.1.11](https://github.com/astral-sh/ruff-pre-commit/compare/v0.1.6...v0.1.11)\r\n- [github.com/psf/black: 23.11.0 → 23.12.1](https://github.com/psf/black/compare/23.11.0...23.12.1)\r\n\r\nCo-authored-by: pre-commit-ci[bot] <66853113+pre-commit-ci[bot]@users.noreply.github.com>",
"is_bot": true,
"headline": "ci(pre-commit): autoupdate hook versions (#1153)",
"author_name": "pre-commit-ci[bot]",
"author_login": "pre-commit-ci[bot]",
"committed_at": "2024-01-15T10:20:21Z",
"body_truncated": false,
"is_coding_agent": false
},
{
"oid": "0d050c2540d6085cfca2efe35db839680de53808",
"body": "Co-authored-by: Ethan <47520067+Skelmis@users.noreply.github.com>",
"is_bot": false,
"headline": "feat(commands): add extras kwarg to bot.reload_extension (#1158)",
"author_name": "Jodenee",
"author_login": "Jodenee",
"committed_at": "2024-01-01T15:34:59Z",
"body_truncated": false,
"is_coding_agent": false
}
],
"releases_count": 33,
"commits_last_year": 26,
"latest_release_at": "2026-05-21T18:00:26Z",
"latest_release_tag": "v3.2.0",
"releases_from_tags": false,
"days_since_last_push": 6,
"active_weeks_last_year": 10,
"days_since_latest_release": 66,
"mean_days_between_releases": 129.5
},
"community": {
"has_readme": true,
"has_license": true,
"has_description": true,
"has_contributing": true,
"health_percentage": 75,
"has_issue_template": false,
"has_code_of_conduct": false,
"has_pull_request_template": true
},
"ecosystem": {
"packages": [
{
"name": "nextcord",
"exists": true,
"license": "MIT",
"keywords": [
"Development Status :: 5 - Production/Stable",
"Framework :: AsyncIO",
"Framework :: aiohttp",
"Intended Audience :: Developers",
"License :: OSI Approved :: MIT License",
"Natural Language :: English",
"Operating System :: OS Independent",
"Programming Language :: Python :: 3",
"Programming Language :: Python :: 3.12",
"Programming Language :: Python :: 3.13",
"Programming Language :: Python :: 3.14",
"Topic :: Internet",
"Topic :: Software Development :: Libraries",
"Topic :: Software Development :: Libraries :: Python Modules",
"Topic :: Utilities",
"Typing :: Typed"
],
"ecosystem": "pypi",
"matches_repo": true,
"registry_url": "https://pypi.org/project/nextcord/",
"is_deprecated": false,
"latest_version": "3.2.0",
"repository_url": "https://github.com/nextcord/nextcord",
"versions_count": 35,
"total_downloads": null,
"dependents_count": null,
"deprecation_note": null,
"maintainers_count": null,
"monthly_downloads": null,
"first_published_at": "2021-08-28T13:33:34.441827Z",
"latest_published_at": "2026-05-21T18:01:18.234807Z",
"latest_version_yanked": null,
"days_since_latest_publish": 66
}
]
},
"popularity": {
"forks": 206,
"stars": 1266,
"watchers": 10,
"fork_history": {
"days": [
{
"date": "2021-08-28",
"count": 1
},
{
"date": "2021-08-29",
"count": 5
},
{
"date": "2021-08-30",
"count": 2
},
{
"date": "2021-09-01",
"count": 1
},
{
"date": "2021-09-02",
"count": 1
},
{
"date": "2021-09-04",
"count": 2
},
{
"date": "2021-09-14",
"count": 1
},
{
"date": "2021-09-21",
"count": 2
},
{
"date": "2021-10-05",
"count": 2
},
{
"date": "2021-10-06",
"count": 3
},
{
"date": "2021-10-10",
"count": 1
},
{
"date": "2021-10-20",
"count": 1
},
{
"date": "2021-10-23",
"count": 1
},
{
"date": "2021-10-25",
"count": 1
},
{
"date": "2021-10-29",
"count": 2
},
{
"date": "2021-10-30",
"count": 3
},
{
"date": "2021-10-31",
"count": 1
},
{
"date": "2021-11-05",
"count": 1
},
{
"date": "2021-11-06",
"count": 1
},
{
"date": "2021-11-13",
"count": 1
},
{
"date": "2021-11-16",
"count": 1
},
{
"date": "2021-11-18",
"count": 1
},
{
"date": "2021-11-19",
"count": 1
},
{
"date": "2021-11-23",
"count": 1
},
{
"date": "2021-11-24",
"count": 1
},
{
"date": "2021-11-29",
"count": 1
},
{
"date": "2021-12-08",
"count": 2
},
{
"date": "2021-12-09",
"count": 1
},
{
"date": "2021-12-10",
"count": 1
},
{
"date": "2021-12-16",
"count": 2
},
{
"date": "2021-12-22",
"count": 1
},
{
"date": "2021-12-23",
"count": 1
},
{
"date": "2021-12-26",
"count": 1
},
{
"date": "2021-12-29",
"count": 1
},
{
"date": "2021-12-31",
"count": 1
},
{
"date": "2022-01-12",
"count": 1
},
{
"date": "2022-01-23",
"count": 1
},
{
"date": "2022-01-26",
"count": 2
},
{
"date": "2022-01-28",
"count": 1
},
{
"date": "2022-01-30",
"count": 1
},
{
"date": "2022-02-12",
"count": 1
},
{
"date": "2022-02-13",
"count": 1
},
{
"date": "2022-02-15",
"count": 2
},
{
"date": "2022-02-21",
"count": 1
},
{
"date": "2022-03-01",
"count": 1
},
{
"date": "2022-03-05",
"count": 2
},
{
"date": "2022-03-07",
"count": 1
},
{
"date": "2022-03-09",
"count": 1
},
{
"date": "2022-03-16",
"count": 2
},
{
"date": "2022-03-18",
"count": 1
},
{
"date": "2022-03-19",
"count": 1
},
{
"date": "2022-03-23",
"count": 1
},
{
"date": "2022-03-24",
"count": 1
},
{
"date": "2022-03-26",
"count": 1
},
{
"date": "2022-04-04",
"count": 1
},
{
"date": "2022-04-05",
"count": 1
},
{
"date": "2022-04-08",
"count": 1
},
{
"date": "2022-04-10",
"count": 2
},
{
"date": "2022-04-12",
"count": 1
},
{
"date": "2022-04-14",
"count": 1
},
{
"date": "2022-04-17",
"count": 1
},
{
"date": "2022-04-21",
"count": 1
},
{
"date": "2022-04-25",
"count": 1
},
{
"date": "2022-05-02",
"count": 1
},
{
"date": "2022-05-07",
"count": 1
},
{
"date": "2022-05-08",
"count": 1
},
{
"date": "2022-05-09",
"count": 1
},
{
"date": "2022-05-10",
"count": 1
},
{
"date": "2022-05-13",
"count": 1
},
{
"date": "2022-05-17",
"count": 1
},
{
"date": "2022-05-26",
"count": 1
},
{
"date": "2022-06-02",
"count": 2
},
{
"date": "2022-06-08",
"count": 1
},
{
"date": "2022-06-10",
"count": 1
},
{
"date": "2022-06-14",
"count": 1
},
{
"date": "2022-06-18",
"count": 1
},
{
"date": "2022-06-22",
"count": 1
},
{
"date": "2022-06-23",
"count": 1
},
{
"date": "2022-06-25",
"count": 1
},
{
"date": "2022-06-27",
"count": 1
},
{
"date": "2022-06-30",
"count": 1
},
{
"date": "2022-07-09",
"count": 1
},
{
"date": "2022-08-09",
"count": 2
},
{
"date": "2022-08-11",
"count": 1
},
{
"date": "2022-08-14",
"count": 1
},
{
"date": "2022-08-15",
"count": 1
},
{
"date": "2022-08-20",
"count": 1
},
{
"date": "2022-08-23",
"count": 1
},
{
"date": "2022-08-26",
"count": 2
},
{
"date": "2022-09-04",
"count": 1
},
{
"date": "2022-09-06",
"count": 1
},
{
"date": "2022-09-09",
"count": 1
},
{
"date": "2022-09-12",
"count": 1
},
{
"date": "2022-09-15",
"count": 1
},
{
"date": "2022-09-27",
"count": 1
},
{
"date": "2022-10-01",
"count": 1
},
{
"date": "2022-10-04",
"count": 1
},
{
"date": "2022-10-05",
"count": 1
},
{
"date": "2022-10-10",
"count": 1
},
{
"date": "2022-10-16",
"count": 1
},
{
"date": "2022-10-27",
"count": 1
},
{
"date": "2022-10-29",
"count": 1
},
{
"date": "2022-11-09",
"count": 1
},
{
"date": "2022-11-13",
"count": 1
},
{
"date": "2022-11-21",
"count": 1
},
{
"date": "2022-11-23",
"count": 1
},
{
"date": "2022-11-24",
"count": 1
},
{
"date": "2022-11-25",
"count": 1
},
{
"date": "2022-12-07",
"count": 1
},
{
"date": "2022-12-15",
"count": 1
},
{
"date": "2022-12-20",
"count": 1
},
{
"date": "2022-12-24",
"count": 1
},
{
"date": "2023-01-04",
"count": 1
},
{
"date": "2023-01-09",
"count": 1
},
{
"date": "2023-02-22",
"count": 3
},
{
"date": "2023-03-10",
"count": 1
},
{
"date": "2023-03-18",
"count": 1
},
{
"date": "2023-03-26",
"count": 1
},
{
"date": "2023-03-30",
"count": 1
},
{
"date": "2023-04-06",
"count": 1
},
{
"date": "2023-04-11",
"count": 1
},
{
"date": "2023-04-16",
"count": 1
},
{
"date": "2023-05-04",
"count": 1
},
{
"date": "2023-06-29",
"count": 1
},
{
"date": "2023-07-09",
"count": 1
},
{
"date": "2023-07-27",
"count": 1
},
{
"date": "2023-08-15",
"count": 1
},
{
"date": "2023-09-19",
"count": 1
},
{
"date": "2023-09-23",
"count": 1
},
{
"date": "2023-11-10",
"count": 1
},
{
"date": "2023-12-27",
"count": 1
},
{
"date": "2024-01-03",
"count": 1
},
{
"date": "2024-01-12",
"count": 1
},
{
"date": "2024-02-05",
"count": 1
},
{
"date": "2024-02-16",
"count": 1
},
{
"date": "2024-02-23",
"count": 1
},
{
"date": "2024-04-02",
"count": 1
},
{
"date": "2024-05-01",
"count": 1
},
{
"date": "2024-06-01",
"count": 1
},
{
"date": "2024-06-02",
"count": 1
},
{
"date": "2024-06-11",
"count": 1
},
{
"date": "2024-08-13",
"count": 1
},
{
"date": "2024-10-19",
"count": 1
},
{
"date": "2024-11-02",
"count": 1
},
{
"date": "2024-11-13",
"count": 1
},
{
"date": "2024-11-16",
"count": 1
},
{
"date": "2024-12-01",
"count": 1
},
{
"date": "2024-12-29",
"count": 1
},
{
"date": "2025-01-04",
"count": 1
},
{
"date": "2025-02-10",
"count": 1
},
{
"date": "2025-02-16",
"count": 1
},
{
"date": "2025-02-17",
"count": 1
},
{
"date": "2025-03-23",
"count": 1
},
{
"date": "2025-04-01",
"count": 2
},
{
"date": "2025-04-11",
"count": 1
},
{
"date": "2025-04-15",
"count": 1
},
{
"date": "2025-04-16",
"count": 1
},
{
"date": "2025-04-26",
"count": 1
},
{
"date": "2025-07-23",
"count": 1
},
{
"date": "2025-08-13",
"count": 1
},
{
"date": "2025-08-17",
"count": 1
},
{
"date": "2025-08-18",
"count": 1
},
{
"date": "2025-08-30",
"count": 1
},
{
"date": "2025-09-14",
"count": 1
},
{
"date": "2025-10-23",
"count": 1
},
{
"date": "2025-10-26",
"count": 1
},
{
"date": "2025-10-30",
"count": 1
},
{
"date": "2025-11-07",
"count": 1
},
{
"date": "2025-11-19",
"count": 1
},
{
"date": "2025-12-01",
"count": 1
},
{
"date": "2026-01-01",
"count": 1
},
{
"date": "2026-02-04",
"count": 1
},
{
"date": "2026-02-16",
"count": 1
},
{
"date": "2026-04-01",
"count": 1
},
{
"date": "2026-06-21",
"count": 1
},
{
"date": "2026-07-24",
"count": 1
},
{
"date": "2026-07-26",
"count": 1
}
],
"complete": true,
"collected": 203,
"total_forks": 206
},
"star_history": null,
"open_issues_and_prs": 65
},
"ai_readiness": {
"has_nix": false,
"example_dirs": [
"examples"
],
"has_llms_txt": false,
"has_dockerfile": false,
"has_mcp_signal": false,
"bootstrap_files": [
"docs/Makefile"
],
"api_schema_files": [],
"has_devcontainer": false,
"typecheck_configs": [
"nextcord/ext/application_checks/py.typed",
"nextcord/ext/commands/py.typed",
"nextcord/ext/slash_utils/py.typed",
"nextcord/ext/tasks/py.typed",
"nextcord/py.typed"
],
"toolchain_manifests": [],
"largest_source_bytes": 159297,
"source_files_sampled": 168,
"oversized_source_files": 11,
"agent_instruction_files": [],
"agent_instruction_max_bytes": null
},
"dependencies": {
"manifests": [
"pyproject.toml"
],
"advisories": {
"error": null,
"scope": "published_package",
"source": "osv",
"findings": [],
"collected": true,
"malicious": [],
"truncated": false,
"by_severity": {},
"advisory_count": 0,
"affected_count": 0,
"assessed_count": 11,
"malicious_count": 0,
"assessed_package": "pypi:nextcord@3.2.0",
"unassessed_count": 0,
"direct_affected_count": 0
},
"ecosystems": [
"pypi"
],
"dependencies": [
{
"name": "aiohttp",
"manifest": "pyproject.toml",
"ecosystem": "pypi",
"version_constraint": "^3.8.0"
},
{
"name": "typing_extensions",
"manifest": "pyproject.toml",
"ecosystem": "pypi",
"version_constraint": "^4.2.0"
},
{
"name": "audioop-lts",
"manifest": "pyproject.toml",
"ecosystem": "pypi",
"version_constraint": "^0.2.1"
},
{
"name": "PyNaCl",
"manifest": "pyproject.toml",
"ecosystem": "pypi",
"version_constraint": ">=1.5.0,<1.6"
},
{
"name": "orjson",
"manifest": "pyproject.toml",
"ecosystem": "pypi",
"version_constraint": ">=3.5.4"
},
{
"name": "aiodns",
"manifest": "pyproject.toml",
"ecosystem": "pypi",
"version_constraint": ">1.1"
},
{
"name": "Brotli",
"manifest": "pyproject.toml",
"ecosystem": "pypi",
"version_constraint": "*"
},
{
"name": "brotlicffi",
"manifest": "pyproject.toml",
"ecosystem": "pypi",
"version_constraint": "*"
},
{
"name": "dave-py",
"manifest": "pyproject.toml",
"ecosystem": "pypi",
"version_constraint": "^0.1.2"
}
],
"all_dependencies": {
"error": null,
"source": "github-sbom",
"packages": [
{
"name": "aiodns",
"direct": true,
"version": "4.0.4",
"ecosystem": "pypi"
},
{
"name": "aiohttp",
"direct": true,
"version": "3.13.5",
"ecosystem": "pypi"
},
{
"name": "audioop-lts",
"direct": true,
"version": "0.2.2",
"ecosystem": "pypi"
},
{
"name": "brotli",
"direct": true,
"version": "1.2.0",
"ecosystem": "pypi"
},
{
"name": "brotlicffi",
"direct": true,
"version": "1.2.0.1",
"ecosystem": "pypi"
},
{
"name": "dave-py",
"direct": true,
"version": "0.1.2",
"ecosystem": "pypi"
},
{
"name": "orjson",
"direct": true,
"version": "3.11.9",
"ecosystem": "pypi"
},
{
"name": "pynacl",
"direct": true,
"version": "1.5.0",
"ecosystem": "pypi"
},
{
"name": "typing-extensions",
"direct": true,
"version": "4.15.0",
"ecosystem": "pypi"
},
{
"name": "aiohappyeyeballs",
"direct": false,
"version": "2.6.2",
"ecosystem": "pypi"
},
{
"name": "aiosignal",
"direct": false,
"version": "1.4.0",
"ecosystem": "pypi"
},
{
"name": "alabaster",
"direct": false,
"version": "1.0.0",
"ecosystem": "pypi"
},
{
"name": "anyio",
"direct": false,
"version": "4.13.0",
"ecosystem": "pypi"
},
{
"name": "attrs",
"direct": false,
"version": "26.1.0",
"ecosystem": "pypi"
},
{
"name": "babel",
"direct": false,
"version": "2.18.0",
"ecosystem": "pypi"
},
{
"name": "certifi",
"direct": false,
"version": "2026.5.20",
"ecosystem": "pypi"
},
{
"name": "cffi",
"direct": false,
"version": "2.0.0",
"ecosystem": "pypi"
},
{
"name": "cfgv",
"direct": false,
"version": "3.5.0",
"ecosystem": "pypi"
},
{
"name": "charset-normalizer",
"direct": false,
"version": "3.4.7",
"ecosystem": "pypi"
},
{
"name": "click",
"direct": false,
"version": "8.4.0",
"ecosystem": "pypi"
},
{
"name": "colorama",
"direct": false,
"version": "0.4.6",
"ecosystem": "pypi"
},
{
"name": "distlib",
"direct": false,
"version": "0.4.0",
"ecosystem": "pypi"
},
{
"name": "docutils",
"direct": false,
"version": "0.22.4",
"ecosystem": "pypi"
},
{
"name": "filelock",
"direct": false,
"version": "3.29.0",
"ecosystem": "pypi"
},
{
"name": "frozenlist",
"direct": false,
"version": "1.8.0",
"ecosystem": "pypi"
},
{
"name": "h11",
"direct": false,
"version": "0.16.0",
"ecosystem": "pypi"
},
{
"name": "identify",
"direct": false,
"version": "2.6.19",
"ecosystem": "pypi"
},
{
"name": "idna",
"direct": false,
"version": "3.15",
"ecosystem": "pypi"
},
{
"name": "imagesize",
"direct": false,
"version": "1.5.0",
"ecosystem": "pypi"
},
{
"name": "jinja2",
"direct": false,
"version": "3.1.6",
"ecosystem": "pypi"
},
{
"name": "markupsafe",
"direct": false,
"version": "3.0.3",
"ecosystem": "pypi"
},
{
"name": "mslex",
"direct": false,
"version": "1.3.0",
"ecosystem": "pypi"
},
{
"name": "multidict",
"direct": false,
"version": "6.7.1",
"ecosystem": "pypi"
},
{
"name": "nodeenv",
"direct": false,
"version": "1.10.0",
"ecosystem": "pypi"
},
{
"name": "packaging",
"direct": false,
"version": "26.2",
"ecosystem": "pypi"
},
{
"name": "platformdirs",
"direct": false,
"version": "4.9.6",
"ecosystem": "pypi"
},
{
"name": "pre-commit",
"direct": false,
"version": "3.5.0",
"ecosystem": "pypi"
},
{
"name": "propcache",
"direct": false,
"version": "0.5.2",
"ecosystem": "pypi"
},
{
"name": "psutil",
"direct": false,
"version": "6.1.1",
"ecosystem": "pypi"
},
{
"name": "pycares",
"direct": false,
"version": "5.0.1",
"ecosystem": "pypi"
},
{
"name": "pycparser",
"direct": false,
"version": "3.0",
"ecosystem": "pypi"
},
{
"name": "pygments",
"direct": false,
"version": "2.20.0",
"ecosystem": "pypi"
},
{
"name": "pyright",
"direct": false,
"version": "1.1.391",
"ecosystem": "pypi"
},
{
"name": "python-discovery",
"direct": false,
"version": "1.3.1",
"ecosystem": "pypi"
},
{
"name": "python-dotenv",
"direct": false,
"version": "0.20.0",
"ecosystem": "pypi"
},
{
"name": "pyyaml",
"direct": false,
"version": "6.0.3",
"ecosystem": "pypi"
},
{
"name": "requests",
"direct": false,
"version": "2.34.2",
"ecosystem": "pypi"
},
{
"name": "roman-numerals",
"direct": false,
"version": "4.1.0",
"ecosystem": "pypi"
},
{
"name": "slotscheck",
"direct": false,
"version": "0.19.1",
"ecosystem": "pypi"
},
{
"name": "snowballstemmer",
"direct": false,
"version": "3.0.1",
"ecosystem": "pypi"
},
{
"name": "sphinx",
"direct": false,
"version": "9.1.0",
"ecosystem": "pypi"
},
{
"name": "sphinx-autobuild",
"direct": false,
"version": "2025.8.25",
"ecosystem": "pypi"
},
{
"name": "sphinxcontrib-applehelp",
"direct": false,
"version": "2.0.0",
"ecosystem": "pypi"
},
{
"name": "sphinxcontrib-devhelp",
"direct": false,
"version": "2.0.0",
"ecosystem": "pypi"
},
{
"name": "sphinxcontrib-htmlhelp",
"direct": false,
"version": "2.1.0",
"ecosystem": "pypi"
},
{
"name": "sphinxcontrib-jsmath",
"direct": false,
"version": "1.0.1",
"ecosystem": "pypi"
},
{
"name": "sphinxcontrib-qthelp",
"direct": false,
"version": "2.0.0",
"ecosystem": "pypi"
},
{
"name": "sphinxcontrib-serializinghtml",
"direct": false,
"version": "2.0.0",
"ecosystem": "pypi"
},
{
"name": "sphinxcontrib-trio",
"direct": false,
"version": "1.2.0",
"ecosystem": "pypi"
},
{
"name": "sphinxcontrib-websupport",
"direct": false,
"version": "2.0.0",
"ecosystem": "pypi"
},
{
"name": "starlette",
"direct": false,
"version": "1.0.0",
"ecosystem": "pypi"
},
{
"name": "taskipy",
"direct": false,
"version": "1.14.1",
"ecosystem": "pypi"
},
{
"name": "tomli",
"direct": false,
"version": "2.4.1",
"ecosystem": "pypi"
},
{
"name": "urllib3",
"direct": false,
"version": "2.7.0",
"ecosystem": "pypi"
},
{
"name": "uvicorn",
"direct": false,
"version": "0.47.0",
"ecosystem": "pypi"
},
{
"name": "virtualenv",
"direct": false,
"version": "21.3.3",
"ecosystem": "pypi"
},
{
"name": "watchfiles",
"direct": false,
"version": "1.2.0",
"ecosystem": "pypi"
},
{
"name": "websockets",
"direct": false,
"version": "16.0",
"ecosystem": "pypi"
},
{
"name": "yarl",
"direct": false,
"version": "1.24.2",
"ecosystem": "pypi"
}
],
"collected": true,
"truncated": false,
"total_count": 69,
"direct_count": 9,
"indirect_count": 60
}
},
"maintainership": {
"issues": {
"open_prs": 24,
"merged_prs": 604,
"open_issues": 41,
"closed_ratio": 0.891,
"closed_issues": 335,
"closed_unmerged_prs": 179
},
"bus_factor": 1,
"bot_contributors": 1,
"top_contributors": [
{
"type": "User",
"login": "Rapptz",
"commits": 2386,
"avatar_url": "https://avatars.githubusercontent.com/u/1695103?v=4"
},
{
"type": "User",
"login": "ooliver1",
"commits": 172,
"avatar_url": "https://avatars.githubusercontent.com/u/34910574?v=4"
},
{
"type": "User",
"login": "NCPlayz",
"commits": 136,
"avatar_url": "https://avatars.githubusercontent.com/u/26068884?v=4"
},
{
"type": "User",
"login": "DenverCoder1",
"commits": 110,
"avatar_url": "https://avatars.githubusercontent.com/u/20955511?v=4"
},
{
"type": "User",
"login": "TAG-Epic",
"commits": 92,
"avatar_url": "https://avatars.githubusercontent.com/u/35035079?v=4"
},
{
"type": "User",
"login": "bijij",
"commits": 87,
"avatar_url": "https://avatars.githubusercontent.com/u/8677174?v=4"
},
{
"type": "User",
"login": "khazhyk",
"commits": 69,
"avatar_url": "https://avatars.githubusercontent.com/u/1542025?v=4"
},
{
"type": "User",
"login": "Hornwitser",
"commits": 42,
"avatar_url": "https://avatars.githubusercontent.com/u/14362102?v=4"
},
{
"type": "User",
"login": "SebbyLaw",
"commits": 38,
"avatar_url": "https://avatars.githubusercontent.com/u/44045823?v=4"
},
{
"type": "User",
"login": "EmmmaTech",
"commits": 36,
"avatar_url": "https://avatars.githubusercontent.com/u/50607143?v=4"
}
],
"contributors_sampled": 99,
"top_contributor_share": 0.598
},
"quality_signals": {
"has_ci": true,
"has_tests": false,
"ci_workflows": [
"codeql-analysis.yml",
"docs.yml",
"lint.yml",
"publish.yml"
],
"has_docs_dir": true,
"linter_configs": [],
"has_editorconfig": false,
"has_linter_config": true,
"has_precommit_config": true
},
"security_signals": {
"lockfiles": [],
"scorecard": {
"checks": [
{
"name": "Binary-Artifacts",
"score": 8,
"reason": "binaries present in source code",
"documentation_url": "https://github.com/ossf/scorecard/blob/c395761df6afe1a69e476bc60a013a94bcbc153f/docs/checks.md#binary-artifacts"
},
{
"name": "Branch-Protection",
"score": null,
"reason": "internal error: error during branchesHandler.setup: internal error: some github tokens can't read classic branch protection rules: https://github.com/ossf/scorecard-action/blob/main/docs/authentication/fine-grained-auth-token.md",
"documentation_url": "https://github.com/ossf/scorecard/blob/c395761df6afe1a69e476bc60a013a94bcbc153f/docs/checks.md#branch-protection"
},
{
"name": "CI-Tests",
"score": 8,
"reason": "19 out of 22 merged PRs checked by a CI test -- score normalized to 8",
"documentation_url": "https://github.com/ossf/scorecard/blob/c395761df6afe1a69e476bc60a013a94bcbc153f/docs/checks.md#ci-tests"
},
{
"name": "CII-Best-Practices",
"score": 0,
"reason": "no effort to earn an OpenSSF best practices badge detected",
"documentation_url": "https://github.com/ossf/scorecard/blob/c395761df6afe1a69e476bc60a013a94bcbc153f/docs/checks.md#cii-best-practices"
},
{
"name": "Code-Review",
"score": 7,
"reason": "Found 19/27 approved changesets -- score normalized to 7",
"documentation_url": "https://github.com/ossf/scorecard/blob/c395761df6afe1a69e476bc60a013a94bcbc153f/docs/checks.md#code-review"
},
{
"name": "Contributors",
"score": 10,
"reason": "project has 52 contributing companies or organizations",
"documentation_url": "https://github.com/ossf/scorecard/blob/c395761df6afe1a69e476bc60a013a94bcbc153f/docs/checks.md#contributors"
},
{
"name": "Dangerous-Workflow",
"score": 10,
"reason": "no dangerous workflow patterns detected",
"documentation_url": "https://github.com/ossf/scorecard/blob/c395761df6afe1a69e476bc60a013a94bcbc153f/docs/checks.md#dangerous-workflow"
},
{
"name": "Dependency-Update-Tool",
"score": 0,
"reason": "no update tool detected",
"documentation_url": "https://github.com/ossf/scorecard/blob/c395761df6afe1a69e476bc60a013a94bcbc153f/docs/checks.md#dependency-update-tool"
},
{
"name": "Fuzzing",
"score": 0,
"reason": "project is not fuzzed",
"documentation_url": "https://github.com/ossf/scorecard/blob/c395761df6afe1a69e476bc60a013a94bcbc153f/docs/checks.md#fuzzing"
},
{
"name": "License",
"score": 10,
"reason": "license file detected",
"documentation_url": "https://github.com/ossf/scorecard/blob/c395761df6afe1a69e476bc60a013a94bcbc153f/docs/checks.md#license"
},
{
"name": "Maintained",
"score": 10,
"reason": "22 commit(s) and 1 issue activity found in the last 90 days -- score normalized to 10",
"documentation_url": "https://github.com/ossf/scorecard/blob/c395761df6afe1a69e476bc60a013a94bcbc153f/docs/checks.md#maintained"
},
{
"name": "Packaging",
"score": 10,
"reason": "packaging workflow detected",
"documentation_url": "https://github.com/ossf/scorecard/blob/c395761df6afe1a69e476bc60a013a94bcbc153f/docs/checks.md#packaging"
},
{
"name": "Pinned-Dependencies",
"score": 0,
"reason": "dependency not pinned by hash detected -- score normalized to 0",
"documentation_url": "https://github.com/ossf/scorecard/blob/c395761df6afe1a69e476bc60a013a94bcbc153f/docs/checks.md#pinned-dependencies"
},
{
"name": "SAST",
"score": 9,
"reason": "SAST tool detected but not run on all commits",
"documentation_url": "https://github.com/ossf/scorecard/blob/c395761df6afe1a69e476bc60a013a94bcbc153f/docs/checks.md#sast"
},
{
"name": "Security-Policy",
"score": 0,
"reason": "security policy file not detected",
"documentation_url": "https://github.com/ossf/scorecard/blob/c395761df6afe1a69e476bc60a013a94bcbc153f/docs/checks.md#security-policy"
},
{
"name": "Signed-Releases",
"score": null,
"reason": "no releases found",
"documentation_url": "https://github.com/ossf/scorecard/blob/c395761df6afe1a69e476bc60a013a94bcbc153f/docs/checks.md#signed-releases"
},
{
"name": "Token-Permissions",
"score": 0,
"reason": "detected GitHub workflow tokens with excessive permissions",
"documentation_url": "https://github.com/ossf/scorecard/blob/c395761df6afe1a69e476bc60a013a94bcbc153f/docs/checks.md#token-permissions"
},
{
"name": "Vulnerabilities",
"score": 10,
"reason": "0 existing vulnerabilities detected",
"documentation_url": "https://github.com/ossf/scorecard/blob/c395761df6afe1a69e476bc60a013a94bcbc153f/docs/checks.md#vulnerabilities"
}
],
"commit": "8ceca454c9ddc2185b5963cc49153ac4684cfd15",
"ran_at": "2026-07-27T00:30:30Z",
"aggregate_score": 5.9,
"scorecard_version": "v5.5.0"
},
"has_codeql_workflow": true,
"has_security_policy": false,
"has_dependabot_config": false
},
"contribution_flow": {
"collected": true,
"ci_last_run_at": "2026-07-22T21:55:16Z",
"oldest_open_prs": [
{
"number": 970,
"created_at": "2023-01-09T22:13:25Z",
"last_comment_at": "2023-07-26T12:32:42Z",
"last_comment_author": "teaishealthy"
},
{
"number": 1052,
"created_at": "2023-04-30T15:52:50Z",
"last_comment_at": "2025-06-15T16:01:39Z",
"last_comment_author": "Soheab"
},
{
"number": 1053,
"created_at": "2023-04-30T16:26:51Z",
"last_comment_at": "2025-06-15T16:08:43Z",
"last_comment_author": "Soheab"
},
{
"number": 1070,
"created_at": "2023-06-16T20:38:51Z",
"last_comment_at": null,
"last_comment_author": null
},
{
"number": 1078,
"created_at": "2023-07-06T03:33:10Z",
"last_comment_at": "2024-01-15T10:32:01Z",
"last_comment_author": "Skelmis"
},
{
"number": 1079,
"created_at": "2023-07-06T17:27:14Z",
"last_comment_at": "2024-01-15T10:30:45Z",
"last_comment_author": "Skelmis"
},
{
"number": 1082,
"created_at": "2023-07-06T23:56:57Z",
"last_comment_at": "2025-06-19T14:34:01Z",
"last_comment_author": "ooliver1"
},
{
"number": 1083,
"created_at": "2023-07-07T09:52:36Z",
"last_comment_at": "2025-07-01T08:14:23Z",
"last_comment_author": "Soheab"
},
{
"number": 1112,
"created_at": "2023-08-17T13:54:37Z",
"last_comment_at": "2024-09-06T00:55:12Z",
"last_comment_author": "teaishealthy"
},
{
"number": 1113,
"created_at": "2023-08-17T20:16:36Z",
"last_comment_at": "2025-04-17T18:36:39Z",
"last_comment_author": "ooliver1"
},
{
"number": 1117,
"created_at": "2023-09-02T06:02:12Z",
"last_comment_at": null,
"last_comment_author": null
},
{
"number": 1122,
"created_at": "2023-09-23T00:28:04Z",
"last_comment_at": null,
"last_comment_author": null
},
{
"number": 1138,
"created_at": "2023-10-22T04:45:21Z",
"last_comment_at": "2025-04-25T14:20:01Z",
"last_comment_author": "epsilonion-liam"
},
{
"number": 1140,
"created_at": "2023-10-24T16:38:04Z",
"last_comment_at": "2026-05-22T09:23:44Z",
"last_comment_author": "Soheab"
},
{
"number": 1189,
"created_at": "2024-06-03T07:34:17Z",
"last_comment_at": "2025-02-03T12:56:07Z",
"last_comment_author": "MaskDuck"
},
{
"number": 1197,
"created_at": "2024-06-27T01:14:31Z",
"last_comment_at": "2024-06-27T01:33:41Z",
"last_comment_author": "EmmmaTech"
},
{
"number": 1199,
"created_at": "2024-06-29T19:45:14Z",
"last_comment_at": null,
"last_comment_author": null
},
{
"number": 1248,
"created_at": "2025-02-21T12:34:41Z",
"last_comment_at": "2026-05-01T20:59:26Z",
"last_comment_author": "FlunseyTheFox"
},
{
"number": 1259,
"created_at": "2025-06-25T15:04:25Z",
"last_comment_at": null,
"last_comment_author": null
},
{
"number": 1260,
"created_at": "2025-06-25T22:06:35Z",
"last_comment_at": "2025-06-27T23:12:11Z",
"last_comment_author": "ooliver1"
}
],
"last_merged_pr_at": "2026-07-08T23:01:12Z",
"ci_last_conclusion": "SUCCESS",
"oldest_open_issues": [
{
"number": 54,
"created_at": "2021-08-29T19:33:47Z",
"last_comment_at": null,
"last_comment_author": null
},
{
"number": 98,
"created_at": "2021-09-01T17:59:07Z",
"last_comment_at": null,
"last_comment_author": null
},
{
"number": 100,
"created_at": "2021-09-01T18:01:52Z",
"last_comment_at": null,
"last_comment_author": null
},
{
"number": 113,
"created_at": "2021-09-02T17:27:50Z",
"last_comment_at": null,
"last_comment_author": null
},
{
"number": 118,
"created_at": "2021-09-02T17:37:20Z",
"last_comment_at": null,
"last_comment_author": null
},
{
"number": 124,
"created_at": "2021-09-02T17:55:26Z",
"last_comment_at": null,
"last_comment_author": null
},
{
"number": 126,
"created_at": "2021-09-02T17:58:46Z",
"last_comment_at": null,
"last_comment_author": null
},
{
"number": 127,
"created_at": "2021-09-02T18:00:10Z",
"last_comment_at": "2023-03-31T08:49:38Z",
"last_comment_author": "spifory"
},
{
"number": 173,
"created_at": "2021-09-20T14:44:19Z",
"last_comment_at": "2022-04-19T19:15:23Z",
"last_comment_author": "DeveloperAnonymous"
},
{
"number": 214,
"created_at": "2021-10-12T07:37:29Z",
"last_comment_at": "2022-02-18T08:00:13Z",
"last_comment_author": "MaskDuck"
},
{
"number": 393,
"created_at": "2022-01-28T13:56:41Z",
"last_comment_at": "2022-04-10T12:11:11Z",
"last_comment_author": "Skelmis"
},
{
"number": 400,
"created_at": "2022-01-28T22:44:01Z",
"last_comment_at": "2026-02-01T04:02:32Z",
"last_comment_author": "riverpaper"
},
{
"number": 474,
"created_at": "2022-02-16T20:37:24Z",
"last_comment_at": "2022-04-09T16:21:30Z",
"last_comment_author": "ooliver1"
},
{
"number": 633,
"created_at": "2022-05-02T11:50:40Z",
"last_comment_at": "2022-12-06T13:50:42Z",
"last_comment_author": "ArjunSharda"
},
{
"number": 748,
"created_at": "2022-07-21T14:31:04Z",
"last_comment_at": "2022-08-04T22:25:17Z",
"last_comment_author": "ooliver1"
},
{
"number": 768,
"created_at": "2022-08-11T21:37:43Z",
"last_comment_at": "2023-10-08T20:13:20Z",
"last_comment_author": "teaishealthy"
},
{
"number": 824,
"created_at": "2022-09-19T21:08:59Z",
"last_comment_at": "2023-03-26T17:34:50Z",
"last_comment_author": "elenakrittik"
},
{
"number": 865,
"created_at": "2022-10-25T17:45:05Z",
"last_comment_at": null,
"last_comment_author": null
},
{
"number": 874,
"created_at": "2022-10-28T16:20:34Z",
"last_comment_at": null,
"last_comment_author": null
},
{
"number": 875,
"created_at": "2022-10-29T12:31:54Z",
"last_comment_at": "2022-11-06T19:46:03Z",
"last_comment_author": "spifory"
}
]
}
},
"config": {
"disabled_metrics": [],
"disabled_categories": [],
"disabled_components": {}
},
"source": {
"url": "https://github.com/nextcord/nextcord",
"host": "github.com",
"name": "nextcord",
"owner": "nextcord"
},
"metrics": {
"overall": {
"key": "overall",
"band": "good",
"name": "Overall health",
"note": null,
"notes": [],
"value": 72,
"inputs": {
"security": 67,
"vitality": 73,
"community": 76,
"governance": 68,
"engineering": 76
},
"components": []
},
"categories": [
{
"key": "vitality",
"band": "good",
"name": "Vitality",
"value": 73,
"weight": 0.22,
"metrics": [
{
"key": "development_activity",
"band": "moderate",
"name": "Development activity",
"note": null,
"notes": [],
"value": 66,
"inputs": {
"commits_last_year": 26,
"human_commit_share": 0.94,
"days_since_last_push": 6,
"active_weeks_last_year": 10
},
"components": [
{
"key": "push_recency",
"name": "Push recency",
"detail": "last push 6 days ago",
"points": 36,
"status": "met",
"details": [
{
"code": "push_recency",
"params": {
"days": 6
}
}
],
"max_points": 36
},
{
"key": "commit_cadence",
"name": "Commit cadence",
"detail": "10/52 weeks with commits",
"points": 6.9,
"status": "partial",
"details": [
{
"code": "commit_cadence_weeks",
"params": {
"weeks": 10
}
}
],
"max_points": 36
},
{
"key": "commit_volume",
"name": "Commit volume",
"detail": "26 commits in the last year",
"points": 12.9,
"status": "partial",
"details": [
{
"code": "commits_last_year",
"params": {
"count": 26
}
}
],
"max_points": 18
},
{
"key": "openssf_scorecard_maintained",
"name": "OpenSSF Scorecard: Maintained",
"detail": "22 commit(s) and 1 issue activity found in the last 90 days -- score normalized to 10",
"points": 10,
"status": "met",
"details": [],
"max_points": 10
}
]
},
{
"key": "release_discipline",
"band": "good",
"name": "Release discipline",
"note": "Excluded from scoring (no data or not applicable): OpenSSF Scorecard: Signed-Releases. Remaining weights renormalized.",
"notes": [
{
"code": "excluded_no_data",
"params": {
"components": [
"openssf_scorecard_signed_releases"
]
}
},
{
"code": "weights_renormalized",
"params": {}
}
],
"value": 84,
"inputs": {
"releases_count": 33,
"latest_release_tag": "v3.2.0",
"releases_from_tags": false,
"days_since_latest_release": 66,
"mean_days_between_releases": 129.5
},
"components": [
{
"key": "ships_releases",
"name": "Ships releases",
"detail": "33 releases published",
"points": 27,
"status": "met",
"details": [
{
"code": "releases_published",
"params": {
"count": 33
}
}
],
"max_points": 27
},
{
"key": "release_recency",
"name": "Release recency",
"detail": "latest release 66 days ago",
"points": 36,
"status": "met",
"details": [
{
"code": "release_recency",
"params": {
"days": 66
}
}
],
"max_points": 36
},
{
"key": "release_cadence",
"name": "Release cadence",
"detail": "a release every ~129.5 days",
"points": 12.6,
"status": "partial",
"details": [
{
"code": "release_cadence",
"params": {
"gap": 129.5
}
}
],
"max_points": 27
},
{
"key": "openssf_scorecard_signed_releases",
"name": "OpenSSF Scorecard: Signed-Releases",
"detail": "no releases found",
"points": 0,
"status": "excluded",
"details": [
{
"code": "no_data",
"params": {}
}
],
"max_points": 10
}
]
},
{
"key": "abandonment",
"band": "excellent",
"name": "Abandonment",
"note": null,
"notes": [],
"value": 100,
"inputs": {
"cap": null,
"state": "maintained",
"guards": [],
"signals": [],
"red_flag": false,
"multiplier_pct": 100,
"declared_reason": null,
"unverified_reason": null,
"unanswered_open_prs": null,
"unanswered_open_issues": null,
"days_since_last_merged_pr": null,
"days_since_last_human_commit": 18,
"days_since_last_human_commit_is_floor": false
},
"components": [
{
"key": "project_is_still_maintained",
"name": "Project is still maintained",
"detail": "last human commit 18 days ago",
"points": 100,
"status": "met",
"details": [
{
"code": "abandonment_maintained",
"params": {
"days": 18
}
}
],
"max_points": 100
}
]
}
],
"description": "Is the project alive — is code being written and are releases shipping?"
},
{
"key": "community",
"band": "good",
"name": "Community & Adoption",
"value": 76,
"weight": 0.18,
"metrics": [
{
"key": "popularity",
"band": "good",
"name": "Popularity & adoption",
"note": null,
"notes": [],
"value": 75,
"inputs": {
"forks": 206,
"stars": 1266,
"watchers": 10,
"growth_state": "unverified",
"growth_factor_pct": 100,
"growth_unverified_reason": "no_history"
},
"components": [
{
"key": "stars",
"name": "Stars",
"detail": "1,266 stars",
"points": 50.3,
"status": "partial",
"details": [
{
"code": "stars",
"params": {
"count": 1266
}
}
],
"max_points": 60
},
{
"key": "forks",
"name": "Forks",
"detail": "206 forks",
"points": 19.3,
"status": "partial",
"details": [
{
"code": "forks",
"params": {
"count": 206
}
}
],
"max_points": 25
},
{
"key": "watchers",
"name": "Watchers",
"detail": "10 watchers",
"points": 5.3,
"status": "partial",
"details": [
{
"code": "watchers",
"params": {
"count": 10
}
}
],
"max_points": 15
}
]
},
{
"key": "community_health",
"band": "good",
"name": "Community health",
"note": null,
"notes": [],
"value": 77,
"inputs": {
"has_readme": true,
"has_license": true,
"has_contributing": true,
"has_issue_template": false,
"has_code_of_conduct": false,
"has_pull_request_template": true
},
"components": [
{
"key": "readme",
"name": "README",
"detail": null,
"points": 22.5,
"status": "met",
"details": [],
"max_points": 22.5
},
{
"key": "license",
"name": "License",
"detail": "recognized license (MIT)",
"points": 22.5,
"status": "met",
"details": [
{
"code": "license_standard",
"params": {}
},
{
"code": "license_spdx",
"params": {
"spdx": "MIT"
}
}
],
"max_points": 22.5
},
{
"key": "contributing_guide",
"name": "CONTRIBUTING guide",
"detail": null,
"points": 18,
"status": "met",
"details": [],
"max_points": 18
},
{
"key": "code_of_conduct",
"name": "Code of conduct",
"detail": null,
"points": 0,
"status": "missed",
"details": [],
"max_points": 13.5
},
{
"key": "issue_template",
"name": "Issue template",
"detail": null,
"points": 0,
"status": "missed",
"details": [],
"max_points": 7.2
},
{
"key": "pr_template",
"name": "PR template",
"detail": null,
"points": 6.3,
"status": "met",
"details": [],
"max_points": 6.3
}
]
}
],
"description": "Does the project have users, downloads, attention, and a welcoming setup for contributors?"
},
{
"key": "governance",
"band": "moderate",
"name": "Sustainability & Governance",
"value": 68,
"weight": 0.24,
"metrics": [
{
"key": "maintainer_resilience",
"band": "at_risk",
"name": "Maintainer resilience (bus factor)",
"note": null,
"notes": [],
"value": 42,
"inputs": {
"bus_factor": 1,
"contributors_sampled": 99,
"top_contributor_share": 0.598
},
"components": [
{
"key": "bus_factor",
"name": "Bus factor",
"detail": "1 contributor(s) cover half of all commits",
"points": 9,
"status": "partial",
"details": [
{
"code": "bus_factor",
"params": {
"count": 1
}
}
],
"max_points": 54
},
{
"key": "commit_distribution",
"name": "Commit distribution",
"detail": "top contributor authored 60% of commits",
"points": 9,
"status": "partial",
"details": [
{
"code": "top_contributor_share",
"params": {
"share": 60
}
}
],
"max_points": 22.5
},
{
"key": "contributor_breadth",
"name": "Contributor breadth",
"detail": "99 contributors",
"points": 13.5,
"status": "met",
"details": [
{
"code": "contributors_sampled",
"params": {
"count": 99
}
}
],
"max_points": 13.5
},
{
"key": "openssf_scorecard_contributors",
"name": "OpenSSF Scorecard: Contributors",
"detail": "project has 52 contributing companies or organizations",
"points": 10,
"status": "met",
"details": [],
"max_points": 10
}
]
},
{
"key": "responsiveness",
"band": "good",
"name": "Issue & PR responsiveness",
"note": null,
"notes": [],
"value": 82,
"inputs": {
"merged_prs": 604,
"open_issues": 41,
"closed_issues": 335,
"issue_closed_ratio": 0.891,
"closed_unmerged_prs": 179
},
"components": [
{
"key": "issue_resolution",
"name": "Issue resolution",
"detail": "89% of issues closed",
"points": 41.7,
"status": "partial",
"details": [
{
"code": "issues_closed_share",
"params": {
"share": 89
}
}
],
"max_points": 46.75
},
{
"key": "pr_acceptance",
"name": "PR acceptance",
"detail": "604/783 decided PRs merged",
"points": 29.5,
"status": "partial",
"details": [
{
"code": "decided_prs_merged",
"params": {
"merged": 604,
"decided": 783
}
}
],
"max_points": 38.25
},
{
"key": "openssf_scorecard_code_review",
"name": "OpenSSF Scorecard: Code-Review",
"detail": "Found 19/27 approved changesets -- score normalized to 7",
"points": 10.5,
"status": "partial",
"details": [],
"max_points": 15
}
]
},
{
"key": "stewardship",
"band": "moderate",
"name": "Ownership & stewardship",
"note": null,
"notes": [],
"value": 60,
"inputs": {
"followers": 47,
"owner_type": "Organization",
"is_verified": null,
"owner_login": "nextcord",
"public_repos": 11,
"account_age_days": 1793
},
"components": [
{
"key": "ownership_backing",
"name": "Ownership backing",
"detail": "organization-owned",
"points": 30,
"status": "met",
"details": [
{
"code": "owner_organization",
"params": {}
}
],
"max_points": 30
},
{
"key": "verified_domain",
"name": "Verified domain",
"detail": null,
"points": 0,
"status": "missed",
"details": [],
"max_points": 20
},
{
"key": "owner_reach",
"name": "Owner reach",
"detail": "47 followers of nextcord",
"points": 12.1,
"status": "partial",
"details": [
{
"code": "owner_followers",
"params": {
"count": 47,
"login": "nextcord"
}
}
],
"max_points": 25
},
{
"key": "track_record",
"name": "Track record",
"detail": "11 public repos, account ~4 yr old",
"points": 17.7,
"status": "partial",
"details": [
{
"code": "public_repos",
"params": {
"count": 11
}
},
{
"code": "account_age_years",
"params": {
"years": 4
}
}
],
"max_points": 25
}
]
},
{
"key": "package_maintenance",
"band": "excellent",
"name": "Package maintenance",
"note": null,
"notes": [],
"value": 100,
"inputs": {
"packages": [
"nextcord"
],
"ecosystems": "pypi",
"any_deprecated": false,
"min_days_since_publish": 66
},
"components": [
{
"key": "published_resolvable",
"name": "Published & resolvable",
"detail": "1 package(s) on pypi",
"points": 25,
"status": "met",
"details": [
{
"code": "packages_published",
"params": {
"count": 1,
"ecosystems": "pypi"
}
}
],
"max_points": 25
},
{
"key": "publish_recency",
"name": "Publish recency",
"detail": "latest publish 66 days ago",
"points": 35,
"status": "met",
"details": [
{
"code": "publish_recency",
"params": {
"days": 66
}
}
],
"max_points": 35
},
{
"key": "version_history",
"name": "Version history",
"detail": "35 published versions",
"points": 20,
"status": "met",
"details": [
{
"code": "published_versions",
"params": {
"count": 35
}
}
],
"max_points": 20
},
{
"key": "not_deprecated",
"name": "Not deprecated",
"detail": "active, not deprecated or yanked",
"points": 20,
"status": "met",
"details": [
{
"code": "package_not_deprecated",
"params": {}
}
],
"max_points": 20
}
]
}
],
"description": "Will the project survive its people — bus factor, responsiveness, who backs it, and package upkeep?"
},
{
"key": "engineering",
"band": "good",
"name": "Engineering Quality",
"value": 76,
"weight": 0.2,
"metrics": [
{
"key": "engineering_practices",
"band": "moderate",
"name": "Engineering practices",
"note": null,
"notes": [],
"value": 66,
"inputs": {
"has_ci": true,
"has_tests": false,
"has_editorconfig": false,
"has_linter_config": true,
"has_precommit_config": true
},
"components": [
{
"key": "ci_workflows",
"name": "CI workflows",
"detail": "4 workflow(s)",
"points": 24,
"status": "met",
"details": [
{
"code": "ci_workflows",
"params": {
"count": 4
}
}
],
"max_points": 24
},
{
"key": "tests_present",
"name": "Tests present",
"detail": null,
"points": 0,
"status": "missed",
"details": [],
"max_points": 24
},
{
"key": "linter_config",
"name": "Linter config",
"detail": null,
"points": 16,
"status": "met",
"details": [],
"max_points": 16
},
{
"key": "pre_commit_hooks",
"name": "Pre-commit hooks",
"detail": null,
"points": 9.6,
"status": "met",
"details": [],
"max_points": 9.6
},
{
"key": "editorconfig",
"name": ".editorconfig",
"detail": null,
"points": 0,
"status": "missed",
"details": [],
"max_points": 6.4
},
{
"key": "openssf_scorecard_ci_tests",
"name": "OpenSSF Scorecard: CI-Tests",
"detail": "19 out of 22 merged PRs checked by a CI test -- score normalized to 8",
"points": 16,
"status": "partial",
"details": [],
"max_points": 20
}
]
},
{
"key": "documentation",
"band": "excellent",
"name": "Documentation",
"note": null,
"notes": [],
"value": 90,
"inputs": {
"topics": [
"discord",
"discordpy",
"api-wrapper",
"bot-framework",
"bots",
"discord-api",
"discord-bot",
"discord-py",
"discordbot",
"python",
"python3",
"hacktoberfest"
],
"has_wiki": false,
"homepage": "https://docs.nextcord.dev",
"has_readme": true,
"has_docs_dir": true,
"has_description": true
},
"components": [
{
"key": "readme",
"name": "README",
"detail": null,
"points": 30,
"status": "met",
"details": [],
"max_points": 30
},
{
"key": "documentation_directory",
"name": "Documentation directory",
"detail": null,
"points": 25,
"status": "met",
"details": [],
"max_points": 25
},
{
"key": "documentation_homepage_site",
"name": "Documentation / homepage site",
"detail": "https://docs.nextcord.dev",
"points": 15,
"status": "met",
"details": [],
"max_points": 15
},
{
"key": "repository_description",
"name": "Repository description",
"detail": null,
"points": 10,
"status": "met",
"details": [],
"max_points": 10
},
{
"key": "topics",
"name": "Topics",
"detail": "12 topics",
"points": 10,
"status": "met",
"details": [
{
"code": "topics_count",
"params": {
"count": 12
}
}
],
"max_points": 10
},
{
"key": "wiki",
"name": "Wiki",
"detail": null,
"points": 0,
"status": "missed",
"details": [],
"max_points": 10
}
]
}
],
"description": "Are baseline engineering and documentation practices in place?"
},
{
"key": "security",
"band": "moderate",
"name": "Security",
"value": 67,
"weight": 0.16,
"metrics": [
{
"key": "security_posture",
"band": "moderate",
"name": "Security posture",
"note": "Excluded from scoring (no data or not applicable): Branch-Protection, Signed-Releases. Remaining weights renormalized.",
"notes": [
{
"code": "excluded_no_data",
"params": {
"components": [
"branch_protection",
"signed_releases"
]
}
},
{
"code": "weights_renormalized",
"params": {}
}
],
"value": 59,
"inputs": {
"source": "openssf_scorecard",
"checks_evaluated": 16,
"scorecard_version": "v5.5.0",
"checks_inconclusive": 2,
"scorecard_aggregate": 5.9
},
"components": [
{
"key": "binary_artifacts",
"name": "Binary-Artifacts",
"detail": "binaries present in source code",
"points": 6,
"status": "partial",
"details": [],
"max_points": 7.5
},
{
"key": "branch_protection",
"name": "Branch-Protection",
"detail": "internal error: error during branchesHandler.setup: internal error: some github tokens can't read classic branch protection rules: https://github.com/ossf/scorecard-action/blob/main/docs/authentication/fine-grained-auth-token.md",
"points": 0,
"status": "excluded",
"details": [
{
"code": "no_data",
"params": {}
}
],
"max_points": 7.5
},
{
"key": "ci_tests",
"name": "CI-Tests",
"detail": "19 out of 22 merged PRs checked by a CI test -- score normalized to 8",
"points": 2,
"status": "partial",
"details": [],
"max_points": 2.5
},
{
"key": "cii_best_practices",
"name": "CII-Best-Practices",
"detail": "no effort to earn an OpenSSF best practices badge detected",
"points": 0,
"status": "missed",
"details": [],
"max_points": 2.5
},
{
"key": "code_review",
"name": "Code-Review",
"detail": "Found 19/27 approved changesets -- score normalized to 7",
"points": 5.2,
"status": "partial",
"details": [],
"max_points": 7.5
},
{
"key": "contributors",
"name": "Contributors",
"detail": "project has 52 contributing companies or organizations",
"points": 2.5,
"status": "met",
"details": [],
"max_points": 2.5
},
{
"key": "dangerous_workflow",
"name": "Dangerous-Workflow",
"detail": "no dangerous workflow patterns detected",
"points": 10,
"status": "met",
"details": [],
"max_points": 10
},
{
"key": "dependency_update_tool",
"name": "Dependency-Update-Tool",
"detail": "no update tool detected",
"points": 0,
"status": "missed",
"details": [],
"max_points": 7.5
},
{
"key": "fuzzing",
"name": "Fuzzing",
"detail": "project is not fuzzed",
"points": 0,
"status": "missed",
"details": [],
"max_points": 5
},
{
"key": "license",
"name": "License",
"detail": "license file detected",
"points": 2.5,
"status": "met",
"details": [],
"max_points": 2.5
},
{
"key": "maintained",
"name": "Maintained",
"detail": "22 commit(s) and 1 issue activity found in the last 90 days -- score normalized to 10",
"points": 7.5,
"status": "met",
"details": [],
"max_points": 7.5
},
{
"key": "packaging",
"name": "Packaging",
"detail": "packaging workflow detected",
"points": 5,
"status": "met",
"details": [],
"max_points": 5
},
{
"key": "pinned_dependencies",
"name": "Pinned-Dependencies",
"detail": "dependency not pinned by hash detected -- score normalized to 0",
"points": 0,
"status": "missed",
"details": [],
"max_points": 5
},
{
"key": "sast",
"name": "SAST",
"detail": "SAST tool detected but not run on all commits",
"points": 4.5,
"status": "partial",
"details": [],
"max_points": 5
},
{
"key": "security_policy",
"name": "Security-Policy",
"detail": "security policy file not detected",
"points": 0,
"status": "missed",
"details": [],
"max_points": 5
},
{
"key": "signed_releases",
"name": "Signed-Releases",
"detail": "no releases found",
"points": 0,
"status": "excluded",
"details": [
{
"code": "no_data",
"params": {}
}
],
"max_points": 7.5
},
{
"key": "token_permissions",
"name": "Token-Permissions",
"detail": "detected GitHub workflow tokens with excessive permissions",
"points": 0,
"status": "missed",
"details": [],
"max_points": 7.5
},
{
"key": "vulnerabilities",
"name": "Vulnerabilities",
"detail": "0 existing vulnerabilities detected",
"points": 7.5,
"status": "met",
"details": [],
"max_points": 7.5
}
]
},
{
"key": "dependency_advisories",
"band": "excellent",
"name": "Dependency advisories",
"note": "Excluded from scoring (no data or not applicable): No advisories left outstanding. Remaining weights renormalized. Matched the pypi:nextcord@3.2.0 runtime dependency closure — what installing the published package pulls in — 11 packages. Reachability is not analyzed.",
"notes": [
{
"code": "excluded_no_data",
"params": {
"components": [
"no_advisories_left_outstanding"
]
}
},
{
"code": "weights_renormalized",
"params": {}
},
{
"code": "advisories_scope_published",
"params": {
"package": "pypi:nextcord@3.2.0",
"assessed": 11
}
},
{
"code": "advisories_reachability",
"params": {}
}
],
"value": 100,
"inputs": {
"source": "osv",
"advisories": 0,
"affected_packages": 0,
"assessed_packages": 11,
"unassessed_packages": 0,
"affected_by_severity": "none",
"direct_affected_packages": 0
},
"components": [
{
"key": "direct_dependencies_free_of_known_advisories",
"name": "Direct dependencies free of known advisories",
"detail": "no direct dependency carries a known advisory",
"points": 35,
"status": "met",
"details": [
{
"code": "no_direct_advisories",
"params": {}
}
],
"max_points": 35
},
{
"key": "indirect_dependencies_free_of_known_advisories",
"name": "Indirect dependencies free of known advisories",
"detail": "no indirect dependency carries a known advisory",
"points": 25,
"status": "met",
"details": [
{
"code": "no_indirect_advisories",
"params": {}
}
],
"max_points": 25
},
{
"key": "no_advisories_left_outstanding",
"name": "No advisories left outstanding",
"detail": "no advisory carries a publication date",
"points": 0,
"status": "excluded",
"details": [
{
"code": "advisories_no_publication_date",
"params": {}
}
],
"max_points": 40
}
]
},
{
"key": "malicious_dependencies",
"band": "excellent",
"name": "Malicious dependencies",
"note": null,
"notes": [],
"value": 100,
"inputs": {
"source": "osv",
"meaning": "reported as a malicious package by the OpenSSF corpus; the remedy is removal or moving off the compromised name, never an upgrade of the same artifact. Versions the registry has since pulled are listed but not scored",
"packages": [],
"red_flag": false,
"assessed_packages": 11,
"malicious_packages": 0,
"direct_malicious_packages": 0,
"withdrawn_malicious_packages": 0,
"installable_malicious_packages": 0
},
"components": [
{
"key": "no_dependency_reported_as_a_malicious_package",
"name": "No dependency reported as a malicious package",
"detail": "no dependency is reported as a malicious package",
"points": 100,
"status": "met",
"details": [
{
"code": "no_malicious_dependencies",
"params": {}
}
],
"max_points": 100
}
]
},
{
"key": "high_risk_jurisdiction_exposure",
"band": "excellent",
"name": "High-Risk Jurisdiction Exposure",
"note": "Only high-confidence self-published location evidence affects this multiplier. Ambiguous matches are review-only; country evidence is not proof of nationality, citizenship, legal registration, malicious intent, or sanctions status.",
"notes": [
{
"code": "jurisdiction_evidence_limits",
"params": {}
}
],
"value": 100,
"inputs": {
"meaning": "self-published location evidence; not nationality or citizenship",
"red_flag": false,
"exposures": [],
"policy_countries": [
"Russia",
"Iran",
"North Korea"
],
"review_only_matches": 0,
"assessed_self_published_locations": 12
},
"components": [
{
"key": "policy_exposure_multiplier",
"name": "Policy exposure multiplier",
"detail": "no confirmed policy-scope location match",
"points": 100,
"status": "met",
"details": [
{
"code": "jurisdiction_no_match",
"params": {}
}
],
"max_points": 100
}
]
}
],
"description": "Are visible security and supply-chain practices strong, with no malicious dependency and no unresolved high-risk jurisdiction exposure?"
},
{
"key": "ai_readiness",
"band": "at_risk",
"name": "AI Readiness",
"value": 46,
"weight": 0,
"metrics": [
{
"key": "ai_agent_context",
"band": "at_risk",
"name": "Agent context & guidance",
"note": null,
"notes": [],
"value": 40,
"inputs": {
"has_llms_txt": false,
"legible_history_share": 1,
"agent_instruction_files": [],
"agent_instruction_max_bytes": null
},
"components": [
{
"key": "agent_instructions",
"name": "Agent instructions",
"detail": "no CLAUDE.md / AGENTS.md / editor rules",
"points": 0,
"status": "missed",
"details": [
{
"code": "no_agent_instructions",
"params": {}
}
],
"max_points": 45
},
{
"key": "machine_readable_docs_llms_txt",
"name": "Machine-readable docs (llms.txt)",
"detail": null,
"points": 0,
"status": "missed",
"details": [],
"max_points": 15
},
{
"key": "legible_commit_history",
"name": "Legible commit history",
"detail": "94 of 94 human commits state their intent (structured subject or explanatory body)",
"points": 40,
"status": "met",
"details": [
{
"code": "legible_history",
"params": {
"legible": 94,
"sampled": 94
}
}
],
"max_points": 40
}
]
},
{
"key": "ai_verify_loop",
"band": "at_risk",
"name": "Verify loop (build / test / typecheck)",
"note": null,
"notes": [],
"value": 40,
"inputs": {
"has_nix": false,
"has_tests": false,
"lockfiles": [],
"has_dockerfile": false,
"typed_language": false,
"bootstrap_files": [
"docs/Makefile"
],
"has_devcontainer": false,
"has_linter_config": true,
"typecheck_configs": [
"nextcord/ext/application_checks/py.typed",
"nextcord/ext/commands/py.typed",
"nextcord/ext/slash_utils/py.typed",
"nextcord/ext/tasks/py.typed",
"nextcord/py.typed"
],
"agent_commit_share": 0,
"toolchain_manifests": [],
"dependency_bot_commit_share": 0
},
"components": [
{
"key": "one_command_bootstrap",
"name": "One-command bootstrap",
"detail": "docs/Makefile",
"points": 18,
"status": "met",
"details": [
{
"code": "file_list",
"params": {
"files": "docs/Makefile"
}
}
],
"max_points": 18
},
{
"key": "automated_tests",
"name": "Automated tests",
"detail": null,
"points": 0,
"status": "missed",
"details": [],
"max_points": 22
},
{
"key": "lint_format_config",
"name": "Lint / format config",
"detail": null,
"points": 11,
"status": "met",
"details": [],
"max_points": 11
},
{
"key": "static_type_checking",
"name": "Static type checking",
"detail": "nextcord/ext/application_checks/py.typed, nextcord/ext/commands/py.typed, nextcord/ext/slash_utils/py.typed, nextcord/ext/tasks/py.typed, nextcord/py.typed",
"points": 11,
"status": "met",
"details": [
{
"code": "file_list",
"params": {
"files": "nextcord/ext/application_checks/py.typed, nextcord/ext/commands/py.typed, nextcord/ext/slash_utils/py.typed, nextcord/ext/tasks/py.typed, nextcord/py.typed"
}
}
],
"max_points": 11
},
{
"key": "reproducible_environment",
"name": "Reproducible environment",
"detail": null,
"points": 0,
"status": "missed",
"details": [],
"max_points": 10
},
{
"key": "demonstrated_agent_practice",
"name": "Demonstrated agent practice",
"detail": "no agent-authored commits among the last 100",
"points": 0,
"status": "missed",
"details": [
{
"code": "no_agent_authored_commits",
"params": {
"sampled": 100
}
}
],
"max_points": 10
},
{
"key": "automated_maintenance",
"name": "Automated maintenance",
"detail": "no automated dependency updates observed",
"points": 0,
"status": "missed",
"details": [
{
"code": "no_dependency_automation",
"params": {}
}
],
"max_points": 8
},
{
"key": "openssf_scorecard_pinned_dependencies",
"name": "OpenSSF Scorecard: Pinned-Dependencies",
"detail": "dependency not pinned by hash detected -- score normalized to 0",
"points": 0,
"status": "missed",
"details": [],
"max_points": 10
}
]
},
{
"key": "ai_code_legibility",
"band": "good",
"name": "Code legibility for models",
"note": null,
"notes": [],
"value": 78,
"inputs": {
"primary_language": "Python",
"largest_source_bytes": 159297,
"source_files_sampled": 168,
"oversized_source_files": 11
},
"components": [
{
"key": "type_checkable_code",
"name": "Type-checkable code",
"detail": "Python with type-check config (nextcord/ext/application_checks/py.typed, nextcord/ext/commands/py.typed, nextcord/ext/slash_utils/py.typed, nextcord/ext/tasks/py.typed, nextcord/py.typed)",
"points": 27,
"status": "partial",
"details": [
{
"code": "typecheck_config_language",
"params": {
"files": "nextcord/ext/application_checks/py.typed, nextcord/ext/commands/py.typed, nextcord/ext/slash_utils/py.typed, nextcord/ext/tasks/py.typed, nextcord/py.typed",
"language": "Python"
}
}
],
"max_points": 45
},
{
"key": "manageable_file_sizes",
"name": "Manageable file sizes",
"detail": "11/168 source files over 60KB",
"points": 51.4,
"status": "partial",
"details": [
{
"code": "oversized_source_files",
"params": {
"kb": 60,
"sampled": 168,
"oversized": 11
}
}
],
"max_points": 55
}
]
},
{
"key": "ai_interfaces",
"band": "at_risk",
"name": "Machine-readable interfaces",
"note": null,
"notes": [],
"value": 40,
"inputs": {
"example_dirs": [
"examples"
],
"has_mcp_signal": false,
"api_schema_files": []
},
"components": [
{
"key": "api_schema_openapi_graphql_proto",
"name": "API schema (OpenAPI/GraphQL/proto)",
"detail": null,
"points": 0,
"status": "missed",
"details": [],
"max_points": 40
},
{
"key": "mcp_server",
"name": "MCP server",
"detail": null,
"points": 0,
"status": "missed",
"details": [],
"max_points": 20
},
{
"key": "runnable_examples",
"name": "Runnable examples",
"detail": "examples",
"points": 40,
"status": "met",
"details": [
{
"code": "file_list",
"params": {
"files": "examples"
}
}
],
"max_points": 40
}
]
}
],
"description": "How well is the repo equipped to be developed and maintained with AI coding agents? An independent, experimental badge — weight 0.0, so it is surfaced on its own and does not affect the overall health score."
}
],
"metrics_version": "1.13.0"
},
"warnings": [
"Star history unavailable: GitHub GraphQL error: Resource not accessible by personal access token"
],
"report_type": "repository",
"generated_at": "2026-07-27T00:30:56.482189Z",
"schema_version": "0.27.0",
"badge_url": "https://raw.githubusercontent.com/inspect-software/badges/main/v1/n/nextcord/nextcord.svg",
"full_name": "nextcord/nextcord",
"license_state": "standard",
"license_spdx": "MIT"
}