{"id":16393678,"url":"https://github.com/astariul/discord_interactive_help","last_synced_at":"2025-07-29T11:33:25.756Z","repository":{"id":57418389,"uuid":"172162563","full_name":"astariul/discord_interactive_help","owner":"astariul","description":"A Discord framework to display interactive help easily","archived":false,"fork":false,"pushed_at":"2025-01-29T16:32:14.000Z","size":2024,"stargazers_count":13,"open_issues_count":1,"forks_count":1,"subscribers_count":6,"default_branch":"main","last_synced_at":"2025-07-02T08:10:50.162Z","etag":null,"topics":["discord","discord-bot","discordapp","hacktoberfest","help","interactive","menu","python","repl"],"latest_commit_sha":null,"homepage":"https://astariul.github.io/discord_interactive_help/","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/astariul.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":null,"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,"dei":null,"publiccode":null,"codemeta":null}},"created_at":"2019-02-23T02:37:49.000Z","updated_at":"2024-11-16T01:39:20.000Z","dependencies_parsed_at":"2022-09-13T07:51:50.592Z","dependency_job_id":"3d70030c-39cd-49ca-b4e4-ad428f26bb6c","html_url":"https://github.com/astariul/discord_interactive_help","commit_stats":{"total_commits":63,"total_committers":3,"mean_commits":21.0,"dds":"0.12698412698412698","last_synced_commit":"38249a5660f7c7e8987c2633911a36c32c994e81"},"previous_names":[],"tags_count":15,"template":false,"template_full_name":null,"purl":"pkg:github/astariul/discord_interactive_help","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/astariul%2Fdiscord_interactive_help","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/astariul%2Fdiscord_interactive_help/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/astariul%2Fdiscord_interactive_help/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/astariul%2Fdiscord_interactive_help/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/astariul","download_url":"https://codeload.github.com/astariul/discord_interactive_help/tar.gz/refs/heads/main","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/astariul%2Fdiscord_interactive_help/sbom","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":267678448,"owners_count":24126333,"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","status":"online","status_checked_at":"2025-07-29T02:00:12.549Z","response_time":2574,"last_error":null,"robots_txt_status":"success","robots_txt_updated_at":"2025-07-24T06:49:26.215Z","robots_txt_url":"https://github.com/robots.txt","online":true,"can_crawl_api":true,"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":["discord","discord-bot","discordapp","hacktoberfest","help","interactive","menu","python","repl"],"created_at":"2024-10-11T04:54:00.110Z","updated_at":"2025-07-29T11:33:25.736Z","avatar_url":"https://github.com/astariul.png","language":"Python","funding_links":[],"categories":[],"sub_categories":[],"readme":"\u003ch1 align=\"center\"\u003eDiscord Interactive Help\u003c/h1\u003e\n\n![gif](https://user-images.githubusercontent.com/22237185/53283254-da5a3100-3786-11e9-95cd-cd4dd4859bd2.gif)\n\n\u003cp align=\"center\"\u003e\nA Discord python framework to display an interactive help easily.\n\u003c/p\u003e\n\n\u003cp align=\"center\"\u003e\n    \u003ca href=\"https://github.com/astariul/discord_interactive_help/releases\"\u003e\u003cimg src=\"https://img.shields.io/github/release/astariul/discord_interactive_help.svg\" alt=\"GitHub release\" /\u003e\u003c/a\u003e\n    \u003ca href=\"https://github.com/astariul/discord_interactive_help/actions/workflows/lint.yaml\"\u003e\u003cimg src=\"https://github.com/astariul/discord_interactive_help/actions/workflows/lint.yaml/badge.svg\" alt=\"Lint status\" /\u003e\u003c/a\u003e\n    \u003ca href=\"https://astariul.github.io/discord_interactive_help\"\u003e\u003cimg src=\"https://img.shields.io/website?down_message=failing\u0026label=docs\u0026up_color=green\u0026up_message=passing\u0026url=https%3A%2F%2Fastariul.github.io%2Fdiscord_interactive_help\" alt=\"Docs\" /\u003e\u003c/a\u003e\n    \u003ca href=\"https://github.com/astariul/pytere/blob/main/LICENSE\"\u003e\u003cimg src=\"https://img.shields.io/badge/License-MIT-yellow.svg\" alt=\"licence\" /\u003e\u003c/a\u003e\n\u003c/p\u003e\n\n\u003cp align=\"center\"\u003e\n  \u003ca href=\"#features\"\u003eFeatures\u003c/a\u003e •\n  \u003ca href=\"#usage\"\u003eUsage\u003c/a\u003e •\n  \u003ca href=\"#example\"\u003eExample\u003c/a\u003e •\n  \u003ca href=\"#advanced\"\u003eAdvanced\u003c/a\u003e\n  \u003ca href=\"#running-in-docker\"\u003eRunning in Docker\u003c/a\u003e •\n  \u003ca href=\"#notes\"\u003eNotes\u003c/a\u003e\n  \u003cbr\u003e\n  \u003ca href=\"https://astariul.github.io/discord_interactive_help/\" target=\"_blank\"\u003eDocumentation\u003c/a\u003e\n\u003c/p\u003e\n\n\u003ch2 align=\"center\"\u003eFeatures\u003c/h2\u003e\n\n* 🔆 **Easy to naviguate** : Use reactions to naviguate through the Help manual.\n* ⚙ **Customized reaction** : Use any emoji as naviguation icon.\n* 🎮 **Commands support** : Go even further with interactive commands.\n\n\u003ch2 align=\"center\"\u003eUsage\u003c/h2\u003e\n\nInstall the package :\n\n`pip install discord-interactive`\n\n---\n\nImport the `Page` and `Help` objects into your bot's code, and create your own help manual :\n\n```py\nfrom discord_interactive import Page, Help\n\n# Define each page\nroot = Page('Welcome !\\n')\npage_1 = Page('This is page 1')\npage_2 = Page('This is page 2')\n\n# Link pages together\npage_1.link(page_2, description='Click this icon to access page 2', reaction='💩')\nroot.link(page_1, description='Click this icon to access page 1')\n\n# Set the root page as the root of other page (so user can come back with a specific reaction)\nroot.root_of([page_1, page_2])\n\n# Create the Help object\nclient = discord.Client()\nh = Help(client, root)\n\n...\n\n# And display the help !\n@client.event\nasync def on_message(message):\n    if message.author != client.user:  # Do not answer to myself\n        if message.content.startswith('/help'):\n            await h.display(message.author)\n```\n\n\u003ch2 align=\"center\"\u003eExample\u003c/h2\u003e\n\nYou can try the interactive help in [this Discord server](https://discord.gg/cH6hUbw) !\n\nSimply join the server, and type `/help` in the chat.\n\nAlso, take a look at the code for this interactive help ! Check out the script [`main.py`](https://github.com/astariul/discord_interactive_help/blob/main/main.py).\n\n\u003ch2 align=\"center\"\u003eAdvanced\u003c/h2\u003e\n\nIf you are interested in **advanced usage** such as **interactive commands**, take a look at the [full documentation](https://astariul.github.io/discord_interactive_help/4.0/usage/#advanced).\n\nExample of advanced usage :\n\n![gif](https://user-images.githubusercontent.com/22237185/53492662-c4c56e00-3adc-11e9-8be8-1b10d9f85e8a.gif)\n\n---\n\nIf you can't find what you are looking for, or need help about this library, you can open a [discussion thread](https://github.com/astariul/discord_interactive_help/discussions) or an [issue](https://github.com/astariul/discord_interactive_help/issues), we will be glad to help !\n\n\u003ch2 align=\"center\"\u003eRunning in Docker\u003c/h2\u003e\n\nA Dockerfile is available to run the example easily. Just build the image :\n\n```\ndocker build -t discord_interactive_help .\n```\n\nAnd then start it with your Discord bot token :\n\n```\nDISCORD_BOT_SECRET=\"\u003cyour_token\u003e\" docker run -e DISCORD_BOT_SECRET discord_interactive_help\n```\n\n\u003ch2 align=\"center\"\u003eNotes\u003c/h2\u003e\n\n* *This idea was already known for some time, I didn't get the idea myself. I just wanted to share an easy framework to implement it for your own bot.*\n\n* *This is working only with the Python Discord API.*\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fastariul%2Fdiscord_interactive_help","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fastariul%2Fdiscord_interactive_help","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fastariul%2Fdiscord_interactive_help/lists"}