A simpler way to make forms, surveys, and reaction input using discord.py.

Overview

discord-ext-forms

MIT License PR's Welcome Downloads Code of Conduct GitHub last commit Open Source

An easier way to make forms and surveys in discord.​py.

This module is a very simple way to ask questions and create complete forms in discord.py without using an entire 30 lines!

Example:

from discord.ext.forms import Form
from discord.ext import commands
bot = commands.Bot(command_prefix="!")

@bot.command()
async def testform(ctx):
    form = Form(ctx,'Title')
    form.add_question('Question 1','first')
    form.add_question('Question 2','second')
    form.add_question('Question 3','third')
    result = await form.start()
    return result

>> result.first
"This was my response to question 1"

Example GIF Using this module, you can make a 3 question form with only 5 lines of code.

Links

How To Contribute

Changelog

Code of Conduct

Comments
  • UnboundLocalError: local variable 'correct' referenced before assignment.

    UnboundLocalError: local variable 'correct' referenced before assignment.

    Let me start this by telling you guys that I am a complete noob with Discord bot development, so it might be something that I am doing wrong. I will appreciate it if you can provide me with any guidance. Thank you in advance.

    Describe the bug While testing the example(https://github.com/terabyte3/discord-ext-forms) that you guys have on the main page of this repo, I keep getting the error below:

    Ignoring exception in command testform: Traceback (most recent call last): File "C:\Users\rosorio\AppData\Local\Packages\PythonSoftwareFoundation.Python.3.9_qbz5n2kfra8p0\LocalCache\local-packages\Python39\site-packages\discord\ext\commands\core.py", line 85, in wrapped ret = await coro(*args, **kwargs) File "C:\Users\rosorio\Documents\PersonalProject\Discord_Trade_Bot\bot.py", line 65, in testform result = await form.start() File "C:\Users\rosorio\AppData\Local\Packages\PythonSoftwareFoundation.Python.3.9_qbz5n2kfra8p0\LocalCache\local-packages\Python39\site-packages\discord\ext\forms\form.py", line 297, in start if correct: UnboundLocalError: local variable 'correct' referenced before assignment

    The above exception was the direct cause of the following exception:

    Traceback (most recent call last): File "C:\Users\rosorio\AppData\Local\Packages\PythonSoftwareFoundation.Python.3.9_qbz5n2kfra8p0\LocalCache\local-packages\Python39\site-packages\discord\ext\commands\bot.py", line 902, in invoke await ctx.command.invoke(ctx) File "C:\Users\rosorio\AppData\Local\Packages\PythonSoftwareFoundation.Python.3.9_qbz5n2kfra8p0\LocalCache\local-packages\Python39\site-packages\discord\ext\commands\core.py", line 864, in invoke await injected(*ctx.args, **ctx.kwargs) File "C:\Users\rosorio\AppData\Local\Packages\PythonSoftwareFoundation.Python.3.9_qbz5n2kfra8p0\LocalCache\local-packages\Python39\site-packages\discord\ext\commands\core.py", line 94, in wrapped raise CommandInvokeError(exc) from exc discord.ext.commands.errors.CommandInvokeError: Command raised an exception: UnboundLocalError: local variable 'correct' referenced before assignment

    To Reproduce I am using Python -V 3.9.7. Also, I installed these requirements:

    discord.py python-dotenv==0.13.0 discord.ext.forms furo Sphinx==3.5.4 numpydoc

    `import os import json import re import discord import random

    from os.path import join, dirname from discord import message from discord import client from discord.ext.forms.helpers import channel from dotenv import load_dotenv from discord.utils import get #from discord.ext.forms.form import Validator from discord.ext.forms import Form from discord.ext import commands

    DISCORD_TOKEN = os.environ.get('DISCORD_TOKEN')

    load_dotenv() TOKEN = os.getenv('DISCORD_TOKEN')

    bot = commands.Bot(command_prefix='!')

    @bot.event async def on_ready(): """ Runs once the bot has established a connection with Discord """

    print(f'{bot.user.name} has connected to Discord')
    
    # check if bot has connected to guilds
    if len(bot.guilds) > 0:
        print('connected to the following guilds:')
    
        for guild in bot.guilds:
            print(f'* {guild.name}#{guild.id}')
    

    @bot.command(name="test") @commands.has_role("Admin") async def on_test(ctx):

    guild = ctx.guild
    channel = ctx.channel
    author = ctx.author
    command = ctx.message.content
    
    
    # log event on command line
    print(f'* "{author.name}" issued "{command}" in "{channel}" of "{guild}"')
    
    # post random GIF from the JSON file
    await channel.send(f'* "{author.name}" issued "{command}" in "{channel}" of "{guild}"')
    

    @bot.command() async def testform(ctx):

    form = Form(ctx,'Title')
    form.add_question('Question 1','first')
    form.add_question('Question 2','second')
    form.add_question('Question 3','third')
    result = await form.start()
    
    embed=discord.Embed(title="details", description=f"1st: `{result.first}`\n 2nd: `{result.second}`\n 3rd: `{result.third}`")
    
    await ctx.send(embed=embed)
    

    if name == "main": # launch bot bot.run(TOKEN)`

    Expected behavior the same mechanic that you guys are displaying on the main page of this repo.

    Screenshots If applicable, add screenshots to help explain your problem.

    Desktop (please complete the following information):

    • Windows 10 pro
    • Visual Studio Code

    Additional context Add any other context about the problem here.

    bug 
    opened by Sijifredo 6
  • [FEATURE REQUEST] Cleanup after finishing start()

    [FEATURE REQUEST] Cleanup after finishing start()

    Is your feature request related to a problem? Please describe. I love cleaning up things after commands have finished. From my understanding, there isn't a way to delete the embed from the form after finishing currently.

    Describe the solution you'd like I would love an option to automatically delete the form after the start() command finishes.

    Describe alternatives you've considered Maybe an additional key in the returned dict holding the message_id of the embed.

    enhancement 
    opened by tylovejoy 3
  • [FEATURE REQUEST] Custom validation

    [FEATURE REQUEST] Custom validation

    Is your feature request related to a problem? Please describe. Currently, there are a few validators that use d.py converters. I would like to be able to use my own specific boolean functions as a validator. Say I have a regex pattern that I want to enforce. The user has to complete the entire form before I can validate a specific entry to that form with the regex pattern. Then after the form is completed I can send the user an error, meaning the user has to go through the entire form again instead of using the nice retries option that validators use.

    Describe the solution you'd like To be able to use a custom bool function in place of current validations.

    enhancement 
    opened by tylovejoy 2
  • [BUG] set_color code was not properly handled

    [BUG] set_color code was not properly handled

    Describe the bug Kept raising invalid color, for existing color hex

    To Reproduce just set any color containing B and E

    async def set_color(self,color:str) -> None:
            """Sets the color of the form embeds."""
            match = re.match(r'(0x|#)(\d|(f|F|d|D|a|A|c|C)){6}', str(color))
            if not match:
                raise InvalidColor(f"{color} is invalid. Be sure to use colors such as '0xffffff'")
            if color.startswith("#"):
                newclr = color.replace("#","")
                color = f"0x{newclr}"
            color = await commands.ColourConverter().convert(self._ctx,color)
            self.color = color
    

    Expected behavior

    • (f|F|d|D|a|A|c|C) this part need to be updated, hex color also contain E, e, B, b,
    • hence it kept calling my color invalid because i have part of it with E
    • I ended up modifying it from form.py module to get my code working

    Fixed code would be

    async def set_color(self,color:str) -> None:
            """Sets the color of the form embeds."""
            match = re.match(r'(0x|#)(\d|(f|F|d|D|a|A|c|C|E|e|b|B)){6}', str(color))
            if not match:
                raise InvalidColor(f"{color} is invalid. Be sure to use colors such as '0xffffff'")
            if color.startswith("#"):
                newclr = color.replace("#","")
                color = f"0x{newclr}"
            color = await commands.ColourConverter().convert(self._ctx,color)
            self.color = color
    
    bug 
    opened by OPdarmawan 2
  • Bump sphinx from 3.5.4 to 5.2.3

    Bump sphinx from 3.5.4 to 5.2.3

    Bumps sphinx from 3.5.4 to 5.2.3.

    Release notes

    Sourced from sphinx's releases.

    v5.2.3

    Changelog: https://www.sphinx-doc.org/en/master/changes.html

    v5.2.2

    Changelog: https://www.sphinx-doc.org/en/master/changes.html

    v5.2.1

    Changelog: https://www.sphinx-doc.org/en/master/changes.html

    v5.2.0

    Changelog: https://www.sphinx-doc.org/en/master/changes.html

    v5.1.1

    Changelog: https://www.sphinx-doc.org/en/master/changes.html

    v5.1.0

    Changelog: https://www.sphinx-doc.org/en/master/changes.html

    v5.0.2

    Changelog: https://www.sphinx-doc.org/en/master/changes.html

    v5.0.1

    Changelog: https://www.sphinx-doc.org/en/master/changes.html

    v5.0.0

    No release notes provided.

    v5.0.0b1

    Changelog: https://www.sphinx-doc.org/en/master/changes.html

    v4.5.0

    Changelog: https://www.sphinx-doc.org/en/master/changes.html

    v4.4.0

    Changelog: https://www.sphinx-doc.org/en/master/changes.html

    v4.3.1

    No release notes provided.

    Changelog

    Sourced from sphinx's changelog.

    Release 5.2.3 (released Sep 30, 2022)

    • #10878: Fix base64 image embedding in sphinx.ext.imgmath
    • #10886: Add :nocontentsentry: flag and global domain table of contents entry control option. Patch by Adam Turner

    Release 5.2.2 (released Sep 27, 2022)

    • #10872: Restore link targets for autodoc modules to the top of content. Patch by Dominic Davis-Foster.

    Release 5.2.1 (released Sep 25, 2022)

    Bugs fixed

    • #10861: Always normalise the pycon3 lexer to pycon.
    • Fix using sphinx.ext.autosummary with modules containing titles in the module-level docstring.

    Release 5.2.0.post0 (released Sep 24, 2022)

    • Recreated source tarballs for Debian maintainers.

    Release 5.2.0 (released Sep 24, 2022)

    Dependencies

    • #10356: Sphinx now uses declarative metadata with pyproject.toml to create packages, using PyPA's flit project as a build backend. Patch by Adam Turner.

    Deprecated

    • #10843: Support for HTML 4 output. Patch by Adam Turner.

    Features added

    • #10738: napoleon: Add support for docstring types using 'of', like type of type. Example: tuple of int.
    • #10286: C++, support requires clauses not just between the template parameter lists and the declaration.

    ... (truncated)

    Commits

    Dependabot compatibility score

    Dependabot will resolve any conflicts with this PR as long as you don't alter it yourself. You can also trigger a rebase manually by commenting @dependabot rebase.


    Dependabot commands and options

    You can trigger Dependabot actions by commenting on this PR:

    • @dependabot rebase will rebase this PR
    • @dependabot recreate will recreate this PR, overwriting any edits that have been made to it
    • @dependabot merge will merge this PR after your CI passes on it
    • @dependabot squash and merge will squash and merge this PR after your CI passes on it
    • @dependabot cancel merge will cancel a previously requested merge and block automerging
    • @dependabot reopen will reopen this PR if it is closed
    • @dependabot close will close this PR and stop Dependabot recreating it. You can achieve the same result by closing it manually
    • @dependabot ignore this major version will close this PR and stop Dependabot creating any more for this major version (unless you reopen the PR or upgrade to it yourself)
    • @dependabot ignore this minor version will close this PR and stop Dependabot creating any more for this minor version (unless you reopen the PR or upgrade to it yourself)
    • @dependabot ignore this dependency will close this PR and stop Dependabot creating any more for this dependency (unless you reopen the PR or upgrade to it yourself)
    dependencies 
    opened by dependabot[bot] 1
  • Bump sphinx from 3.5.4 to 5.2.2

    Bump sphinx from 3.5.4 to 5.2.2

    Bumps sphinx from 3.5.4 to 5.2.2.

    Release notes

    Sourced from sphinx's releases.

    v5.2.2

    Changelog: https://www.sphinx-doc.org/en/master/changes.html

    v5.2.1

    Changelog: https://www.sphinx-doc.org/en/master/changes.html

    v5.2.0

    Changelog: https://www.sphinx-doc.org/en/master/changes.html

    v5.1.1

    Changelog: https://www.sphinx-doc.org/en/master/changes.html

    v5.1.0

    Changelog: https://www.sphinx-doc.org/en/master/changes.html

    v5.0.2

    Changelog: https://www.sphinx-doc.org/en/master/changes.html

    v5.0.1

    Changelog: https://www.sphinx-doc.org/en/master/changes.html

    v5.0.0

    No release notes provided.

    v5.0.0b1

    Changelog: https://www.sphinx-doc.org/en/master/changes.html

    v4.5.0

    Changelog: https://www.sphinx-doc.org/en/master/changes.html

    v4.4.0

    Changelog: https://www.sphinx-doc.org/en/master/changes.html

    v4.3.1

    No release notes provided.

    Changelog

    Sourced from sphinx's changelog.

    Release 5.2.2 (released Sep 27, 2022)

    • #10872: Restore link targets for autodoc modules to the top of content. Patch by Dominic Davis-Foster.

    Release 5.2.1 (released Sep 25, 2022)

    Bugs fixed

    • #10861: Always normalise the pycon3 lexer to pycon.
    • Fix using sphinx.ext.autosummary with modules containing titles in the module-level docstring.

    Release 5.2.0.post0 (released Sep 24, 2022)

    • Recreated source tarballs for Debian maintainers.

    Release 5.2.0 (released Sep 24, 2022)

    Dependencies

    • #10356: Sphinx now uses declarative metadata with pyproject.toml to create packages, using PyPA's flit project as a build backend. Patch by Adam Turner.

    Deprecated

    • #10843: Support for HTML 4 output. Patch by Adam Turner.

    Features added

    • #10738: napoleon: Add support for docstring types using 'of', like type of type. Example: tuple of int.
    • #10286: C++, support requires clauses not just between the template parameter lists and the declaration.
    • #10755: linkcheck: Check the source URL of raw directives that use the url option.
    • #10781: Allow :rst:role:ref role to be used with definitions and fields.
    • #10717: HTML Search: Increase priority for full title and subtitle matches in search results
    • #10718: HTML Search: Save search result score to the HTML element for debugging
    • #10673: Make toctree accept 'genindex', 'modindex' and 'search' docnames

    ... (truncated)

    Commits
    • a651e6b Bump to 5.2.2 final
    • 335f335 Restore anchor links to top of module docstring
    • 19c2783 Correct error in release date for Sphinx 5.2.1
    • 635540c Restore anchor links to top of module docstring
    • 89b4f14 Fix mypy violations for v0.981 (#10875)
    • e0dbbc5 Bump to 5.2.1 final
    • 15c1cba Fix error in changelog for Sphinx 5.2.0
    • 77cee67 Define extra indent as a class attribute
    • 9ced736 Fix highlighting lexers
    • cd24c54 Bump to 5.2.0.post0 final
    • Additional commits viewable in compare view

    Dependabot compatibility score

    Dependabot will resolve any conflicts with this PR as long as you don't alter it yourself. You can also trigger a rebase manually by commenting @dependabot rebase.


    Dependabot commands and options

    You can trigger Dependabot actions by commenting on this PR:

    • @dependabot rebase will rebase this PR
    • @dependabot recreate will recreate this PR, overwriting any edits that have been made to it
    • @dependabot merge will merge this PR after your CI passes on it
    • @dependabot squash and merge will squash and merge this PR after your CI passes on it
    • @dependabot cancel merge will cancel a previously requested merge and block automerging
    • @dependabot reopen will reopen this PR if it is closed
    • @dependabot close will close this PR and stop Dependabot recreating it. You can achieve the same result by closing it manually
    • @dependabot ignore this major version will close this PR and stop Dependabot creating any more for this major version (unless you reopen the PR or upgrade to it yourself)
    • @dependabot ignore this minor version will close this PR and stop Dependabot creating any more for this minor version (unless you reopen the PR or upgrade to it yourself)
    • @dependabot ignore this dependency will close this PR and stop Dependabot creating any more for this dependency (unless you reopen the PR or upgrade to it yourself)
    dependencies 
    opened by dependabot[bot] 1
  • Bump sphinx from 3.5.4 to 5.2.1

    Bump sphinx from 3.5.4 to 5.2.1

    Bumps sphinx from 3.5.4 to 5.2.1.

    Release notes

    Sourced from sphinx's releases.

    v5.2.1

    Changelog: https://www.sphinx-doc.org/en/master/changes.html

    v5.2.0

    Changelog: https://www.sphinx-doc.org/en/master/changes.html

    v5.1.1

    Changelog: https://www.sphinx-doc.org/en/master/changes.html

    v5.1.0

    Changelog: https://www.sphinx-doc.org/en/master/changes.html

    v5.0.2

    Changelog: https://www.sphinx-doc.org/en/master/changes.html

    v5.0.1

    Changelog: https://www.sphinx-doc.org/en/master/changes.html

    v5.0.0

    No release notes provided.

    v5.0.0b1

    Changelog: https://www.sphinx-doc.org/en/master/changes.html

    v4.5.0

    Changelog: https://www.sphinx-doc.org/en/master/changes.html

    v4.4.0

    Changelog: https://www.sphinx-doc.org/en/master/changes.html

    v4.3.1

    No release notes provided.

    Changelog

    Sourced from sphinx's changelog.

    Release 5.2.1 (released Sep 24, 2022)

    Bugs fixed

    • #10861: Always normalise the pycon3 lexer to pycon.
    • Fix using sphinx.ext.autosummary with modules containing titles in the module-level docstring.

    Release 5.2.0.post0 (released Sep 24, 2022)

    • Recreated source tarballs for Debian maintainers.

    Release 5.2.0 (released Sep 24, 2022)

    Dependencies

    • #10356: Sphinx now uses declarative metadata with pyproject.toml to create packages, using PyPA's flit project as a build backend. Patch by Adam Turner.

    Deprecated

    • #10843: Support for HTML 4 output. Patch by Adam Turner.

    Features added

    • #10738: napoleon: Add support for docstring types using 'of', like type of type. Example: tuple of int.
    • #10286: C++, support requires clauses not just between the template parameter lists and the declaration.
    • #10755: linkcheck: Check the source URL of raw directives that use the url option.
    • #10781: Allow :rst:role:ref role to be used with definitions and fields.
    • #10717: HTML Search: Increase priority for full title and subtitle matches in search results
    • #10718: HTML Search: Save search result score to the HTML element for debugging
    • #10673: Make toctree accept 'genindex', 'modindex' and 'search' docnames
    • #6316, #10804: Add domain objects to the table of contents. Patch by Adam Turner
    • #6692: HTML Search: Include explicit :rst:dir:index directive index entries in the search index and search results. Patch by Adam Turner
    • #10816: imgmath: Allow embedding images in HTML as base64
    • #10854: HTML Search: Use browser localstorage for highlight control, stop storing highlight parameters in URL query strings. Patch by Adam Turner.

    ... (truncated)

    Commits

    Dependabot compatibility score

    Dependabot will resolve any conflicts with this PR as long as you don't alter it yourself. You can also trigger a rebase manually by commenting @dependabot rebase.


    Dependabot commands and options

    You can trigger Dependabot actions by commenting on this PR:

    • @dependabot rebase will rebase this PR
    • @dependabot recreate will recreate this PR, overwriting any edits that have been made to it
    • @dependabot merge will merge this PR after your CI passes on it
    • @dependabot squash and merge will squash and merge this PR after your CI passes on it
    • @dependabot cancel merge will cancel a previously requested merge and block automerging
    • @dependabot reopen will reopen this PR if it is closed
    • @dependabot close will close this PR and stop Dependabot recreating it. You can achieve the same result by closing it manually
    • @dependabot ignore this major version will close this PR and stop Dependabot creating any more for this major version (unless you reopen the PR or upgrade to it yourself)
    • @dependabot ignore this minor version will close this PR and stop Dependabot creating any more for this minor version (unless you reopen the PR or upgrade to it yourself)
    • @dependabot ignore this dependency will close this PR and stop Dependabot creating any more for this dependency (unless you reopen the PR or upgrade to it yourself)
    dependencies 
    opened by dependabot[bot] 1
  • Bump sphinx from 3.5.4 to 5.1.1

    Bump sphinx from 3.5.4 to 5.1.1

    Bumps sphinx from 3.5.4 to 5.1.1.

    Release notes

    Sourced from sphinx's releases.

    v5.1.1

    Changelog: https://www.sphinx-doc.org/en/master/changes.html

    v5.1.0

    Changelog: https://www.sphinx-doc.org/en/master/changes.html

    v5.0.2

    Changelog: https://www.sphinx-doc.org/en/master/changes.html

    v5.0.1

    Changelog: https://www.sphinx-doc.org/en/master/changes.html

    v5.0.0

    No release notes provided.

    v5.0.0b1

    Changelog: https://www.sphinx-doc.org/en/master/changes.html

    v4.5.0

    Changelog: https://www.sphinx-doc.org/en/master/changes.html

    v4.4.0

    Changelog: https://www.sphinx-doc.org/en/master/changes.html

    v4.3.1

    No release notes provided.

    Changelog

    Sourced from sphinx's changelog.

    Release 5.1.1 (released Jul 26, 2022)

    Bugs fixed

    • #10701: Fix ValueError in the new deque based sphinx.ext.napolean iterator implementation.
    • #10702: Restore compatability with third-party builders.

    Release 5.1.0 (released Jul 24, 2022)

    Dependencies

    • #10656: Support Docutils 0.19_. Patch by Adam Turner.

    .. _Docutils 0.19: https://docutils.sourceforge.io/RELEASE-NOTES.html#release-0-19-2022-07-05

    Deprecated

    • #10467: Deprecated sphinx.util.stemmer in favour of snowballstemmer. Patch by Adam Turner.
    • #9856: Deprecated sphinx.ext.napoleon.iterators.

    Features added

    • #10444: html theme: Allow specifying multiple CSS files through the stylesheet setting in theme.conf or by setting html_style to an iterable of strings.
    • #10366: std domain: Add support for emphasising placeholders in :rst:dir:option directives through a new :confval:option_emphasise_placeholders configuration option.
    • #10439: std domain: Use the repr of some variables when displaying warnings, making whitespace issues easier to identify.
    • #10571: quickstart: Reduce content in the generated conf.py file. Patch by Pradyun Gedam.
    • #10648: LaTeX: CSS-named-alike additional :ref:'sphinxsetup' <latexsphinxsetup> keys allow to configure four separate border-widths, four paddings, four corner radii, a shadow (possibly inset), colours for border, background, shadow for each of the code-block, topic, attention, caution, danger, error and warning directives.
    • #10655: LaTeX: Explain non-standard encoding in LatinRules.xdy
    • #10599: HTML Theme: Wrap consecutive footnotes in an <aside> element when using Docutils 0.18 or later, to allow for easier styling. This matches the behaviour introduced in Docutils 0.19. Patch by Adam Turner.
    • #10518: config: Add include_patterns as the opposite of exclude_patterns. Patch by Adam Turner.

    ... (truncated)

    Commits

    Dependabot compatibility score

    Dependabot will resolve any conflicts with this PR as long as you don't alter it yourself. You can also trigger a rebase manually by commenting @dependabot rebase.


    Dependabot commands and options

    You can trigger Dependabot actions by commenting on this PR:

    • @dependabot rebase will rebase this PR
    • @dependabot recreate will recreate this PR, overwriting any edits that have been made to it
    • @dependabot merge will merge this PR after your CI passes on it
    • @dependabot squash and merge will squash and merge this PR after your CI passes on it
    • @dependabot cancel merge will cancel a previously requested merge and block automerging
    • @dependabot reopen will reopen this PR if it is closed
    • @dependabot close will close this PR and stop Dependabot recreating it. You can achieve the same result by closing it manually
    • @dependabot ignore this major version will close this PR and stop Dependabot creating any more for this major version (unless you reopen the PR or upgrade to it yourself)
    • @dependabot ignore this minor version will close this PR and stop Dependabot creating any more for this minor version (unless you reopen the PR or upgrade to it yourself)
    • @dependabot ignore this dependency will close this PR and stop Dependabot creating any more for this dependency (unless you reopen the PR or upgrade to it yourself)
    dependencies 
    opened by dependabot[bot] 1
  • Bump sphinx from 3.5.4 to 5.1.0

    Bump sphinx from 3.5.4 to 5.1.0

    Bumps sphinx from 3.5.4 to 5.1.0.

    Release notes

    Sourced from sphinx's releases.

    v5.1.0

    Changelog: https://www.sphinx-doc.org/en/master/changes.html

    v5.0.2

    Changelog: https://www.sphinx-doc.org/en/master/changes.html

    v5.0.1

    Changelog: https://www.sphinx-doc.org/en/master/changes.html

    v5.0.0

    No release notes provided.

    v5.0.0b1

    Changelog: https://www.sphinx-doc.org/en/master/changes.html

    v4.5.0

    Changelog: https://www.sphinx-doc.org/en/master/changes.html

    v4.4.0

    Changelog: https://www.sphinx-doc.org/en/master/changes.html

    v4.3.1

    No release notes provided.

    Changelog

    Sourced from sphinx's changelog.

    Release 5.1.0 (released Jul 24, 2022)

    Dependencies

    • #10656: Support Docutils 0.19_. Patch by Adam Turner.

    .. _Docutils 0.19: https://docutils.sourceforge.io/RELEASE-NOTES.html#release-0-19-2022-07-05

    Deprecated

    • #10467: Deprecated sphinx.util.stemmer in favour of snowballstemmer. Patch by Adam Turner.
    • #9856: Deprecated sphinx.ext.napoleon.iterators.

    Features added

    • #10444: html theme: Allow specifying multiple CSS files through the stylesheet setting in theme.conf or by setting html_style to an iterable of strings.
    • #10366: std domain: Add support for emphasising placeholders in :rst:dir:option directives through a new :confval:option_emphasise_placeholders configuration option.
    • #10439: std domain: Use the repr of some variables when displaying warnings, making whitespace issues easier to identify.
    • #10571: quickstart: Reduce content in the generated conf.py file. Patch by Pradyun Gedam.
    • #10648: LaTeX: CSS-named-alike additional :ref:'sphinxsetup' <latexsphinxsetup> keys allow to configure four separate border-widths, four paddings, four corner radii, a shadow (possibly inset), colours for border, background, shadow for each of the code-block, topic, attention, caution, danger, error and warning directives.
    • #10655: LaTeX: Explain non-standard encoding in LatinRules.xdy
    • #10599: HTML Theme: Wrap consecutive footnotes in an <aside> element when using Docutils 0.18 or later, to allow for easier styling. This matches the behaviour introduced in Docutils 0.19. Patch by Adam Turner.
    • #10518: config: Add include_patterns as the opposite of exclude_patterns. Patch by Adam Turner.

    Bugs fixed

    • #10594: HTML Theme: field term colons are doubled if using Docutils 0.18+
    • #10596: Build failure if Docutils version is 0.18 (not 0.18.1) due to missing Node.findall()
    • #10506: LaTeX: build error if highlighting inline code role in figure caption (refs: #10251)
    • #10634: Make -P (pdb) option work better with exceptions triggered from events

    ... (truncated)

    Commits

    Dependabot compatibility score

    Dependabot will resolve any conflicts with this PR as long as you don't alter it yourself. You can also trigger a rebase manually by commenting @dependabot rebase.


    Dependabot commands and options

    You can trigger Dependabot actions by commenting on this PR:

    • @dependabot rebase will rebase this PR
    • @dependabot recreate will recreate this PR, overwriting any edits that have been made to it
    • @dependabot merge will merge this PR after your CI passes on it
    • @dependabot squash and merge will squash and merge this PR after your CI passes on it
    • @dependabot cancel merge will cancel a previously requested merge and block automerging
    • @dependabot reopen will reopen this PR if it is closed
    • @dependabot close will close this PR and stop Dependabot recreating it. You can achieve the same result by closing it manually
    • @dependabot ignore this major version will close this PR and stop Dependabot creating any more for this major version (unless you reopen the PR or upgrade to it yourself)
    • @dependabot ignore this minor version will close this PR and stop Dependabot creating any more for this minor version (unless you reopen the PR or upgrade to it yourself)
    • @dependabot ignore this dependency will close this PR and stop Dependabot creating any more for this dependency (unless you reopen the PR or upgrade to it yourself)
    dependencies 
    opened by dependabot[bot] 1
  • customization

    customization

    editing it a bit to fit customization with multi-usage so you can use it for buttons interactions, messages also it can be customized to work with different channels

    opened by Yosoevsky 1
  • Bump sphinx from 3.5.4 to 5.0.2

    Bump sphinx from 3.5.4 to 5.0.2

    Bumps sphinx from 3.5.4 to 5.0.2.

    Release notes

    Sourced from sphinx's releases.

    v5.0.2

    Changelog: https://www.sphinx-doc.org/en/master/changes.html

    v5.0.1

    Changelog: https://www.sphinx-doc.org/en/master/changes.html

    v5.0.0

    No release notes provided.

    v5.0.0b1

    Changelog: https://www.sphinx-doc.org/en/master/changes.html

    v4.5.0

    Changelog: https://www.sphinx-doc.org/en/master/changes.html

    v4.4.0

    Changelog: https://www.sphinx-doc.org/en/master/changes.html

    v4.3.1

    No release notes provided.

    Changelog

    Sourced from sphinx's changelog.

    Release 5.0.2 (released Jun 17, 2022)

    Features added

    • #10523: HTML Theme: Expose the Docutils's version info tuple as a template variable, docutils_version_info. Patch by Adam Turner.

    Bugs fixed

    • #10538: autodoc: Inherited class attribute having docstring is documented even if :confval:autodoc_inherit_docstring is disabled
    • #10509: autosummary: autosummary fails with a shared library
    • #10497: py domain: Failed to resolve strings in Literal. Patch by Adam Turner.
    • #10523: HTML Theme: Fix double brackets on citation references in Docutils 0.18+. Patch by Adam Turner.
    • #10534: Missing CSS for nav.contents in Docutils 0.18+. Patch by Adam Turner.

    Release 5.0.1 (released Jun 03, 2022)

    Bugs fixed

    • #10498: gettext: TypeError is raised when sorting warning messages if a node has no line number. Patch by Adam Turner.
    • #10493: HTML Theme: :rst:dir:topic directive is rendered incorrectly with Docutils 0.18. Patch by Adam Turner.
    • #10495: IndexError is raised for a :rst:role:kbd role having a separator. Patch by Adam Turner.

    Release 5.0.0 (released May 30, 2022)

    Dependencies

    5.0.0 b1

    • #10164: Support Docutils 0.18_. Patch by Adam Turner.

    .. _Docutils 0.18: https://docutils.sourceforge.io/RELEASE-NOTES.html#release-0-18-2021-10-26

    Incompatible changes

    5.0.0 b1

    ... (truncated)

    Commits
    • 907d27d Bump to 5.0.2 final
    • ed69703 Update CHANGES for PR #10535
    • 377d866 Merge pull request #10535 from AA-Turner/css-nav-contents
    • 7096024 Update CHANGES for PR #10539
    • d045227 Merge pull request #10539 from AA-Turner/fix-inherited-attrs
    • 29edce9 test: Add testcase for autodoc_inherit_docstring and attributes (refs: #10539)
    • 3956cf2 Fix documenting inherited attributes
    • 27f0532 Move aside.topic into the conditional blocks
    • 5806f0a Add nav.contents everywhere that div.topic is used
    • 8da2efb Rename CSS files to CSS template files
    • Additional commits viewable in compare view

    Dependabot compatibility score

    Dependabot will resolve any conflicts with this PR as long as you don't alter it yourself. You can also trigger a rebase manually by commenting @dependabot rebase.


    Dependabot commands and options

    You can trigger Dependabot actions by commenting on this PR:

    • @dependabot rebase will rebase this PR
    • @dependabot recreate will recreate this PR, overwriting any edits that have been made to it
    • @dependabot merge will merge this PR after your CI passes on it
    • @dependabot squash and merge will squash and merge this PR after your CI passes on it
    • @dependabot cancel merge will cancel a previously requested merge and block automerging
    • @dependabot reopen will reopen this PR if it is closed
    • @dependabot close will close this PR and stop Dependabot recreating it. You can achieve the same result by closing it manually
    • @dependabot ignore this major version will close this PR and stop Dependabot creating any more for this major version (unless you reopen the PR or upgrade to it yourself)
    • @dependabot ignore this minor version will close this PR and stop Dependabot creating any more for this minor version (unless you reopen the PR or upgrade to it yourself)
    • @dependabot ignore this dependency will close this PR and stop Dependabot creating any more for this dependency (unless you reopen the PR or upgrade to it yourself)
    dependencies 
    opened by dependabot[bot] 1
  • Bump sphinx from 3.5.4 to 5.3.0

    Bump sphinx from 3.5.4 to 5.3.0

    Bumps sphinx from 3.5.4 to 5.3.0.

    Release notes

    Sourced from sphinx's releases.

    v5.3.0

    Changelog: https://www.sphinx-doc.org/en/master/changes.html

    v5.2.3

    Changelog: https://www.sphinx-doc.org/en/master/changes.html

    v5.2.2

    Changelog: https://www.sphinx-doc.org/en/master/changes.html

    v5.2.1

    Changelog: https://www.sphinx-doc.org/en/master/changes.html

    v5.2.0

    Changelog: https://www.sphinx-doc.org/en/master/changes.html

    v5.1.1

    Changelog: https://www.sphinx-doc.org/en/master/changes.html

    v5.1.0

    Changelog: https://www.sphinx-doc.org/en/master/changes.html

    v5.0.2

    Changelog: https://www.sphinx-doc.org/en/master/changes.html

    v5.0.1

    Changelog: https://www.sphinx-doc.org/en/master/changes.html

    v5.0.0

    No release notes provided.

    v5.0.0b1

    Changelog: https://www.sphinx-doc.org/en/master/changes.html

    v4.5.0

    Changelog: https://www.sphinx-doc.org/en/master/changes.html

    v4.4.0

    Changelog: https://www.sphinx-doc.org/en/master/changes.html

    v4.3.1

    No release notes provided.

    Changelog

    Sourced from sphinx's changelog.

    Release 5.3.0 (released Oct 16, 2022)

    • #10759: LaTeX: add :confval:latex_table_style and support the 'booktabs', 'borderless', and 'colorrows' styles. (thanks to Stefan Wiehler for initial pull requests #6666, #6671)
    • #10840: One can cross-reference including an option value like :option:`--module=foobar```, :option:--module[=foobar]``` or ``:option:--module foobar```. Patch by Martin Liska.
    • #10881: autosectionlabel: Record the generated section label to the debug log.
    • #10268: Correctly URI-escape image filenames.
    • #10887: domains: Allow sections in all the content of all object description directives (e.g. :rst:dir:py:function). Patch by Adam Turner

    Release 5.2.3 (released Sep 30, 2022)

    • #10878: Fix base64 image embedding in sphinx.ext.imgmath
    • #10886: Add :nocontentsentry: flag and global domain table of contents entry control option. Patch by Adam Turner

    Release 5.2.2 (released Sep 27, 2022)

    • #10872: Restore link targets for autodoc modules to the top of content. Patch by Dominic Davis-Foster.

    Release 5.2.1 (released Sep 25, 2022)

    Bugs fixed

    • #10861: Always normalise the pycon3 lexer to pycon.
    • Fix using sphinx.ext.autosummary with modules containing titles in the module-level docstring.

    Release 5.2.0.post0 (released Sep 24, 2022)

    • Recreated source tarballs for Debian maintainers.

    Release 5.2.0 (released Sep 24, 2022)

    Dependencies

    • #10356: Sphinx now uses declarative metadata with pyproject.toml to create packages, using PyPA's flit project as a build backend. Patch by

    ... (truncated)

    Commits

    Dependabot compatibility score

    Dependabot will resolve any conflicts with this PR as long as you don't alter it yourself. You can also trigger a rebase manually by commenting @dependabot rebase.


    Dependabot commands and options

    You can trigger Dependabot actions by commenting on this PR:

    • @dependabot rebase will rebase this PR
    • @dependabot recreate will recreate this PR, overwriting any edits that have been made to it
    • @dependabot merge will merge this PR after your CI passes on it
    • @dependabot squash and merge will squash and merge this PR after your CI passes on it
    • @dependabot cancel merge will cancel a previously requested merge and block automerging
    • @dependabot reopen will reopen this PR if it is closed
    • @dependabot close will close this PR and stop Dependabot recreating it. You can achieve the same result by closing it manually
    • @dependabot ignore this major version will close this PR and stop Dependabot creating any more for this major version (unless you reopen the PR or upgrade to it yourself)
    • @dependabot ignore this minor version will close this PR and stop Dependabot creating any more for this minor version (unless you reopen the PR or upgrade to it yourself)
    • @dependabot ignore this dependency will close this PR and stop Dependabot creating any more for this dependency (unless you reopen the PR or upgrade to it yourself)
    dependencies 
    opened by dependabot[bot] 0
  • [BUG] ImportError

    [BUG] ImportError

    Describe the bug When i import discord.ext.forms, an error is produced: ImportError: Cannot import name 'UNICODE_EMOJI' from 'emoji'

    To Reproduce Python 3.8.12

    Expected behavior A clear and concise description of what you expected to happen.

    Screenshots If applicable, add screenshots to help explain your problem.

    Desktop (please complete the following information):

    • OS: [e.g. iOS]
    • Browser [e.g. chrome, safari]
    • Version [e.g. 22]

    Smartphone (please complete the following information):

    • Device: [e.g. iPhone6]
    • OS: [e.g. iOS8.1]
    • Browser [e.g. stock browser, safari]
    • Version [e.g. 22]

    Additional context Add any other context about the problem here.

    bug 
    opened by Mini-Exploit 1
Releases(v3.0.4)
  • 2.9.1(May 2, 2021)

  • 2.8.1(Apr 30, 2021)

  • 2.8.0(Apr 30, 2021)

  • v2.7.4(Mar 27, 2021)

  • v2.7.3(Mar 25, 2021)

  • 2.7.2(Feb 24, 2021)

    2.7.2

    Added ReactConfirm, a form that will let you turn this:

    embed=discord.Embed(title=f"{self.bot.emoji} Is this correct?",description=f"**Panel Channel:** {form.channel.mention}\n**Panel Emoji:** {form.emoji}\n**Panel Message:** {form.message}")
    msg = await ctx.send(embed=embed)
    confirm = ReactionForm(msg,self.bot,ctx.author)
    confirm.add_reaction('✅', True)
    confirm.add_reaction('❌', False)
    ans = await confirm.start()
    

    to this:

    embed=discord.Embed(title=f"{self.bot.emoji} Is this correct?",description=f"**Panel Channel:** {form.channel.mention}\n**Panel Emoji:** {form.emoji}\n**Panel Message:** {form.message}")
            msg = await ctx.send(embed=embed)
            confirm = ReactionConfirm(msg,self.bot,ctx.author)
            ans = await confirm.start()
    

    We also now have a category validation for text forms.

    Source code(tar.gz)
    Source code(zip)
  • v2.6.12(Feb 20, 2021)

    2.6.12

    Bugfix to fixing the errors that would happen when using input validation.

    Form field name is now required, and the returned item is FormResponse.

    Example:

    form.add_field("E","first")
    form.add_field("EE","second")
    
    await form.start()
    
    >> form.first
    "This is what i said for the first question"
    
    >> form.second
    "This is what i said for the second question"
    
    Source code(tar.gz)
    Source code(zip)
  • v2.6.10(Jan 7, 2021)

  • v2.6.9(Jan 7, 2021)

  • v2.6.8(Jan 7, 2021)

  • 2.6.7(Jan 7, 2021)

  • v2.6.0(Jan 7, 2021)

    Changelog v2.6.0

    Text Forms

    • The return type of a text form is now a single dictionary, and the add_question method now allows you to set a preferred dictionary key for the question.
    • Input validation is now stable!

    Docs

    The documentation is now available, and it is located here.

    Contribute

    Again: please remember that I welcome contributions!

    Source code(tar.gz)
    Source code(zip)
  • v2.3.5b(Jan 6, 2021)

    Changelog v2.3.5b

    Text Forms

    • The return type of a text form is now a single dictionary, and the add_question method now allows you to set a preferred dictionary key for the question.
    • Input validation is also in beta now!

    Docs

    The documentation is now available, and it is located here.

    Contribute

    Again: please remember that I welcome contributions!

    Source code(tar.gz)
    Source code(zip)
  • v2.0.4(Jan 4, 2021)

    Changelog v2.0.4

    Reactions

    The reaction extension has been changed a lot and is officially out of beta. Some of the new features are:

    • Menus
    • Reaction Forms
    • Increased Stability

    Text Forms

    Input validation is coming soon! With input validation, the bot will be able to either ignore or alert the user if their response is somehow wrong.

    Contribute

    Remember, contributions are always welcome! Just fork the project and make a pull request! Don't be scared of messing things up, if I see a mistake I'll help you out!

    Source code(tar.gz)
    Source code(zip)
  • v1.0.0(Jan 3, 2021)

Owner
thrizzle
black person who talks to gophers and snakes (and sometimes decaf coffee)
thrizzle
A simple worker for OpenClubhouse to sync data.

OpenClubhouse-Worker This is a simple worker for OpenClubhouse to sync CH channel data.

100 Dec 17, 2022
API para realizar parser de frases

NLP API Simple api to parse and apply some preprocessing steps in portuguses phrases (pt_BR) This api uses the great FastAPI and spaCy packages! Usage

⟠ Rodolfo De Nadai 1 Dec 28, 2021
Posts locally saved videos to the desired subreddit

redditvideoposter posts locally saved videos to the desired subreddit ================================================================= STEPS: pip ins

Kyrus 2 Dec 01, 2021
An Unofficial API for 1337x, Piratebay, Nyaasi, Torlock, Torrent Galaxy, Zooqle, Kickass, Bitsearch, and MagnetDL

An Unofficial API for 1337x, Piratebay, Nyaasi, Torlock, Torrent Galaxy, Zooqle, Kickass, Bitsearch, and MagnetDL

Neeraj Kumar 130 Dec 27, 2022
Discord Token Checker

Discord-Token-Checker Optimizations Asynchronous Fast & Efficient Multi Tasked Proxy support (socks4/socks5/http) Usage Put tasks depending on your PC

scripted 6 May 05, 2022
Halcyon is a Matrix bot library created with the intention of being easy to install and use. Inspired by discord.py

Halcyon is a Matrix bot library with the goal of being easy to install and use. The library takes inspiration from discord.py and the Slack li

Wes Ring 19 Jan 06, 2023
Python wrapper library for World Weather Online API

pywwo Python wrapper library for World Weather Online API using lxml.objectify How to use from pywwo import * setKey('your_key', 'free') w=LocalWeat

World Weather Online 20 Dec 19, 2022
D(HE)ater is a security tool can perform DoS attack by enforcing the DHE key exchange.

D(HE)ater D(HE)ater is an attacking tool based on CPU heating in that it forces the ephemeral variant of Diffie-Hellman key exchange (DHE) in given cr

Balasys 138 Dec 15, 2022
A discord bot made by the community (uses python)

discord community bot context: this is a discord bot made by the community by community i mean people adding commands to the bot or changing the bot b

TR ASH 0 Oct 11, 2022
A file-based quote bot written in Python

Let's Write a Python Quote Bot! This repository will get you started with building a quote bot in Python. It's meant to be used along with the Learnin

1 Feb 03, 2022
Cyber Userbot

Cyber Userbot

Irham 0 May 26, 2022
Python client for Midea dhumidifier

This is a library that allows communication with Midea dehumidifier appliances via the local area network. midea-beautiful-dehumidifier This library a

Nenad Bogojevic 42 Dec 22, 2022
Self-adjusting, auto-compounding multi-pair DCA crypto trading bot using Python, AWS Lambda & 3Commas API

Self-adjusting, auto-compounding multi-pair DCA crypto trading bot using Python, AWS Lambda & 3Commas API The following code describes how we can leve

Jozef Jaroščiak 21 Dec 07, 2022
The Easy-to-use Dialogue Response Selection Toolkit for Researchers

Easy-to-use toolkit for retrieval-based Chatbot Our released data can be found at this link. Make sure the following steps are adopted to use our code

GMFTBY 32 Nov 13, 2022
Complete portable pipeline for masking of Aadhaar Number adhering to Govt. Privacy Guidelines.

Aadhaar Number Masking Pipeline Implementation of a complete pipeline that masks the Aadhaar Number in given images to adhere to Govt. of India's Priv

1 Nov 06, 2021
A python script fetches all your starred repositories from your GitHub account and clones them to your server so you will never lose important resources

A python script fetches all your starred repositories from your GitHub account and clones them to your server so you will never lose important resources

Ringo Hoffmann 27 Oct 01, 2022
A discord bot that manages your server's hedge fund

Can't Hide Money Bot A discord bot that manages your server's hedge fund Installing Install wkhtmltopdf sudo apt-get install wkhtmltopdf OR brew insta

Kelvin Abrokwa-Johnson 0 Oct 16, 2021
Discord bots that update their status to the price of any coin listed on x.vite.net

Discord bots that update their status to the price of any coin listed on x.vite.net

5am 3 Nov 27, 2022
HackerNews and Reddit in one placce

EDIT: this project is 3.5 years old. I found it sad it's just laying around, so I did some minimal fixes and deployed it. Hope you enjoy! (PR's welcom

Hugo Montenegro 1 Nov 13, 2021