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 telegram bot to download mega.nz links. (made with pyrogram).

Mega Link Downloader Bot This is a telegram bot to download mega.nz links and return them as files/videos - Made by a 100% noob! (When I mean noob I r

171 Dec 27, 2022
Using DST's API with Python

A short guide on how to access Denmark's Statistics API with python, together with a helper class that facilitates the collection of data and metadata from any DST's table

Alessandro Martinello 16 Dec 02, 2022
A Python script to update Spotify Playlist data every 5 minutes.

Spotify Playlist Updater A Python script to update Spotify Playlist data every 5 minutes. Description An automatic playlist updater using Spotify API

6 Nov 24, 2022
A google search telegram bot.

Google-Search-Bot A google search telegram bot. Made with Python3 (C) @FayasNoushad Copyright permission under MIT License License - https://github.c

Fayas Noushad 37 Nov 24, 2022
A simple discord bot named atticus that sends you the timetable of your classes upon request

A simple discord bot named atticus that sends you the timetable of your classes upon request. Soon, it would you ping you before classes too!

Samhitha 3 Oct 13, 2022
Client to allow skytrack to be used with GSPro Golf simulator application

Skytrack Interface for GSPro A Basic Interface connection from Skytrack Launch Monitors to be able to play simulator golf via GSPro About The Project

James Peruggia 2 Oct 24, 2021
A simple python bot that serves to send some notifications about GitHub events to Slack.

github alerts slack bot 🤖 What is it? 🔍 This is a simple bot that serves to send some notifications about GitHub events to Slack channels. These are

Jackson Alves 10 Dec 10, 2022
A hilarious program that translates text to Google's

Bork, bork, bork! A hilarious program that translates text in a file to Google's "bork bork bork' language. How to use Download the main.py file. Chan

The Algorithmic 1 Dec 17, 2021
A beginner’s guide to train and deploy machine learning pipelines in Python using PyCaret

This model involves Insurance bill prediction, which was subsequently deployed on Heroku PaaS

1 Jan 27, 2022
Simple Discord bot for the Collectez community.

Harvey - Discord Bot Simple Discord bot for the Collectez community. Features Ping the current status of Collectez's Teztools node. Steal emojis from

delintkhaum 1 Dec 26, 2021
Verkehrsunfälle in Deutschland, aufgeschlüsselt nach Verkehrsmittel des Hauptverursachers und Nebenverursachers

How-To Einfach ./main.py ausführen mit der Statistik-Datei aus dem Ordner "Unfälle_mit_mehreren_Beteiligten" als erstem Argument. Requirements python,

4 Oct 12, 2022
A FORKED AND Modded version of TL:GD for 🅱️3R0K🧲support

for support join here working example group Leech Here For Any Issues/Imrovements or Discussions go here or here Please Leave A star And Fork this Rep

XcodersHub 165 Mar 12, 2022
Sends messages to a Discord webhook whenever you make a new commit to your local git repository.

Git-Notif Sends messages to a Discord webhook whenever you make a new commit to your local git repository. Usage Just drop notifier.py into your git h

1 May 29, 2022
A discord.py bot template with easy deployment through Github Actions

discord.py bot template A discord.py bot template with easy deployment through Github Actions. You can use this template to just run a Python instance

Thomas Van Iseghem 1 Feb 09, 2022
Discord bot to display private leaderboards for Advent of Code.

Advent Of Code Discord Bot Discord bot for displaying Advent of Code private leardboards, as well as custom leaderboards where participants can set th

The Future Gadgets Lab 6 Nov 29, 2022
API Basica per a synologys Active Backup For Buissiness

Synology Active Backup for Business API-NPP Informació Per executar el programa

Nil Pujol 0 May 13, 2022
阿里云盘上传脚本

阿里云盘上传脚本 Author:李小恩 Github:https://github.com/Hidove/aliyundrive-uploader 如有侵权,请联系我删除 禁止用于非法用途,违者后果自负 环境要求 python3 使用方法 安装 git clone https://github.co

Hidove 301 Jan 01, 2023
派蒙Bot / PaimonBot

派蒙Bot / PaimonBot 基于Mrs4s / go-cqhttp 和 nonebot / nonebot2 的原神QQ群聊机器人 特别鸣谢 MingxuanGame 的人物武器名字自动纠正功能 小灰灰 的人物武器信息api 环境 请务必使用Python3.7以上版本!! 尽量在linux下

晓轩 96 Dec 16, 2022
Jackrabbit Relay is an API endpoint for stock, forex and cryptocurrency exchanges that accept REST webhooks.

JackrabbitRelay Jackrabbit Relay is an API endpoint for stock, forex and cryptocurrency exchanges that accept REST webhooks. Disclaimer Please note RA

Rose Heart 23 Jan 04, 2023
Python + AWS Lambda Hands OnPython + AWS Lambda Hands On

Python + AWS Lambda Hands On Python Criada em 1990, por Guido Van Rossum. "Bala de prata" (quase). Muito utilizado em: Automatizações - Selenium, Beau

Marcelo Ortiz de Santana 8 Sep 09, 2022