{"id":13410798,"url":"https://github.com/NAFTeam/NAFF","last_synced_at":"2025-03-14T16:33:09.091Z","repository":{"id":36974377,"uuid":"390264077","full_name":"NAFTeam/NAFF","owner":"NAFTeam","description":"A Python API wrapper for Discord","archived":true,"fork":false,"pushed_at":"2023-03-13T07:57:30.000Z","size":50830,"stargazers_count":117,"open_issues_count":7,"forks_count":24,"subscribers_count":6,"default_branch":"master","last_synced_at":"2024-09-18T09:09:46.534Z","etag":null,"topics":["api-wrapper","dis-snek","discord","discord-api","hacktoberfest","naff","python","snek","wrapper"],"latest_commit_sha":null,"homepage":"https://naff.info","language":"Python","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"mit","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/NAFTeam.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":"CONTRIBUTING.md","funding":".github/FUNDING.yml","license":"LICENSE","code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null,"governance":null,"roadmap":null,"authors":null},"funding":{"github":"LordOfPolls"}},"created_at":"2021-07-28T07:56:04.000Z","updated_at":"2024-07-09T04:37:06.000Z","dependencies_parsed_at":"2024-01-21T09:48:03.957Z","dependency_job_id":"9d8536a2-e001-47d3-92e4-d60cba89e771","html_url":"https://github.com/NAFTeam/NAFF","commit_stats":null,"previous_names":["discord-snake-pit/naff","discord-snake-pit/dis-snek"],"tags_count":69,"template":false,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/NAFTeam%2FNAFF","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/NAFTeam%2FNAFF/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/NAFTeam%2FNAFF/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/NAFTeam%2FNAFF/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/NAFTeam","download_url":"https://codeload.github.com/NAFTeam/NAFF/tar.gz/refs/heads/master","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":221486912,"owners_count":16830966,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2022-07-04T15:15:14.044Z","host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":["api-wrapper","dis-snek","discord","discord-api","hacktoberfest","naff","python","snek","wrapper"],"created_at":"2024-07-30T20:01:09.306Z","updated_at":"2024-10-26T02:30:20.013Z","avatar_url":"https://github.com/NAFTeam.png","language":"Python","funding_links":["https://github.com/sponsors/LordOfPolls"],"categories":["API Libraries","Libraries"],"sub_categories":["Python"],"readme":"[![PyPI](https://img.shields.io/pypi/v/naff)](https://pypi.org/project/naff/)\n[![Downloads](https://static.pepy.tech/personalized-badge/dis-snek?period=total\u0026units=abbreviation\u0026left_color=grey\u0026right_color=green\u0026left_text=pip%20installs)](https://pepy.tech/project/dis-snek)\n[![Code style: black](https://img.shields.io/badge/code%20style-black-000000.svg)](https://github.com/psf/black)\n[![pre-commit](https://img.shields.io/github/actions/workflow/status/NAFTeam/NAFF/precommit.yml?branch=master\u0026label=pre-commit\u0026logo=github)](https://github.com/NAFTeam/NAFF/actions/workflows/precommit.yml)\n[![CodeQL](https://img.shields.io/github/actions/workflow/status/NAFTeam/NAFF/codeql-analysis.yml?branch=master\u0026label=CodeQL\u0026logo=Github)](https://github.com/NAFTeam/NAFF/actions/workflows/codeql-analysis.yml)\n[![Discord](https://img.shields.io/discord/870046872864165888?color=%235865F2\u0026label=Server\u0026logo=discord\u0026logoColor=%235865F2)](https://discord.gg/hpfNhH8BsY)\n[![Documentation Status](https://readthedocs.org/projects/naff-docs/badge/?version=latest)](https://naff-docs.readthedocs.io/en/latest/?version=latest)\n\n# Depreciation Notice\nPlease note the naff package is now deprecated. Please migrate to interactions.py, where future development will continue. https://github.com/interactions-py/interactions.py\nInteractions.py V5 is a combined release between interactions.py and naff. Migration is easy, and should only take an hour at most.\n\n# What is this?\nThis is `NAFF`, a python API wrapper for Discord.\nNAFF is intended to be fast, easy to use, and easily modified to suit your needs.\n\n### Features:\n- ✅ 100% coverage of the application commands API\n- ✅ Dynamic cache with TTL support\n- ✅ Modern and Pythonic API\n- ✅ Proper rate-limit handling\n- ✅ Feature parity with most other Discord API wrappers\n\n## Is this just another `Discord.py` fork?\nWhile this library shares features and some stylistic choices with `discord.py`, it is completely separate from them. We think `discord.py` is a fantastic library, but we disagree with the direction and design decisions that were made by it.\n\n## How do I use this?\nHere is a basic example:\n\n```python\nfrom naff import Client, Button, ButtonStyles, CommandTypes, context_menu, prefixed_command, listen\n\nbot = Client(sync_interactions=True)\n\n\n@listen()\nasync def on_startup():\n    print(\"Ready\")\n    print(f\"This bot is owned by {bot.owner}\")\n\n\n@prefixed_command()\nasync def test_button(ctx):\n    await ctx.send(\"Blurple button example!\", components=Button(ButtonStyles.BLURPLE, \"Click me\"))\n\n\n@context_menu(name=\"User menu\", context_type=CommandTypes.USER, scopes=[931832853770149918])\nasync def user_context(ctx):\n    await ctx.send(\"Context menu example!\", ephemeral=True)\n\n\nbot.start(\"TOKEN\")\n```\nFor more examples check out [our examples repo](https://github.com/NAFTeam/examples) or the [docs](https://naff.info). You also can [explore projects with the `NAFF` topic](https://github.com/topics/naff) or older [`dis-snek` topic](https://github.com/topics/dis-snek).\n\nIf you get stuck join our [Discord server](https://discord.gg/hpfNhH8BsY).\n\n\n## \"Can I contribute to this project?\"\nOf course, we welcome all contributions to this library. Just ensure you follow our [requirements](/CONTRIBUTING.md).\nIf youre stuck for things to contribute, check out our [GitHub Projects](https://github.com/orgs/NAFTeam/projects/1) for inspiration.\n\n## Links:\n- Support Server: https://discord.gg/hpfNhH8BsY\n- Documentation:  https://naff-docs.readthedocs.io/en/latest/\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2FNAFTeam%2FNAFF","html_url":"https://awesome.ecosyste.ms/projects/github.com%2FNAFTeam%2FNAFF","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2FNAFTeam%2FNAFF/lists"}