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
Download videos from Youtube and other platforms through a Telegram Bot

ytdl-bot Download videos from YouTube and other platforms through a Telegram Bot Usage: https://t.me/benny_ytdlbot Send link from YouTube directly to

Telegram Bot Collection 289 Jan 03, 2023
Rocks vc Userbot: A Telegram Bot Project That's Allow You To Play Audio And Video Music On Telegram Voice Chat Group

⭐️ Rocks VC Userbot ⭐️ Telegram Userbot To Play Audio And Video Song On VC Chat

Dr Asad Ali 10 Jul 18, 2022
Discord-RAID-Tool - Hacks/tools

How to use Python must be installed run install-config If you dont have python installed, download python 3.7.6 and make sure you click on the 'ADD TO

1 Jan 01, 2022
Discord Token Generator - Python (Generates Tokens and Joins your Server Automatically) hCaptcha Bypass **FREE**

Best Discord Token Generator {hCaptcha bypass FREE Unlimited Memberboost} Install few requirements & run main.py it will redirect you to the Download

1 Oct 27, 2021
VideocompBot - This is TG Video Compress BoT. Prouduct By BINARY Tech 💫

VideocompBot - This is TG Video Compress BoT. Prouduct By BINARY Tech 💫

1 Jan 04, 2022
Stop writing scripts to interact with your APIs. Call them as CLIs instead.

Zum Stop writing scripts to interact with your APIs. Call them as CLIs instead. Zum (German word roughly meaning "to the" or "to" depending on the con

Daniel Leal 84 Nov 17, 2022
A Telegram Bot to return Youtube Video Tags Using YoutubeTags API

YouTube-TagFind-Bot A Telegram Bot to return Youtube Video Tags Using YoutubeTags API YoutubeTags API Wrapper YoutubeTags is a python third-party api

Nuhman Pk 9 Aug 25, 2022
Watches your earnings on EarnApp and notifies you when you earned balance or received an payout.

EarnApp-Earning-Monitor Watches your earnings on EarnApp and notifies you when you earned balance or received an payout. Installation Install Python3

Yariya 21 Oct 17, 2022
Disco is an extensive and extendable Python 2.x/3.x library for the Discord API.

disco Disco is an extensive and extendable Python 2.x/3.x library for the Discord API. Disco boasts the following major features: Expressive, function

1 Nov 18, 2021
42-event-notifier - 42 Event notifier using 42API and Github Actions

42 Event Notifier 42서울 Agenda에 새로운 이벤트가 등록되면 알려드립니다! 현재는 Github Issue로 등록되므로 상단

6 May 16, 2022
An example Music Bot written in Disnake and uses slash commands to operate.

Music Bot An example music bot that is written in Disnake [Maintained discord.py Fork] Disnake Disnake is a maintained and updated fork of discord.py.

6 Jan 08, 2022
Troposphere and shellscript based AWS infrastructure automation creates an awsapigateway lambda with a go backend

Automated-cloudformation-infra Troposphere and shellscript based AWS infrastructure automation. Feel free to clone and edit for personal usage. The en

1 Jan 03, 2022
Flaga ze Szturmu na AWS.

Witaj Jesteś na GitHub'ie i czytasz właśnie plik README.md który znajduje się wewnątrz repozytorium Flaga z 7 i 8 etapu Szturmu na AWS. W tym etapie w

9 May 16, 2022
Wrapper for vk_api lib for faster bot buliding

Welcome to VKBotPod repository! Wrapper for vk_api lib for faster bot buliding Features Simple syntax Rich functionality Special thanks to movpushmov

NullPointerException 3 Jan 14, 2022
This Is Advanced Version Of Old Radio Player, An Telegram Bot to Play Radio/Music in Channel or Group Voice Chats.

Telegram Radio Player V2 An Telegram Bot to Play Radio/Music in Channel or Group Voice Chats. This is also the source code of the bot which is being u

SAF ONE 81 Dec 03, 2022
BeeDrive: Open Source Privacy File Transfering System for Teams and Individual Developers

BeeDrive For privacy and convenience purposes, more and more people try to keep data on their own hardwires instead of third-party cloud services such

Xuansheng Wu 8 Oct 31, 2022
A Telegram Bot to Extract Various Types Of Archives

IDN Unzip Bot A Telegram Bot to Extract Various Types Of Archives Features Extract various types of archives like rar, zip, tar, 7z, tar.xz etc. Passw

IDNCoderX 8 Jul 25, 2022
CloudFormation Drift Remediation - Use Cloud Control API to remediate drift that was detected on a CloudFormation stack

CloudFormation Drift Remediation - Use Cloud Control API to remediate drift that was detected on a CloudFormation stack

Cloudar 36 Dec 11, 2022
Discord Token Creator 🥵

Discord Token Creator 🥵

dropout 304 Jan 03, 2023
5 Oct 19, 2022