Ecosyste.ms: Awesome
An open API service indexing awesome lists of open source software.
https://github.com/astariul/discord_interactive_help
A Discord framework to display interactive help easily
https://github.com/astariul/discord_interactive_help
discord discord-bot discordapp hacktoberfest help interactive menu python repl
Last synced: 3 months ago
JSON representation
A Discord framework to display interactive help easily
- Host: GitHub
- URL: https://github.com/astariul/discord_interactive_help
- Owner: astariul
- License: mit
- Created: 2019-02-23T02:37:49.000Z (almost 6 years ago)
- Default Branch: main
- Last Pushed: 2024-10-08T01:04:02.000Z (4 months ago)
- Last Synced: 2024-10-12T04:53:57.335Z (4 months ago)
- Topics: discord, discord-bot, discordapp, hacktoberfest, help, interactive, menu, python, repl
- Language: Python
- Homepage: https://astariul.github.io/discord_interactive_help/
- Size: 1.93 MB
- Stars: 14
- Watchers: 7
- Forks: 1
- Open Issues: 0
-
Metadata Files:
- Readme: README.md
- License: LICENSE
Awesome Lists containing this project
README
Discord Interactive Help
![gif](https://user-images.githubusercontent.com/22237185/53283254-da5a3100-3786-11e9-95cd-cd4dd4859bd2.gif)
A Discord python framework to display an interactive help easily.
Features •
Usage •
Example •
Advanced
Running in Docker •
Notes
DocumentationFeatures
* 🔆 **Easy to naviguate** : Use reactions to naviguate through the Help manual.
* ⚙ **Customized reaction** : Use any emoji as naviguation icon.
* 🎮 **Commands support** : Go even further with interactive commands.Usage
Install the package :
`pip install discord-interactive`
---
Import the `Page` and `Help` objects into your bot's code, and create your own help manual :
```py
from discord_interactive import Page, Help# Define each page
root = Page('Welcome !\n')
page_1 = Page('This is page 1')
page_2 = Page('This is page 2')# Link pages together
page_1.link(page_2, description='Click this icon to access page 2', reaction='💩')
root.link(page_1, description='Click this icon to access page 1')# Set the root page as the root of other page (so user can come back with a specific reaction)
root.root_of([page_1, page_2])# Create the Help object
client = discord.Client()
h = Help(client, root)...
# And display the help !
@client.event
async def on_message(message):
if message.author != client.user: # Do not answer to myself
if message.content.startswith('/help'):
await h.display(message.author)
```Example
You can try the interactive help in [this Discord server](https://discord.gg/cH6hUbw) !
Simply join the server, and type `/help` in the chat.
Also, 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).
Advanced
If 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).
Example of advanced usage :
![gif](https://user-images.githubusercontent.com/22237185/53492662-c4c56e00-3adc-11e9-8be8-1b10d9f85e8a.gif)
---
If 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 !
Running in Docker
A Dockerfile is available to run the example easily. Just build the image :
```
docker build -t discord_interactive_help .
```And then start it with your Discord bot token :
```
DISCORD_BOT_SECRET="" docker run -e DISCORD_BOT_SECRET discord_interactive_help
```Notes
* *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.*
* *This is working only with the Python Discord API.*