├── .flake8 ├── .gitattributes ├── .github ├── FUNDING.yml ├── pull_request_template.md ├── resources │ ├── kreusadacogs-artwork.png │ ├── kreusadacogs-artwork2.png │ └── kreusadacogs-artwork3.png └── workflows │ ├── matchers │ ├── check-json.json │ ├── check-toml.json │ ├── check-yaml.json │ └── flake8.json │ └── run_precommit.yaml ├── .gitignore ├── .pre-commit-config.yaml ├── .readthedocs.yaml ├── .travis.yml ├── LICENSE ├── Makefile ├── README.md ├── blackformatter ├── README.rst ├── __init__.py ├── black_formatter.py └── info.json ├── cocktail ├── README.rst ├── __init__.py ├── cocktail.py └── info.json ├── cogpaths ├── README.rst ├── __init__.py ├── cogpaths.py └── info.json ├── colour ├── README.rst ├── __init__.py ├── colour.py └── info.json ├── consoleclearer ├── README.rst ├── __init__.py ├── consoleclearer.py └── info.json ├── counting ├── LICENSE.md ├── README.rst ├── __init__.py ├── counting.py └── info.json ├── crowdin.yml ├── didyoumean ├── README.rst ├── __init__.py └── info.json ├── docs ├── Makefile ├── _static │ └── literals.css ├── _templates │ ├── layout.html │ └── relations.html ├── cog_blackformatter.rst ├── cog_cocktail.rst ├── cog_cogpaths.rst ├── cog_colour.rst ├── cog_consoleclearer.rst ├── cog_counting.rst ├── cog_didyoumean.rst ├── cog_embedcreator.rst ├── cog_flags.rst ├── cog_gallery.rst ├── cog_higherorlower.rst ├── cog_lock.rst ├── cog_mentionable.rst ├── cog_messagedeleter.rst ├── cog_minifier.rst ├── cog_morsecode.rst ├── cog_namegenerator.rst ├── cog_onthisday.rst ├── cog_pick.rst ├── cog_pypi.rst ├── cog_qr.rst ├── cog_quotes.rst ├── cog_rhymes.rst ├── cog_riddles.rst ├── cog_roleboards.rst ├── cog_sendcards.rst ├── cog_termino.rst ├── cog_texteditor.rst ├── cog_textfont.rst ├── cog_timestamps.rst ├── cog_tonguetwisters.rst ├── cog_unicodelookup.rst ├── conf.py ├── image_cog-creators-logo.png ├── image_repo_artwork.png ├── image_repo_artwork2.png ├── image_repo_artwork3.png ├── index.rst ├── make.bat └── requirements.txt ├── embedcreator ├── README.rst ├── __init__.py ├── embedcreator.py └── info.json ├── flags ├── README.rst ├── __init__.py ├── flags.py ├── info.json └── menus.py ├── gallery ├── LICENSE.md ├── README.rst ├── __init__.py ├── gallery.py └── info.json ├── higherorlower ├── README.rst ├── __init__.py ├── data │ └── images │ │ ├── c10.png │ │ ├── c2.png │ │ ├── c3.png │ │ ├── c4.png │ │ ├── c5.png │ │ ├── c6.png │ │ ├── c7.png │ │ ├── c8.png │ │ ├── c9.png │ │ ├── ca.png │ │ ├── cj.png │ │ ├── ck.png │ │ ├── cq.png │ │ ├── d10.png │ │ ├── d2.png │ │ ├── d3.png │ │ ├── d4.png │ │ ├── d5.png │ │ ├── d6.png │ │ ├── d7.png │ │ ├── d8.png │ │ ├── d9.png │ │ ├── da.png │ │ ├── dj.png │ │ ├── dk.png │ │ ├── dq.png │ │ ├── h10.png │ │ ├── h2.png │ │ ├── h3.png │ │ ├── h4.png │ │ ├── h5.png │ │ ├── h6.png │ │ ├── h7.png │ │ ├── h8.png │ │ ├── h9.png │ │ ├── ha.png │ │ ├── hj.png │ │ ├── hk.png │ │ ├── hq.png │ │ ├── s10.png │ │ ├── s2.png │ │ ├── s3.png │ │ ├── s4.png │ │ ├── s5.png │ │ ├── s6.png │ │ ├── s7.png │ │ ├── s8.png │ │ ├── s9.png │ │ ├── sa.png │ │ ├── sj.png │ │ ├── sk.png │ │ └── sq.png └── info.json ├── info.json ├── lock ├── LICENSE.md ├── README.rst ├── __init__.py ├── info.json └── lock.py ├── make.bat ├── mentionable ├── LICENSE.md ├── README.rst ├── __init__.py ├── info.json └── mentionable.py ├── messagedeleter ├── README.rst ├── __init__.py ├── info.json └── messagedeleter.py ├── minifier ├── README.rst ├── __init__.py ├── info.json └── minifier.py ├── morsecode ├── README.rst ├── __init__.py └── info.json ├── namegenerator ├── README.rst ├── __init__.py └── info.json ├── onthisday ├── README.rst ├── __init__.py └── info.json ├── pick ├── LICENSE.md ├── README.rst ├── __init__.py └── info.json ├── pypi ├── README.rst ├── __init__.py ├── info.json ├── pypi.py └── utils.py ├── pyproject.toml ├── qr ├── README.rst ├── __init__.py ├── info.json └── qr.py ├── quotes ├── README.rst ├── __init__.py ├── info.json └── quotes.py ├── rhymes ├── README.rst ├── __init__.py └── info.json ├── riddles ├── README.rst ├── __init__.py ├── info.json └── riddles.py ├── roleboards ├── README.rst ├── __init__.py ├── info.json ├── roleboards.py └── utils.py ├── sendcards ├── README.rst ├── __init__.py ├── info.json └── sendcards.py ├── termino ├── README.rst ├── __init__.py ├── info.json └── termino.py ├── texteditor ├── README.rst ├── __init__.py ├── info.json └── texteditor.py ├── textfont ├── README.rst ├── __init__.py └── info.json ├── timestamps ├── README.rst ├── __init__.py ├── info.json └── timestamps.py ├── tonguetwisters ├── README.rst ├── __init__.py ├── info.json └── tonguetwisters.py └── unicodelookup ├── README.rst ├── __init__.py └── info.json /.flake8: -------------------------------------------------------------------------------- 1 | [flake8] 2 | max-line-length = 99 3 | select = E9,F7,F82 4 | extend-exclude=.venv/,.stubs/ 5 | -------------------------------------------------------------------------------- /.gitattributes: -------------------------------------------------------------------------------- 1 | * text=auto eol=lf 2 | *.pxd text diff=python 3 | *.py text diff=python 4 | *.py3 text diff=python 5 | *.pyw text diff=python 6 | *.pyx text diff=python 7 | *.pyz text diff=python 8 | *.pyi text diff=python 9 | -------------------------------------------------------------------------------- /.github/FUNDING.yml: -------------------------------------------------------------------------------- 1 | patreon: kreusada 2 | -------------------------------------------------------------------------------- /.github/pull_request_template.md: -------------------------------------------------------------------------------- 1 | ### Type 2 | 3 | - [ ] Bugfix 4 | - [ ] Enhancement 5 | - [ ] New feature 6 | - [ ] Documentation 7 | 8 | ### Description of the changes 9 | -------------------------------------------------------------------------------- /.github/resources/kreusadacogs-artwork.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Kreusada/Kreusada-Cogs/41ef0e403af88c1373cf6cac75503f8eb51abbc4/.github/resources/kreusadacogs-artwork.png -------------------------------------------------------------------------------- /.github/resources/kreusadacogs-artwork2.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Kreusada/Kreusada-Cogs/41ef0e403af88c1373cf6cac75503f8eb51abbc4/.github/resources/kreusadacogs-artwork2.png -------------------------------------------------------------------------------- /.github/resources/kreusadacogs-artwork3.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Kreusada/Kreusada-Cogs/41ef0e403af88c1373cf6cac75503f8eb51abbc4/.github/resources/kreusadacogs-artwork3.png -------------------------------------------------------------------------------- /.github/workflows/matchers/check-json.json: -------------------------------------------------------------------------------- 1 | { 2 | "__comment": "Credits to: https://github.com/home-assistant/core/blob/d32c364d7f9e138e0dd9363b34b3cb39f4afcd06/.github/workflows/matchers/check-json.json", 3 | "problemMatcher": [ 4 | { 5 | "owner": "check-json", 6 | "pattern": [ 7 | { 8 | "regexp": "^(.+):\\s(Failed to json decode\\s.+\\sline\\s(\\d+)\\scolumn\\s(\\d+).+)$", 9 | "file": 1, 10 | "message": 2, 11 | "line": 3, 12 | "column": 4 13 | } 14 | ] 15 | } 16 | ] 17 | } 18 | -------------------------------------------------------------------------------- /.github/workflows/matchers/check-toml.json: -------------------------------------------------------------------------------- 1 | { 2 | "problemMatcher": [ 3 | { 4 | "owner": "check-toml", 5 | "pattern": [ 6 | { 7 | "regexp": "^(.+\\.toml):\\s(.+line\\s(\\d+)\\scolumn\\s(\\d+).+)$", 8 | "file": 1, 9 | "message": 2, 10 | "line": 3, 11 | "column": 4 12 | } 13 | ] 14 | } 15 | ] 16 | } 17 | -------------------------------------------------------------------------------- /.github/workflows/matchers/check-yaml.json: -------------------------------------------------------------------------------- 1 | { 2 | "problemMatcher": [ 3 | { 4 | "owner": "check-yaml", 5 | "pattern": [ 6 | { 7 | "regexp": "^(.+)$", 8 | "message": 1 9 | }, 10 | { 11 | "regexp": "^ in \"(.+\\.ya?ml)\", line (\\d+), column (\\d+)$", 12 | "file": 1, 13 | "line": 2, 14 | "column": 3 15 | } 16 | ] 17 | } 18 | ] 19 | } 20 | -------------------------------------------------------------------------------- /.github/workflows/matchers/flake8.json: -------------------------------------------------------------------------------- 1 | { 2 | "__comment": "Credits to: https://github.com/home-assistant/core/blob/d32c364d7f9e138e0dd9363b34b3cb39f4afcd06/.github/workflows/matchers/flake8.json", 3 | "problemMatcher": [ 4 | { 5 | "owner": "flake8-error", 6 | "severity": "error", 7 | "pattern": [ 8 | { 9 | "regexp": "^(.+):(\\d+):(\\d+):\\s(([EF]\\d{3})\\s.*)$", 10 | "file": 1, 11 | "line": 2, 12 | "column": 3, 13 | "message": 4, 14 | "code": 5 15 | } 16 | ] 17 | }, 18 | { 19 | "owner": "flake8-warning", 20 | "severity": "warning", 21 | "pattern": [ 22 | { 23 | "regexp": "^(.+):(\\d+):(\\d+):\\s(([CDNW]\\d{3})\\s.*)$", 24 | "file": 1, 25 | "line": 2, 26 | "column": 3, 27 | "message": 4 28 | } 29 | ] 30 | } 31 | ] 32 | } 33 | -------------------------------------------------------------------------------- /.github/workflows/run_precommit.yaml: -------------------------------------------------------------------------------- 1 | name: Run pre-commit 2 | 3 | on: [push, pull_request] 4 | 5 | jobs: 6 | run_precommit: 7 | name: Run pre-commit 8 | runs-on: ubuntu-latest 9 | 10 | steps: 11 | # Checkout repository 12 | - uses: actions/checkout@v2 13 | 14 | # Setup Python and install pre-commit 15 | - uses: actions/setup-python@v2 16 | with: 17 | python_version: "3.10" 18 | - name: Install pre-commit 19 | run: | 20 | pip install -U pre-commit 21 | 22 | # Load cached pre-commit environment 23 | - name: set PY 24 | run: echo "PY=$(python -VV | sha256sum | cut -d' ' -f1)" >> $GITHUB_ENV 25 | - uses: actions/cache@v2 26 | with: 27 | path: ~/.cache/pre-commit 28 | key: pre-commit|${{ env.PY }}|${{ hashFiles('.pre-commit-config.yaml') }} 29 | 30 | # Register problem matchers 31 | - name: Register problem matchers 32 | run: | 33 | echo "::add-matcher::.github/workflows/matchers/check-json.json" 34 | echo "::add-matcher::.github/workflows/matchers/check-toml.json" 35 | echo "::add-matcher::.github/workflows/matchers/check-yaml.json" 36 | echo "::add-matcher::.github/workflows/matchers/flake8.json" 37 | 38 | # Run pre-commit 39 | - name: Run pre-commit 40 | run: | 41 | pre-commit run --show-diff-on-failure --color=never --all-files --verbose 42 | -------------------------------------------------------------------------------- /.gitignore: -------------------------------------------------------------------------------- 1 | .vscode/* 2 | __pycache__/ 3 | *.py[cod] 4 | .venv/ 5 | venv/ 6 | docgen.py 7 | docs/_build/ -------------------------------------------------------------------------------- /.pre-commit-config.yaml: -------------------------------------------------------------------------------- 1 | default_language_version: 2 | python: python3 3 | repos: 4 | - repo: https://github.com/psf/black 5 | rev: '22.3.0' 6 | hooks: 7 | - id: black 8 | - repo: https://github.com/Pierre-Sassoulas/black-disable-checker 9 | rev: '1.0.1' 10 | hooks: 11 | - id: black-disable-checker 12 | - repo: https://github.com/PyCQA/flake8 13 | rev: '3.9.2' 14 | hooks: 15 | - id: flake8 16 | - repo: https://github.com/PyCQA/isort 17 | rev: '5.12.0' 18 | hooks: 19 | - id: isort 20 | - repo: https://github.com/pre-commit/pre-commit-hooks 21 | rev: v3.4.0 22 | hooks: 23 | # JSON auto-formatter 24 | # needs to come before mixed-line-ending, see: 25 | # https://github.com/pre-commit/pre-commit-hooks/issues/622 26 | - id: pretty-format-json 27 | args: 28 | - "--autofix" 29 | - "--indent=4" 30 | - "--no-sort-keys" 31 | 32 | # all files should end with an empty line (for one, it minimizes the diffs) 33 | - id: end-of-file-fixer 34 | # po files are auto-generated so let's not touch them 35 | exclude_types: [pofile] 36 | # `.gitattributes` should technically already handle this 37 | # but autocrlf can result in local files keeping the CRLF 38 | # which is problematic for some tools 39 | - id: mixed-line-ending 40 | args: 41 | - "--fix=lf" 42 | 43 | # Trailing whitespace is evil 44 | - id: trailing-whitespace 45 | 46 | # Require literal syntax when initializing builtin types 47 | - id: check-builtin-literals 48 | 49 | # Ensure that links to code on GitHub use the permalinks 50 | - id: check-vcs-permalinks 51 | 52 | # Syntax validation 53 | - id: check-ast 54 | - id: check-json 55 | - id: check-toml 56 | # can be switched to yamllint when this issue gets resolved: 57 | # https://github.com/adrienverge/yamllint/issues/238 58 | - id: check-yaml 59 | 60 | # Checks for git-related issues 61 | - id: check-case-conflict 62 | - id: check-merge-conflict 63 | -------------------------------------------------------------------------------- /.readthedocs.yaml: -------------------------------------------------------------------------------- 1 | version: 2 2 | 3 | sphinx: 4 | configuration: docs/conf.py 5 | 6 | build: 7 | os: ubuntu-22.04 8 | tools: 9 | python: "3.8" 10 | 11 | python: 12 | install: 13 | - requirements: docs/requirements.txt 14 | -------------------------------------------------------------------------------- /.travis.yml: -------------------------------------------------------------------------------- 1 | language: python 2 | python: 3 | - "3.8.5" 4 | script: 5 | - python -m compileall ./ 6 | notifications: 7 | email: false 8 | -------------------------------------------------------------------------------- /LICENSE: -------------------------------------------------------------------------------- 1 | MIT License 2 | 3 | Copyright (c) 2020 - present | Kreusada 4 | 5 | Permission is hereby granted, free of charge, to any person obtaining a copy 6 | of this software and associated documentation files (the "Software"), to deal 7 | in the Software without restriction, including without limitation the rights 8 | to use, copy, modify, merge, publish, distribute, sublicense, and/or sell 9 | copies of the Software, and to permit persons to whom the Software is 10 | furnished to do so, subject to the following conditions: 11 | 12 | The above copyright notice and this permission notice shall be included in all 13 | copies or substantial portions of the Software. 14 | 15 | THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR 16 | IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, 17 | FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE 18 | AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER 19 | LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, 20 | OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE 21 | SOFTWARE. 22 | -------------------------------------------------------------------------------- /Makefile: -------------------------------------------------------------------------------- 1 | PYTHON ?= python3.8 2 | 3 | # Python Code Style 4 | reformat: 5 | $(PYTHON) -m isort . 6 | $(PYTHON) -m black . 7 | -------------------------------------------------------------------------------- /blackformatter/README.rst: -------------------------------------------------------------------------------- 1 | .. _blackformatter: 2 | 3 | ============== 4 | BlackFormatter 5 | ============== 6 | 7 | This is the cog guide for the 'BlackFormatter' cog. This guide 8 | contains the collection of commands which you can use in the cog. 9 | 10 | Through this guide, ``[p]`` will always represent your prefix. Replace 11 | ``[p]`` with your own prefix when you use these commands in Discord. 12 | 13 | .. note:: 14 | 15 | This guide was last updated for version 1.1.0. Ensure 16 | that you are up to date by running ``[p]cog update blackformatter``. 17 | 18 | If there is something missing, or something that needs improving 19 | in this documentation, feel free to create an issue `here `_. 20 | 21 | This documentation is auto-generated everytime this cog receives an update. 22 | 23 | -------------- 24 | About this cog 25 | -------------- 26 | 27 | Run black on code. 28 | 29 | -------- 30 | Commands 31 | -------- 32 | 33 | Here are all the commands included in this cog (1): 34 | 35 | +--------------+----------------------------------------------------------------------------------+ 36 | | Command | Help | 37 | +==============+==================================================================================+ 38 | | ``[p]black`` | Format a python file with black. | 39 | | | | 40 | | | You need to attach a file to this command, and it's extension needs to be `.py`. | 41 | | | Your `line_length` is black setting. If it is not provided, it defaults to the | 42 | | | configured black line length (the default, unchanged, is 88). | 43 | +--------------+----------------------------------------------------------------------------------+ 44 | 45 | ------------ 46 | Installation 47 | ------------ 48 | 49 | If you haven't added my repo before, lets add it first. We'll call it 50 | "kreusada-cogs" here. 51 | 52 | .. code-block:: 53 | 54 | [p]repo add kreusada-cogs https://github.com/Kreusada/Kreusada-Cogs 55 | 56 | Now, we can install BlackFormatter. 57 | 58 | .. code-block:: 59 | 60 | [p]cog install kreusada-cogs blackformatter 61 | 62 | Once it's installed, it is not loaded by default. Load it by running the following 63 | command: 64 | 65 | .. code-block:: 66 | 67 | [p]load blackformatter 68 | 69 | --------------- 70 | Further Support 71 | --------------- 72 | 73 | For more support, head over to the `cog support server `_, 74 | I have my own channel over there at #support_kreusada-cogs. Feel free to join my 75 | `personal server `_ whilst you're here. 76 | -------------------------------------------------------------------------------- /blackformatter/__init__.py: -------------------------------------------------------------------------------- 1 | from redbot.core.bot import Red 2 | from redbot.core.utils import get_end_user_data_statement 3 | 4 | from .black_formatter import BlackFormatter 5 | 6 | __red_end_user_data_statement__ = get_end_user_data_statement(__file__) 7 | 8 | 9 | async def setup(bot: Red): 10 | await bot.add_cog(BlackFormatter(bot)) 11 | -------------------------------------------------------------------------------- /blackformatter/black_formatter.py: -------------------------------------------------------------------------------- 1 | import io 2 | from typing import Optional 3 | 4 | import black 5 | import discord 6 | from redbot.core import commands 7 | from redbot.core.bot import Red 8 | 9 | 10 | class BlackFormatter(commands.Cog): 11 | """Run black on code.""" 12 | 13 | __author__ = "Kreusada" 14 | __version__ = "1.1.0" 15 | 16 | def __init__(self, bot: Red): 17 | self.bot = bot 18 | 19 | def format_help_for_context(self, ctx: commands.Context) -> str: 20 | context = super().format_help_for_context(ctx) 21 | return f"{context}\n\nAuthor: {self.__author__}\nVersion: {self.__version__}" 22 | 23 | async def red_delete_data_for_user(self, **kwargs): 24 | return 25 | 26 | @commands.has_permissions(attach_files=True) 27 | @commands.command(name="black", usage=f" [line_length=None]") 28 | async def _black(self, ctx: commands.Context, line_length: Optional[int] = None): 29 | """Format a python file with black. 30 | 31 | You need to attach a file to this command, and it's extension needs to be `.py`. 32 | Your `line_length` is black setting. If it is not provided, it defaults to the 33 | configured black line length (the default, unchanged, is 88). 34 | """ 35 | await ctx.typing() 36 | if not ctx.message.attachments: 37 | return await ctx.send_help() 38 | attachment_file = ctx.message.attachments[0] 39 | if not attachment_file.filename.lower().endswith(".py"): 40 | return await ctx.send("Must be a python file.") 41 | 42 | file = await attachment_file.read() 43 | try: 44 | sort = file.decode(encoding="utf-8") 45 | except UnicodeDecodeError: 46 | return await ctx.send("Something went wrong when trying to decode this file.") 47 | 48 | try: 49 | output = black.format_file_contents( 50 | sort, 51 | fast=True, 52 | mode=black.FileMode(line_length=line_length or black.DEFAULT_LINE_LENGTH), 53 | ) 54 | except black.NothingChanged: 55 | await ctx.send("There was nothing to change in this code.") 56 | else: 57 | await ctx.send( 58 | content="See the attached file below, with your formatted code.", 59 | file=discord.File( 60 | io.BytesIO(output.encode(encoding="utf-8")), 61 | filename=attachment_file.filename.lower(), 62 | ), 63 | ) 64 | -------------------------------------------------------------------------------- /blackformatter/info.json: -------------------------------------------------------------------------------- 1 | { 2 | "author": [ 3 | "Kreusada" 4 | ], 5 | "description": "Run black on files with custom line lengths.", 6 | "disabled": false, 7 | "end_user_data_statement": "This cog does not persistently store data or metadata about users.", 8 | "hidden": false, 9 | "install_msg": "Thanks for installing, have fun. Please refer to my docs if you need any help: https://kreusadacogs.readthedocs.io/en/latest/cog_blackformatter.html", 10 | "name": "Black", 11 | "required_cogs": {}, 12 | "requirements": [ 13 | "black" 14 | ], 15 | "short": "Run black on files with custom line lengths.", 16 | "tags": [ 17 | "Black", 18 | "Code", 19 | "File" 20 | ], 21 | "type": "COG" 22 | } 23 | -------------------------------------------------------------------------------- /cocktail/README.rst: -------------------------------------------------------------------------------- 1 | .. _cocktail: 2 | 3 | ======== 4 | Cocktail 5 | ======== 6 | 7 | This is the cog guide for the 'Cocktail' cog. This guide 8 | contains the collection of commands which you can use in the cog. 9 | 10 | Through this guide, ``[p]`` will always represent your prefix. Replace 11 | ``[p]`` with your own prefix when you use these commands in Discord. 12 | 13 | .. note:: 14 | 15 | This guide was last updated for version 1.0.0. Ensure 16 | that you are up to date by running ``[p]cog update cocktail``. 17 | 18 | If there is something missing, or something that needs improving 19 | in this documentation, feel free to create an issue `here `_. 20 | 21 | This documentation is auto-generated everytime this cog receives an update. 22 | 23 | -------------- 24 | About this cog 25 | -------------- 26 | 27 | Get information about different cocktails and their ingredients. 28 | 29 | -------- 30 | Commands 31 | -------- 32 | 33 | Here are all the commands included in this cog (3): 34 | 35 | +----------------------------+--------------------------------------------------------------------------------------------------------------+ 36 | | Command | Help | 37 | +============================+==============================================================================================================+ 38 | | ``[p]cocktail`` | Get information about a cocktail / cocktail related commands. Supply 'random' to retrieve a random cocktail. | 39 | +----------------------------+--------------------------------------------------------------------------------------------------------------+ 40 | | ``[p]cocktail favourites`` | See your favourite cocktails. | 41 | +----------------------------+--------------------------------------------------------------------------------------------------------------+ 42 | | ``[p]cocktail ingredient`` | Get information about a cocktail ingredient. | 43 | +----------------------------+--------------------------------------------------------------------------------------------------------------+ 44 | 45 | ------------ 46 | Installation 47 | ------------ 48 | 49 | If you haven't added my repo before, lets add it first. We'll call it 50 | "kreusada-cogs" here. 51 | 52 | .. code-block:: 53 | 54 | [p]repo add kreusada-cogs https://github.com/Kreusada/Kreusada-Cogs 55 | 56 | Now, we can install Cocktail. 57 | 58 | .. code-block:: 59 | 60 | [p]cog install kreusada-cogs cocktail 61 | 62 | Once it's installed, it is not loaded by default. Load it by running the following 63 | command: 64 | 65 | .. code-block:: 66 | 67 | [p]load cocktail 68 | 69 | --------------- 70 | Further Support 71 | --------------- 72 | 73 | For more support, head over to the `cog support server `_, 74 | I have my own channel over there at #support_kreusada-cogs. Feel free to join my 75 | `personal server `_ whilst you're here. 76 | -------------------------------------------------------------------------------- /cocktail/__init__.py: -------------------------------------------------------------------------------- 1 | from redbot.core.bot import Red 2 | from redbot.core.utils import get_end_user_data_statement 3 | 4 | from .cocktail import Cocktail 5 | 6 | __red_end_user_data_statement__ = get_end_user_data_statement(__file__) 7 | 8 | 9 | async def setup(bot: Red): 10 | await bot.add_cog(Cocktail(bot)) 11 | -------------------------------------------------------------------------------- /cocktail/info.json: -------------------------------------------------------------------------------- 1 | { 2 | "author": [ 3 | "Kreusada" 4 | ], 5 | "description": "Get information about different cocktails and their ingredients.", 6 | "disabled": false, 7 | "end_user_data_statement": "This cog stores the user's favourite cocktails which may be removed at any time.", 8 | "hidden": false, 9 | "install_msg": "Thanks for installing, have fun. Please refer to my docs if you need any help: https://kreusadacogs.readthedocs.io/en/latest/cog_cocktail.html\n\n**IMPORTANT: Please be aware that this cog promotes and showcases alcoholic beverages. Given the nature of the content, it's crucial to consider the age group of [botname]'s users. Ensure that your audience is appropriate for this type of content and that you are compliant with relevant regulations and guidelines regarding the promotion of alcohol.\n\nI strongly recommend that you review the demographic of [botname]’s user base and assess whether this cog is appropriate. Responsible management is key to maintaining a positive and compliant environment for all users. ", 10 | "name": "Cocktail", 11 | "required_cogs": {}, 12 | "requirements": [], 13 | "short": "Get information about different cocktails and their ingredients.", 14 | "tags": [ 15 | "Cocktails", 16 | "Alcohol", 17 | "Drinks" 18 | ], 19 | "type": "COG" 20 | } -------------------------------------------------------------------------------- /cogpaths/README.rst: -------------------------------------------------------------------------------- 1 | .. _cogpaths: 2 | 3 | ======== 4 | CogPaths 5 | ======== 6 | 7 | This is the cog guide for the 'CogPaths' cog. This guide 8 | contains the collection of commands which you can use in the cog. 9 | 10 | Through this guide, ``[p]`` will always represent your prefix. Replace 11 | ``[p]`` with your own prefix when you use these commands in Discord. 12 | 13 | .. note:: 14 | 15 | This guide was last updated for version 1.1.0. Ensure 16 | that you are up to date by running ``[p]cog update cogpaths``. 17 | 18 | If there is something missing, or something that needs improving 19 | in this documentation, feel free to create an issue `here `_. 20 | 21 | This documentation is auto-generated everytime this cog receives an update. 22 | 23 | -------------- 24 | About this cog 25 | -------------- 26 | 27 | Get information about a cog's paths. 28 | 29 | -------- 30 | Commands 31 | -------- 32 | 33 | Here are all the commands included in this cog (1): 34 | 35 | +----------------+--------------------------+ 36 | | Command | Help | 37 | +================+==========================+ 38 | | ``[p]cogpath`` | Get the paths for a cog. | 39 | +----------------+--------------------------+ 40 | 41 | ------------ 42 | Installation 43 | ------------ 44 | 45 | If you haven't added my repo before, lets add it first. We'll call it 46 | "kreusada-cogs" here. 47 | 48 | .. code-block:: 49 | 50 | [p]repo add kreusada-cogs https://github.com/Kreusada/Kreusada-Cogs 51 | 52 | Now, we can install CogPaths. 53 | 54 | .. code-block:: 55 | 56 | [p]cog install kreusada-cogs cogpaths 57 | 58 | Once it's installed, it is not loaded by default. Load it by running the following 59 | command: 60 | 61 | .. code-block:: 62 | 63 | [p]load cogpaths 64 | 65 | --------------- 66 | Further Support 67 | --------------- 68 | 69 | For more support, head over to the `cog support server `_, 70 | I have my own channel over there at #support_kreusada-cogs. Feel free to join my 71 | `personal server `_ whilst you're here. 72 | -------------------------------------------------------------------------------- /cogpaths/__init__.py: -------------------------------------------------------------------------------- 1 | from redbot.core.bot import Red 2 | from redbot.core.utils import get_end_user_data_statement 3 | 4 | from .cogpaths import CogPaths 5 | 6 | __red_end_user_data_statement__ = get_end_user_data_statement(__file__) 7 | 8 | 9 | async def setup(bot: Red): 10 | await bot.add_cog(CogPaths(bot)) 11 | -------------------------------------------------------------------------------- /cogpaths/cogpaths.py: -------------------------------------------------------------------------------- 1 | import inspect 2 | import os 3 | import pathlib 4 | 5 | from redbot.core import commands, data_manager 6 | from redbot.core.bot import Red 7 | from redbot.core.commands import CogConverter 8 | from redbot.core.config import Config 9 | from redbot.core.utils.chat_formatting import box 10 | 11 | 12 | class CogPaths(commands.Cog): 13 | """Get information about a cog's paths.""" 14 | 15 | __author__ = "Kreusada" 16 | __version__ = "1.1.0" 17 | 18 | def __init__(self, bot: Red): 19 | self.bot = bot 20 | 21 | def format_help_for_context(self, ctx: commands.Context) -> str: 22 | context = super().format_help_for_context(ctx) 23 | return f"{context}\n\nAuthor: {self.__author__}\nVersion: {self.__version__}" 24 | 25 | async def red_delete_data_for_user(self, **kwargs): 26 | return 27 | 28 | @commands.is_owner() 29 | @commands.command(aliases=["cogpaths"]) 30 | async def cogpath(self, ctx: commands.Context, cog: CogConverter): 31 | """Get the paths for a cog.""" 32 | cog_path = pathlib.Path(inspect.getfile(cog.__class__)).parent.resolve() 33 | cog_data_path = pathlib.Path(data_manager.cog_data_path() / cog.qualified_name).resolve() 34 | if not os.path.exists(cog_data_path): 35 | cog_data_path = None 36 | if not isinstance(getattr(cog, "config", None), Config): 37 | reason = "This cog does not store any data, or does not use Red's Config API." 38 | else: 39 | reason = "This cog had its data directory removed." 40 | message = "Cog path: {}\nData path: {}".format(cog_path, cog_data_path or reason) 41 | await ctx.send(box(message, lang="yaml")) 42 | -------------------------------------------------------------------------------- /cogpaths/info.json: -------------------------------------------------------------------------------- 1 | { 2 | "author": [ 3 | "Kreusada" 4 | ], 5 | "description": "Get various paths for a cog.", 6 | "install_msg": "Thanks for installing, have fun. Please refer to my docs if you need any help: https://kreusadacogs.readthedocs.io/en/latest/cog_cogpaths.html", 7 | "short": "Get various paths for a cog.", 8 | "name": "CogPaths", 9 | "tags": [ 10 | "Paths", 11 | "Cogs" 12 | ], 13 | "requirements": [], 14 | "type": "COG", 15 | "end_user_data_statement": "This cog does not persistently store data or metadata about users." 16 | } 17 | -------------------------------------------------------------------------------- /colour/README.rst: -------------------------------------------------------------------------------- 1 | .. _colour: 2 | 3 | ====== 4 | Colour 5 | ====== 6 | 7 | This is the cog guide for the 'Colour' cog. This guide 8 | contains the collection of commands which you can use in the cog. 9 | 10 | Through this guide, ``[p]`` will always represent your prefix. Replace 11 | ``[p]`` with your own prefix when you use these commands in Discord. 12 | 13 | .. note:: 14 | 15 | This guide was last updated for version 1.1.2. Ensure 16 | that you are up to date by running ``[p]cog update colour``. 17 | 18 | If there is something missing, or something that needs improving 19 | in this documentation, feel free to create an issue `here `_. 20 | 21 | This documentation is auto-generated everytime this cog receives an update. 22 | 23 | -------------- 24 | About this cog 25 | -------------- 26 | 27 | View information about a colour. 28 | 29 | -------- 30 | Commands 31 | -------- 32 | 33 | Here are all the commands included in this cog (1): 34 | 35 | +---------------+----------------------------------+ 36 | | Command | Help | 37 | +===============+==================================+ 38 | | ``[p]colour`` | View information about a colour. | 39 | | | | 40 | | | Provide a HEX code or "random". | 41 | +---------------+----------------------------------+ 42 | 43 | ------------ 44 | Installation 45 | ------------ 46 | 47 | If you haven't added my repo before, lets add it first. We'll call it 48 | "kreusada-cogs" here. 49 | 50 | .. code-block:: 51 | 52 | [p]repo add kreusada-cogs https://github.com/Kreusada/Kreusada-Cogs 53 | 54 | Now, we can install Colour. 55 | 56 | .. code-block:: 57 | 58 | [p]cog install kreusada-cogs colour 59 | 60 | Once it's installed, it is not loaded by default. Load it by running the following 61 | command: 62 | 63 | .. code-block:: 64 | 65 | [p]load colour 66 | 67 | --------------- 68 | Further Support 69 | --------------- 70 | 71 | For more support, head over to the `cog support server `_, 72 | I have my own channel over there at #support_kreusada-cogs. Feel free to join my 73 | `personal server `_ whilst you're here. 74 | -------------------------------------------------------------------------------- /colour/__init__.py: -------------------------------------------------------------------------------- 1 | from redbot.core.bot import Red 2 | from redbot.core.utils import get_end_user_data_statement 3 | 4 | from .colour import Colour 5 | 6 | __red_end_user_data_statement__ = get_end_user_data_statement(__file__) 7 | 8 | 9 | async def setup(bot: Red): 10 | await bot.add_cog(Colour()) 11 | -------------------------------------------------------------------------------- /colour/info.json: -------------------------------------------------------------------------------- 1 | { 2 | "author": [ 3 | "Kreusada" 4 | ], 5 | "description": "View information about a colour.", 6 | "disabled": false, 7 | "end_user_data_statement": "This cog does not persistently store data or metadata about users.", 8 | "hidden": false, 9 | "install_msg": "Thanks for installing, have fun. Please refer to my docs if you need any help: https://kreusadacogs.readthedocs.io/en/latest/cog_colour.html", 10 | "name": "Colour", 11 | "required_cogs": {}, 12 | "requirements": [ 13 | "pillow" 14 | ], 15 | "short": "View information about a colour.", 16 | "tags": [ 17 | "Colour", 18 | "Hex", 19 | "RGB", 20 | "HSL", 21 | "HSV", 22 | "CMYK", 23 | "XYZ" 24 | ], 25 | "type": "COG" 26 | } -------------------------------------------------------------------------------- /consoleclearer/README.rst: -------------------------------------------------------------------------------- 1 | .. _consoleclearer: 2 | 3 | ============== 4 | ConsoleClearer 5 | ============== 6 | 7 | This is the cog guide for the 'ConsoleClearer' cog. This guide 8 | contains the collection of commands which you can use in the cog. 9 | 10 | Through this guide, ``[p]`` will always represent your prefix. Replace 11 | ``[p]`` with your own prefix when you use these commands in Discord. 12 | 13 | .. note:: 14 | 15 | This guide was last updated for version 1.2.0. Ensure 16 | that you are up to date by running ``[p]cog update consoleclearer``. 17 | 18 | If there is something missing, or something that needs improving 19 | in this documentation, feel free to create an issue `here `_. 20 | 21 | This documentation is auto-generated everytime this cog receives an update. 22 | 23 | -------------- 24 | About this cog 25 | -------------- 26 | 27 | Clear your console. 28 | 29 | -------- 30 | Commands 31 | -------- 32 | 33 | Here are all the commands included in this cog (1): 34 | 35 | +---------------------+----------------------------------------+ 36 | | Command | Help | 37 | +=====================+========================================+ 38 | | ``[p]clearconsole`` | Completely clears [botname]'s console. | 39 | +---------------------+----------------------------------------+ 40 | 41 | ------------ 42 | Installation 43 | ------------ 44 | 45 | If you haven't added my repo before, lets add it first. We'll call it 46 | "kreusada-cogs" here. 47 | 48 | .. code-block:: 49 | 50 | [p]repo add kreusada-cogs https://github.com/Kreusada/Kreusada-Cogs 51 | 52 | Now, we can install ConsoleClearer. 53 | 54 | .. code-block:: 55 | 56 | [p]cog install kreusada-cogs consoleclearer 57 | 58 | Once it's installed, it is not loaded by default. Load it by running the following 59 | command: 60 | 61 | .. code-block:: 62 | 63 | [p]load consoleclearer 64 | 65 | --------------- 66 | Further Support 67 | --------------- 68 | 69 | For more support, head over to the `cog support server `_, 70 | I have my own channel over there at #support_kreusada-cogs. Feel free to join my 71 | `personal server `_ whilst you're here. 72 | -------------------------------------------------------------------------------- /consoleclearer/__init__.py: -------------------------------------------------------------------------------- 1 | from redbot.core.bot import Red 2 | from redbot.core.utils import get_end_user_data_statement 3 | 4 | from .consoleclearer import ConsoleClearer 5 | 6 | __red_end_user_data_statement__ = get_end_user_data_statement(__file__) 7 | 8 | 9 | async def setup(bot: Red): 10 | await bot.add_cog(ConsoleClearer(bot)) 11 | -------------------------------------------------------------------------------- /consoleclearer/consoleclearer.py: -------------------------------------------------------------------------------- 1 | import datetime 2 | import os 3 | 4 | from redbot.core import commands 5 | from redbot.core.bot import Red 6 | 7 | 8 | class ConsoleClearer(commands.Cog): 9 | """Clear your console.""" 10 | 11 | __author__ = "Kreusada" 12 | __version__ = "1.2.0" 13 | 14 | def __init__(self, bot: Red): 15 | self.bot = bot 16 | 17 | def format_help_for_context(self, ctx: commands.Context) -> str: 18 | context = super().format_help_for_context(ctx) 19 | return f"{context}\n\nAuthor: {self.__author__}\nVersion: {self.__version__}" 20 | 21 | async def red_delete_data_for_user(self, **kwargs): 22 | return 23 | 24 | @commands.is_owner() 25 | @commands.command(aliases=["cleanconsole", "consoleclear", "consoleclean"]) 26 | async def clearconsole(self, ctx: commands.Context): 27 | """ 28 | Completely clears [botname]'s console. 29 | """ 30 | os.system("clear" if os.name == "posix" else "cls") 31 | print( 32 | f"Red console cleared | {datetime.datetime.utcnow().strftime('%b %d %Y %H:%M:%S')} (UTC)" 33 | ) 34 | await ctx.send("Red console cleared.") 35 | -------------------------------------------------------------------------------- /consoleclearer/info.json: -------------------------------------------------------------------------------- 1 | { 2 | "author": [ 3 | "Kreusada" 4 | ], 5 | "description": "Clear your Red console.", 6 | "disabled": false, 7 | "end_user_data_statement": "This cog does not persistently store data or metadata about users.", 8 | "hidden": false, 9 | "install_msg": "Thanks for installing, have fun. Please refer to my docs if you need any help: https://kreusadacogs.readthedocs.io/en/latest/cog_consoleclearer.html", 10 | "name": "ConsoleClearer", 11 | "required_cogs": {}, 12 | "requirements": [], 13 | "short": "Completely clear your Red console.", 14 | "tags": [ 15 | "Console", 16 | "Clear" 17 | ], 18 | "type": "COG" 19 | } 20 | -------------------------------------------------------------------------------- /counting/__init__.py: -------------------------------------------------------------------------------- 1 | from redbot.core.bot import Red 2 | from redbot.core.utils import get_end_user_data_statement 3 | 4 | from .counting import Counting 5 | 6 | __red_end_user_data_statement__ = get_end_user_data_statement(__file__) 7 | 8 | 9 | async def setup(bot: Red): 10 | await bot.add_cog(Counting(bot)) 11 | -------------------------------------------------------------------------------- /counting/info.json: -------------------------------------------------------------------------------- 1 | { 2 | "author" : ["saurichable", "Kreusada"], 3 | "install_msg": "Thanks for installing, have fun. Please refer to my docs if you need any help: https://kreusadacogs.readthedocs.io/en/latest/cog_counting.html", 4 | "name" : "Counting", 5 | "short" : "Counting channel.", 6 | "description" : "Make a counting channel with goals.", 7 | "tags" : ["counting", "count"], 8 | "end_user_data_statement": "This cog stores user IDs if they are the last one to count." 9 | } -------------------------------------------------------------------------------- /crowdin.yml: -------------------------------------------------------------------------------- 1 | api_key_env: CROWDIN_API_KEY 2 | project_identifier_env: CROWDIN_PROJECT_ID 3 | preserve_hierarchy: true 4 | files: 5 | - source: "**/locales/messages.pot" 6 | ignore: 7 | - docs 8 | translation: /%original_path%/%locale%.po 9 | -------------------------------------------------------------------------------- /didyoumean/README.rst: -------------------------------------------------------------------------------- 1 | .. _didyoumean: 2 | 3 | ========== 4 | DidYouMean 5 | ========== 6 | 7 | This is the cog guide for the 'DidYouMean' cog. This guide 8 | contains the collection of commands which you can use in the cog. 9 | 10 | Through this guide, ``[p]`` will always represent your prefix. Replace 11 | ``[p]`` with your own prefix when you use these commands in Discord. 12 | 13 | .. note:: 14 | 15 | This guide was last updated for version 1.0.0. Ensure 16 | that you are up to date by running ``[p]cog update didyoumean``. 17 | 18 | If there is something missing, or something that needs improving 19 | in this documentation, feel free to create an issue `here `_. 20 | 21 | This documentation is auto-generated everytime this cog receives an update. 22 | 23 | -------------- 24 | About this cog 25 | -------------- 26 | 27 | Provides command suggestions for mistyped commands using Levenshtein distance. 28 | 29 | -------- 30 | Commands 31 | -------- 32 | 33 | Here are all the commands included in this cog (2): 34 | 35 | +-------------------------+-----------------------------------------------------+ 36 | | Command | Help | 37 | +=========================+=====================================================+ 38 | | ``[p]dymset`` | Configure DidYouMean. | 39 | +-------------------------+-----------------------------------------------------+ 40 | | ``[p]dymset threshold`` | Configure the threshold. Must be between 50 and 80. | 41 | +-------------------------+-----------------------------------------------------+ 42 | 43 | ------------ 44 | Installation 45 | ------------ 46 | 47 | If you haven't added my repo before, lets add it first. We'll call it 48 | "kreusada-cogs" here. 49 | 50 | .. code-block:: 51 | 52 | [p]repo add kreusada-cogs https://github.com/Kreusada/Kreusada-Cogs 53 | 54 | Now, we can install DidYouMean. 55 | 56 | .. code-block:: 57 | 58 | [p]cog install kreusada-cogs didyoumean 59 | 60 | Once it's installed, it is not loaded by default. Load it by running the following 61 | command: 62 | 63 | .. code-block:: 64 | 65 | [p]load didyoumean 66 | 67 | --------------- 68 | Further Support 69 | --------------- 70 | 71 | For more support, head over to the `cog support server `_, 72 | I have my own channel over there at #support_kreusada-cogs. Feel free to join my 73 | `personal server `_ whilst you're here. 74 | -------------------------------------------------------------------------------- /didyoumean/__init__.py: -------------------------------------------------------------------------------- 1 | import discord 2 | import rapidfuzz 3 | import operator 4 | 5 | from redbot.core import Config, commands 6 | from redbot.core.bot import Red 7 | from redbot.core.utils import get_end_user_data_statement 8 | from redbot.core.utils.views import ConfirmView 9 | 10 | __red_end_user_data_statement__ = get_end_user_data_statement(__file__) 11 | 12 | class DidYouMean(commands.Cog): 13 | """Provides command suggestions for mistyped commands using Levenshtein distance.""" 14 | 15 | __version__ = "1.0.0" 16 | __author__ = "Kreusada" 17 | 18 | def __init__(self, bot: Red): 19 | self.bot = bot 20 | self.config = Config.get_conf(self, 719988449867989142, force_registration=True) 21 | self.config.register_global(threshold=70) 22 | 23 | def format_help_for_context(self, ctx: commands.Context) -> str: 24 | context = super().format_help_for_context(ctx) 25 | return f"{context}\n\nAuthor: {self.__author__}\nVersion: {self.__version__}" 26 | 27 | async def red_delete_data_for_user(self, **kwargs): 28 | """Nothing to delete.""" 29 | return 30 | 31 | @commands.group() 32 | @commands.is_owner() 33 | async def dymset(self, ctx: commands.Context): 34 | """Configure DidYouMean.""" 35 | 36 | @dymset.command(name="threshold") 37 | async def dymset_threshold(self, ctx: commands.Context, threshold: commands.Range[int, 50, 80]): 38 | """Configure the threshold. Must be between 50 and 80.""" 39 | await self.config.threshold.set(threshold) 40 | self.threshold = threshold 41 | await ctx.send("Threshold set.") 42 | 43 | @commands.Cog.listener() 44 | async def on_command_error(self, ctx: commands.Context, error): 45 | if isinstance(error, commands.CommandNotFound): 46 | best_match = None 47 | highest_ratio = 0 48 | 49 | for cmd in map(operator.attrgetter("qualified_name"), self.bot.commands): 50 | ratio = rapidfuzz.fuzz.ratio(ctx.invoked_with, cmd) 51 | if ratio > highest_ratio: 52 | highest_ratio = ratio 53 | best_match = cmd 54 | 55 | if best_match and highest_ratio >= await self.config.threshold(): 56 | view = ConfirmView(ctx.author, timeout=30) 57 | to_execute = ctx.message.content.lstrip(ctx.prefix).replace(ctx.invoked_with, best_match, 1) 58 | message = f"Could not find a top-level command named `{ctx.invoked_with}`. Perhaps you meant `{best_match}`?" 59 | if to_execute != best_match: 60 | message += f"\nConfirming will execute `{(execute := ctx.message.content.lstrip(ctx.prefix).replace(ctx.invoked_with, best_match, 1))}`." 61 | view.message = await ctx.send(message, view=view, delete_after=30) 62 | await view.wait() 63 | if view.result: 64 | ctx.message.content = execute 65 | await self.bot.process_commands(ctx.message) 66 | 67 | try: 68 | await view.message.delete() 69 | except discord.NotFound: 70 | pass 71 | 72 | 73 | async def setup(bot: Red): 74 | cog = DidYouMean(bot) 75 | await bot.add_cog(cog) 76 | -------------------------------------------------------------------------------- /didyoumean/info.json: -------------------------------------------------------------------------------- 1 | { 2 | "author": [ 3 | "Kreusada" 4 | ], 5 | "description": "Provides command suggestions for mistyped top-level commands using Levenshtein distance.", 6 | "disabled": false, 7 | "end_user_data_statement": "This cog does not persistently store data or metadata about users.", 8 | "hidden": false, 9 | "install_msg": "Thanks for installing, have fun. Please refer to my docs if you need any help: https://kreusadacogs.readthedocs.io/en/latest/cog_didyoumean.html", 10 | "name": "DidYouMean", 11 | "required_cogs": {}, 12 | "requirements": [], 13 | "short": "Provides command suggestions for mistyped top-level commands using Levenshtein distance.", 14 | "tags": [ 15 | "command", 16 | "mistyped", 17 | "fuzzy" 18 | ], 19 | "type": "COG" 20 | } -------------------------------------------------------------------------------- /docs/Makefile: -------------------------------------------------------------------------------- 1 | SPHINXOPTS = 2 | SPHINXBUILD = python3 -msphinx 3 | SPHINXPROJ = kreusadacogs 4 | SOURCEDIR = . 5 | BUILDDIR = _build 6 | 7 | help: 8 | @$(SPHINXBUILD) -M help "$(SOURCEDIR)" "$(BUILDDIR)" $(SPHINXOPTS) $(O) 9 | 10 | .PHONY: help Makefile 11 | 12 | %: Makefile 13 | @$(SPHINXBUILD) -M $@ "$(SOURCEDIR)" "$(BUILDDIR)" $(SPHINXOPTS) $(O) 14 | -------------------------------------------------------------------------------- /docs/_static/literals.css: -------------------------------------------------------------------------------- 1 | code.literal { 2 | color: #e1ac59 !important; 3 | background-color: #202020 !important; 4 | } 5 | -------------------------------------------------------------------------------- /docs/_templates/layout.html: -------------------------------------------------------------------------------- 1 | 2 | 10 | 11 | 12 | {% extends '!layout.html' %} 13 | {% block document %} 14 | {{super()}} 15 | 16 | Fork me on GitHub 21 | 22 | {% endblock %} 23 | -------------------------------------------------------------------------------- /docs/_templates/relations.html: -------------------------------------------------------------------------------- 1 | 2 | -------------------------------------------------------------------------------- /docs/cog_blackformatter.rst: -------------------------------------------------------------------------------- 1 | .. _blackformatter: 2 | 3 | ============== 4 | BlackFormatter 5 | ============== 6 | 7 | This is the cog guide for the 'BlackFormatter' cog. This guide 8 | contains the collection of commands which you can use in the cog. 9 | 10 | Through this guide, ``[p]`` will always represent your prefix. Replace 11 | ``[p]`` with your own prefix when you use these commands in Discord. 12 | 13 | .. note:: 14 | 15 | This guide was last updated for version 1.1.0. Ensure 16 | that you are up to date by running ``[p]cog update blackformatter``. 17 | 18 | If there is something missing, or something that needs improving 19 | in this documentation, feel free to create an issue `here `_. 20 | 21 | This documentation is auto-generated everytime this cog receives an update. 22 | 23 | -------------- 24 | About this cog 25 | -------------- 26 | 27 | Run black on code. 28 | 29 | -------- 30 | Commands 31 | -------- 32 | 33 | Here are all the commands included in this cog (1): 34 | 35 | +--------------+----------------------------------------------------------------------------------+ 36 | | Command | Help | 37 | +==============+==================================================================================+ 38 | | ``[p]black`` | Format a python file with black. | 39 | | | | 40 | | | You need to attach a file to this command, and it's extension needs to be `.py`. | 41 | | | Your `line_length` is black setting. If it is not provided, it defaults to the | 42 | | | configured black line length (the default, unchanged, is 88). | 43 | +--------------+----------------------------------------------------------------------------------+ 44 | 45 | ------------ 46 | Installation 47 | ------------ 48 | 49 | If you haven't added my repo before, lets add it first. We'll call it 50 | "kreusada-cogs" here. 51 | 52 | .. code-block:: 53 | 54 | [p]repo add kreusada-cogs https://github.com/Kreusada/Kreusada-Cogs 55 | 56 | Now, we can install BlackFormatter. 57 | 58 | .. code-block:: 59 | 60 | [p]cog install kreusada-cogs blackformatter 61 | 62 | Once it's installed, it is not loaded by default. Load it by running the following 63 | command: 64 | 65 | .. code-block:: 66 | 67 | [p]load blackformatter 68 | 69 | --------------- 70 | Further Support 71 | --------------- 72 | 73 | For more support, head over to the `cog support server `_, 74 | I have my own channel over there at #support_kreusada-cogs. Feel free to join my 75 | `personal server `_ whilst you're here. 76 | -------------------------------------------------------------------------------- /docs/cog_cocktail.rst: -------------------------------------------------------------------------------- 1 | .. _cocktail: 2 | 3 | ======== 4 | Cocktail 5 | ======== 6 | 7 | This is the cog guide for the 'Cocktail' cog. This guide 8 | contains the collection of commands which you can use in the cog. 9 | 10 | Through this guide, ``[p]`` will always represent your prefix. Replace 11 | ``[p]`` with your own prefix when you use these commands in Discord. 12 | 13 | .. note:: 14 | 15 | This guide was last updated for version 1.0.0. Ensure 16 | that you are up to date by running ``[p]cog update cocktail``. 17 | 18 | If there is something missing, or something that needs improving 19 | in this documentation, feel free to create an issue `here `_. 20 | 21 | This documentation is auto-generated everytime this cog receives an update. 22 | 23 | -------------- 24 | About this cog 25 | -------------- 26 | 27 | Get information about different cocktails and their ingredients. 28 | 29 | -------- 30 | Commands 31 | -------- 32 | 33 | Here are all the commands included in this cog (3): 34 | 35 | +----------------------------+--------------------------------------------------------------------------------------------------------------+ 36 | | Command | Help | 37 | +============================+==============================================================================================================+ 38 | | ``[p]cocktail`` | Get information about a cocktail / cocktail related commands. Supply 'random' to retrieve a random cocktail. | 39 | +----------------------------+--------------------------------------------------------------------------------------------------------------+ 40 | | ``[p]cocktail favourites`` | See your favourite cocktails. | 41 | +----------------------------+--------------------------------------------------------------------------------------------------------------+ 42 | | ``[p]cocktail ingredient`` | Get information about a cocktail ingredient. | 43 | +----------------------------+--------------------------------------------------------------------------------------------------------------+ 44 | 45 | ------------ 46 | Installation 47 | ------------ 48 | 49 | If you haven't added my repo before, lets add it first. We'll call it 50 | "kreusada-cogs" here. 51 | 52 | .. code-block:: 53 | 54 | [p]repo add kreusada-cogs https://github.com/Kreusada/Kreusada-Cogs 55 | 56 | Now, we can install Cocktail. 57 | 58 | .. code-block:: 59 | 60 | [p]cog install kreusada-cogs cocktail 61 | 62 | Once it's installed, it is not loaded by default. Load it by running the following 63 | command: 64 | 65 | .. code-block:: 66 | 67 | [p]load cocktail 68 | 69 | --------------- 70 | Further Support 71 | --------------- 72 | 73 | For more support, head over to the `cog support server `_, 74 | I have my own channel over there at #support_kreusada-cogs. Feel free to join my 75 | `personal server `_ whilst you're here. 76 | -------------------------------------------------------------------------------- /docs/cog_cogpaths.rst: -------------------------------------------------------------------------------- 1 | .. _cogpaths: 2 | 3 | ======== 4 | CogPaths 5 | ======== 6 | 7 | This is the cog guide for the 'CogPaths' cog. This guide 8 | contains the collection of commands which you can use in the cog. 9 | 10 | Through this guide, ``[p]`` will always represent your prefix. Replace 11 | ``[p]`` with your own prefix when you use these commands in Discord. 12 | 13 | .. note:: 14 | 15 | This guide was last updated for version 1.1.0. Ensure 16 | that you are up to date by running ``[p]cog update cogpaths``. 17 | 18 | If there is something missing, or something that needs improving 19 | in this documentation, feel free to create an issue `here `_. 20 | 21 | This documentation is auto-generated everytime this cog receives an update. 22 | 23 | -------------- 24 | About this cog 25 | -------------- 26 | 27 | Get information about a cog's paths. 28 | 29 | -------- 30 | Commands 31 | -------- 32 | 33 | Here are all the commands included in this cog (1): 34 | 35 | +----------------+--------------------------+ 36 | | Command | Help | 37 | +================+==========================+ 38 | | ``[p]cogpath`` | Get the paths for a cog. | 39 | +----------------+--------------------------+ 40 | 41 | ------------ 42 | Installation 43 | ------------ 44 | 45 | If you haven't added my repo before, lets add it first. We'll call it 46 | "kreusada-cogs" here. 47 | 48 | .. code-block:: 49 | 50 | [p]repo add kreusada-cogs https://github.com/Kreusada/Kreusada-Cogs 51 | 52 | Now, we can install CogPaths. 53 | 54 | .. code-block:: 55 | 56 | [p]cog install kreusada-cogs cogpaths 57 | 58 | Once it's installed, it is not loaded by default. Load it by running the following 59 | command: 60 | 61 | .. code-block:: 62 | 63 | [p]load cogpaths 64 | 65 | --------------- 66 | Further Support 67 | --------------- 68 | 69 | For more support, head over to the `cog support server `_, 70 | I have my own channel over there at #support_kreusada-cogs. Feel free to join my 71 | `personal server `_ whilst you're here. 72 | -------------------------------------------------------------------------------- /docs/cog_colour.rst: -------------------------------------------------------------------------------- 1 | .. _colour: 2 | 3 | ====== 4 | Colour 5 | ====== 6 | 7 | This is the cog guide for the 'Colour' cog. This guide 8 | contains the collection of commands which you can use in the cog. 9 | 10 | Through this guide, ``[p]`` will always represent your prefix. Replace 11 | ``[p]`` with your own prefix when you use these commands in Discord. 12 | 13 | .. note:: 14 | 15 | This guide was last updated for version 1.1.2. Ensure 16 | that you are up to date by running ``[p]cog update colour``. 17 | 18 | If there is something missing, or something that needs improving 19 | in this documentation, feel free to create an issue `here `_. 20 | 21 | This documentation is auto-generated everytime this cog receives an update. 22 | 23 | -------------- 24 | About this cog 25 | -------------- 26 | 27 | View information about a colour. 28 | 29 | -------- 30 | Commands 31 | -------- 32 | 33 | Here are all the commands included in this cog (1): 34 | 35 | +---------------+----------------------------------+ 36 | | Command | Help | 37 | +===============+==================================+ 38 | | ``[p]colour`` | View information about a colour. | 39 | | | | 40 | | | Provide a HEX code or "random". | 41 | +---------------+----------------------------------+ 42 | 43 | ------------ 44 | Installation 45 | ------------ 46 | 47 | If you haven't added my repo before, lets add it first. We'll call it 48 | "kreusada-cogs" here. 49 | 50 | .. code-block:: 51 | 52 | [p]repo add kreusada-cogs https://github.com/Kreusada/Kreusada-Cogs 53 | 54 | Now, we can install Colour. 55 | 56 | .. code-block:: 57 | 58 | [p]cog install kreusada-cogs colour 59 | 60 | Once it's installed, it is not loaded by default. Load it by running the following 61 | command: 62 | 63 | .. code-block:: 64 | 65 | [p]load colour 66 | 67 | --------------- 68 | Further Support 69 | --------------- 70 | 71 | For more support, head over to the `cog support server `_, 72 | I have my own channel over there at #support_kreusada-cogs. Feel free to join my 73 | `personal server `_ whilst you're here. 74 | -------------------------------------------------------------------------------- /docs/cog_consoleclearer.rst: -------------------------------------------------------------------------------- 1 | .. _consoleclearer: 2 | 3 | ============== 4 | ConsoleClearer 5 | ============== 6 | 7 | This is the cog guide for the 'ConsoleClearer' cog. This guide 8 | contains the collection of commands which you can use in the cog. 9 | 10 | Through this guide, ``[p]`` will always represent your prefix. Replace 11 | ``[p]`` with your own prefix when you use these commands in Discord. 12 | 13 | .. note:: 14 | 15 | This guide was last updated for version 1.2.0. Ensure 16 | that you are up to date by running ``[p]cog update consoleclearer``. 17 | 18 | If there is something missing, or something that needs improving 19 | in this documentation, feel free to create an issue `here `_. 20 | 21 | This documentation is auto-generated everytime this cog receives an update. 22 | 23 | -------------- 24 | About this cog 25 | -------------- 26 | 27 | Clear your console. 28 | 29 | -------- 30 | Commands 31 | -------- 32 | 33 | Here are all the commands included in this cog (1): 34 | 35 | +---------------------+----------------------------------------+ 36 | | Command | Help | 37 | +=====================+========================================+ 38 | | ``[p]clearconsole`` | Completely clears [botname]'s console. | 39 | +---------------------+----------------------------------------+ 40 | 41 | ------------ 42 | Installation 43 | ------------ 44 | 45 | If you haven't added my repo before, lets add it first. We'll call it 46 | "kreusada-cogs" here. 47 | 48 | .. code-block:: 49 | 50 | [p]repo add kreusada-cogs https://github.com/Kreusada/Kreusada-Cogs 51 | 52 | Now, we can install ConsoleClearer. 53 | 54 | .. code-block:: 55 | 56 | [p]cog install kreusada-cogs consoleclearer 57 | 58 | Once it's installed, it is not loaded by default. Load it by running the following 59 | command: 60 | 61 | .. code-block:: 62 | 63 | [p]load consoleclearer 64 | 65 | --------------- 66 | Further Support 67 | --------------- 68 | 69 | For more support, head over to the `cog support server `_, 70 | I have my own channel over there at #support_kreusada-cogs. Feel free to join my 71 | `personal server `_ whilst you're here. 72 | -------------------------------------------------------------------------------- /docs/cog_didyoumean.rst: -------------------------------------------------------------------------------- 1 | .. _didyoumean: 2 | 3 | ========== 4 | DidYouMean 5 | ========== 6 | 7 | This is the cog guide for the 'DidYouMean' cog. This guide 8 | contains the collection of commands which you can use in the cog. 9 | 10 | Through this guide, ``[p]`` will always represent your prefix. Replace 11 | ``[p]`` with your own prefix when you use these commands in Discord. 12 | 13 | .. note:: 14 | 15 | This guide was last updated for version 1.0.0. Ensure 16 | that you are up to date by running ``[p]cog update didyoumean``. 17 | 18 | If there is something missing, or something that needs improving 19 | in this documentation, feel free to create an issue `here `_. 20 | 21 | This documentation is auto-generated everytime this cog receives an update. 22 | 23 | -------------- 24 | About this cog 25 | -------------- 26 | 27 | Provides command suggestions for mistyped commands using Levenshtein distance. 28 | 29 | -------- 30 | Commands 31 | -------- 32 | 33 | Here are all the commands included in this cog (2): 34 | 35 | +-------------------------+-----------------------------------------------------+ 36 | | Command | Help | 37 | +=========================+=====================================================+ 38 | | ``[p]dymset`` | Configure DidYouMean. | 39 | +-------------------------+-----------------------------------------------------+ 40 | | ``[p]dymset threshold`` | Configure the threshold. Must be between 50 and 80. | 41 | +-------------------------+-----------------------------------------------------+ 42 | 43 | ------------ 44 | Installation 45 | ------------ 46 | 47 | If you haven't added my repo before, lets add it first. We'll call it 48 | "kreusada-cogs" here. 49 | 50 | .. code-block:: 51 | 52 | [p]repo add kreusada-cogs https://github.com/Kreusada/Kreusada-Cogs 53 | 54 | Now, we can install DidYouMean. 55 | 56 | .. code-block:: 57 | 58 | [p]cog install kreusada-cogs didyoumean 59 | 60 | Once it's installed, it is not loaded by default. Load it by running the following 61 | command: 62 | 63 | .. code-block:: 64 | 65 | [p]load didyoumean 66 | 67 | --------------- 68 | Further Support 69 | --------------- 70 | 71 | For more support, head over to the `cog support server `_, 72 | I have my own channel over there at #support_kreusada-cogs. Feel free to join my 73 | `personal server `_ whilst you're here. 74 | -------------------------------------------------------------------------------- /docs/cog_flags.rst: -------------------------------------------------------------------------------- 1 | .. _flags: 2 | 3 | ===== 4 | Flags 5 | ===== 6 | 7 | This is the cog guide for the 'Flags' cog. This guide 8 | contains the collection of commands which you can use in the cog. 9 | 10 | Through this guide, ``[p]`` will always represent your prefix. Replace 11 | ``[p]`` with your own prefix when you use these commands in Discord. 12 | 13 | .. note:: 14 | 15 | This guide was last updated for version 1.1.6. Ensure 16 | that you are up to date by running ``[p]cog update flags``. 17 | 18 | If there is something missing, or something that needs improving 19 | in this documentation, feel free to create an issue `here `_. 20 | 21 | This documentation is auto-generated everytime this cog receives an update. 22 | 23 | -------------- 24 | About this cog 25 | -------------- 26 | 27 | Get flags from country names. 28 | 29 | -------- 30 | Commands 31 | -------- 32 | 33 | Here are all the commands included in this cog (3): 34 | 35 | +-------------------+----------------------------------------------------------+ 36 | | Command | Help | 37 | +===================+==========================================================+ 38 | | ``[p]flag`` | Get the flag for a country. | 39 | | | | 40 | | | Either the country name or alpha 2 code can be provided. | 41 | | | | 42 | | | **Examples:** | 43 | | | | 44 | | | - ``[p]flag russia`` | 45 | | | - ``[p]flag brazil`` | 46 | | | - ``[p]flag dk`` | 47 | | | - ``[p]flag se`` | 48 | +-------------------+----------------------------------------------------------+ 49 | | ``[p]flagemojis`` | Get flag emojis for a list of countries. | 50 | | | | 51 | | | **Examples:** | 52 | | | | 53 | | | - ``[p]flagemojis qatar brazil mexico`` | 54 | | | - ``[p]flagemojis "solomon islands" germany`` | 55 | +-------------------+----------------------------------------------------------+ 56 | | ``[p]flags`` | Get a list of all the flags and their alpha 2 codes. | 57 | +-------------------+----------------------------------------------------------+ 58 | 59 | ------------ 60 | Installation 61 | ------------ 62 | 63 | If you haven't added my repo before, lets add it first. We'll call it 64 | "kreusada-cogs" here. 65 | 66 | .. code-block:: 67 | 68 | [p]repo add kreusada-cogs https://github.com/Kreusada/Kreusada-Cogs 69 | 70 | Now, we can install Flags. 71 | 72 | .. code-block:: 73 | 74 | [p]cog install kreusada-cogs flags 75 | 76 | Once it's installed, it is not loaded by default. Load it by running the following 77 | command: 78 | 79 | .. code-block:: 80 | 81 | [p]load flags 82 | 83 | --------------- 84 | Further Support 85 | --------------- 86 | 87 | For more support, head over to the `cog support server `_, 88 | I have my own channel over there at #support_kreusada-cogs. Feel free to join my 89 | `personal server `_ whilst you're here. 90 | -------------------------------------------------------------------------------- /docs/cog_mentionable.rst: -------------------------------------------------------------------------------- 1 | .. _mentionable: 2 | 3 | =========== 4 | Mentionable 5 | =========== 6 | 7 | This is the cog guide for the 'Mentionable' cog. This guide 8 | contains the collection of commands which you can use in the cog. 9 | 10 | Through this guide, ``[p]`` will always represent your prefix. Replace 11 | ``[p]`` with your own prefix when you use these commands in Discord. 12 | 13 | .. note:: 14 | 15 | This guide was last updated for version 2.0.0. Ensure 16 | that you are up to date by running ``[p]cog update mentionable``. 17 | 18 | If there is something missing, or something that needs improving 19 | in this documentation, feel free to create an issue `here `_. 20 | 21 | This documentation is auto-generated everytime this cog receives an update. 22 | 23 | -------------- 24 | About this cog 25 | -------------- 26 | 27 | Very simple way to make unmentionable roles mentionable. 28 | 29 | -------- 30 | Commands 31 | -------- 32 | 33 | Here are all the commands included in this cog (2): 34 | 35 | +------------------+-------------------------------+ 36 | | Command | Help | 37 | +==================+===============================+ 38 | | ``[p]mention`` | Makes that role mentionable | 39 | +------------------+-------------------------------+ 40 | | ``[p]unmention`` | Makes that role unmentionable | 41 | +------------------+-------------------------------+ 42 | 43 | ------------ 44 | Installation 45 | ------------ 46 | 47 | If you haven't added my repo before, lets add it first. We'll call it 48 | "kreusada-cogs" here. 49 | 50 | .. code-block:: 51 | 52 | [p]repo add kreusada-cogs https://github.com/Kreusada/Kreusada-Cogs 53 | 54 | Now, we can install Mentionable. 55 | 56 | .. code-block:: 57 | 58 | [p]cog install kreusada-cogs mentionable 59 | 60 | Once it's installed, it is not loaded by default. Load it by running the following 61 | command: 62 | 63 | .. code-block:: 64 | 65 | [p]load mentionable 66 | 67 | --------------- 68 | Further Support 69 | --------------- 70 | 71 | For more support, head over to the `cog support server `_, 72 | I have my own channel over there at #support_kreusada-cogs. Feel free to join my 73 | `personal server `_ whilst you're here. 74 | -------------------------------------------------------------------------------- /docs/cog_minifier.rst: -------------------------------------------------------------------------------- 1 | .. _minifier: 2 | 3 | ======== 4 | Minifier 5 | ======== 6 | 7 | This is the cog guide for the 'Minifier' cog. This guide 8 | contains the collection of commands which you can use in the cog. 9 | 10 | Through this guide, ``[p]`` will always represent your prefix. Replace 11 | ``[p]`` with your own prefix when you use these commands in Discord. 12 | 13 | .. note:: 14 | 15 | This guide was last updated for version 0.2.0. Ensure 16 | that you are up to date by running ``[p]cog update minifier``. 17 | 18 | If there is something missing, or something that needs improving 19 | in this documentation, feel free to create an issue `here `_. 20 | 21 | This documentation is auto-generated everytime this cog receives an update. 22 | 23 | -------------- 24 | About this cog 25 | -------------- 26 | 27 | Minify your code! 28 | 29 | -------- 30 | Commands 31 | -------- 32 | 33 | Here are all the commands included in this cog (1): 34 | 35 | +---------------+----------------------------------------------------------------------------------+ 36 | | Command | Help | 37 | +===============+==================================================================================+ 38 | | ``[p]minify`` | Minify a python file. | 39 | | | | 40 | | | You need to attach a file to this command, and it's extension needs to be `.py`. | 41 | +---------------+----------------------------------------------------------------------------------+ 42 | 43 | ------------ 44 | Installation 45 | ------------ 46 | 47 | If you haven't added my repo before, lets add it first. We'll call it 48 | "kreusada-cogs" here. 49 | 50 | .. code-block:: 51 | 52 | [p]repo add kreusada-cogs https://github.com/Kreusada/Kreusada-Cogs 53 | 54 | Now, we can install Minifier. 55 | 56 | .. code-block:: 57 | 58 | [p]cog install kreusada-cogs minifier 59 | 60 | Once it's installed, it is not loaded by default. Load it by running the following 61 | command: 62 | 63 | .. code-block:: 64 | 65 | [p]load minifier 66 | 67 | --------------- 68 | Further Support 69 | --------------- 70 | 71 | For more support, head over to the `cog support server `_, 72 | I have my own channel over there at #support_kreusada-cogs. Feel free to join my 73 | `personal server `_ whilst you're here. 74 | -------------------------------------------------------------------------------- /docs/cog_morsecode.rst: -------------------------------------------------------------------------------- 1 | .. _morsecode: 2 | 3 | ========= 4 | MorseCode 5 | ========= 6 | 7 | This is the cog guide for the 'MorseCode' cog. This guide 8 | contains the collection of commands which you can use in the cog. 9 | 10 | Through this guide, ``[p]`` will always represent your prefix. Replace 11 | ``[p]`` with your own prefix when you use these commands in Discord. 12 | 13 | .. note:: 14 | 15 | This guide was last updated for version 1.0.0. Ensure 16 | that you are up to date by running ``[p]cog update morsecode``. 17 | 18 | If there is something missing, or something that needs improving 19 | in this documentation, feel free to create an issue `here `_. 20 | 21 | This documentation is auto-generated everytime this cog receives an update. 22 | 23 | -------------- 24 | About this cog 25 | -------------- 26 | 27 | Encode and decode morse code. 28 | 29 | -------- 30 | Commands 31 | -------- 32 | 33 | Here are all the commands included in this cog (3): 34 | 35 | +---------------------+-------------------------------+ 36 | | Command | Help | 37 | +=====================+===============================+ 38 | | ``[p]morse`` | Encode and decode morse code. | 39 | +---------------------+-------------------------------+ 40 | | ``[p]morse decode`` | Decode morse code. | 41 | +---------------------+-------------------------------+ 42 | | ``[p]morse encode`` | Encode morse code. | 43 | +---------------------+-------------------------------+ 44 | 45 | ------------ 46 | Installation 47 | ------------ 48 | 49 | If you haven't added my repo before, lets add it first. We'll call it 50 | "kreusada-cogs" here. 51 | 52 | .. code-block:: 53 | 54 | [p]repo add kreusada-cogs https://github.com/Kreusada/Kreusada-Cogs 55 | 56 | Now, we can install MorseCode. 57 | 58 | .. code-block:: 59 | 60 | [p]cog install kreusada-cogs morsecode 61 | 62 | Once it's installed, it is not loaded by default. Load it by running the following 63 | command: 64 | 65 | .. code-block:: 66 | 67 | [p]load morsecode 68 | 69 | --------------- 70 | Further Support 71 | --------------- 72 | 73 | For more support, head over to the `cog support server `_, 74 | I have my own channel over there at #support_kreusada-cogs. Feel free to join my 75 | `personal server `_ whilst you're here. 76 | -------------------------------------------------------------------------------- /docs/cog_namegenerator.rst: -------------------------------------------------------------------------------- 1 | .. _namegenerator: 2 | 3 | ============= 4 | NameGenerator 5 | ============= 6 | 7 | This is the cog guide for the 'NameGenerator' cog. This guide 8 | contains the collection of commands which you can use in the cog. 9 | 10 | Through this guide, ``[p]`` will always represent your prefix. Replace 11 | ``[p]`` with your own prefix when you use these commands in Discord. 12 | 13 | .. note:: 14 | 15 | This guide was last updated for version 1.0.0. Ensure 16 | that you are up to date by running ``[p]cog update namegenerator``. 17 | 18 | If there is something missing, or something that needs improving 19 | in this documentation, feel free to create an issue `here `_. 20 | 21 | This documentation is auto-generated everytime this cog receives an update. 22 | 23 | -------------- 24 | About this cog 25 | -------------- 26 | 27 | Generate names. 28 | 29 | -------- 30 | Commands 31 | -------- 32 | 33 | Here are all the commands included in this cog (1): 34 | 35 | +----------------+-----------------+ 36 | | Command | Help | 37 | +================+=================+ 38 | | ``[p]namegen`` | Generate names. | 39 | +----------------+-----------------+ 40 | 41 | ------------ 42 | Installation 43 | ------------ 44 | 45 | If you haven't added my repo before, lets add it first. We'll call it 46 | "kreusada-cogs" here. 47 | 48 | .. code-block:: 49 | 50 | [p]repo add kreusada-cogs https://github.com/Kreusada/Kreusada-Cogs 51 | 52 | Now, we can install NameGenerator. 53 | 54 | .. code-block:: 55 | 56 | [p]cog install kreusada-cogs namegenerator 57 | 58 | Once it's installed, it is not loaded by default. Load it by running the following 59 | command: 60 | 61 | .. code-block:: 62 | 63 | [p]load namegenerator 64 | 65 | --------------- 66 | Further Support 67 | --------------- 68 | 69 | For more support, head over to the `cog support server `_, 70 | I have my own channel over there at #support_kreusada-cogs. Feel free to join my 71 | `personal server `_ whilst you're here. 72 | -------------------------------------------------------------------------------- /docs/cog_onthisday.rst: -------------------------------------------------------------------------------- 1 | .. _onthisday: 2 | 3 | ========= 4 | OnThisDay 5 | ========= 6 | 7 | This is the cog guide for the 'OnThisDay' cog. This guide 8 | contains the collection of commands which you can use in the cog. 9 | 10 | Through this guide, ``[p]`` will always represent your prefix. Replace 11 | ``[p]`` with your own prefix when you use these commands in Discord. 12 | 13 | .. note:: 14 | 15 | This guide was last updated for version 2.0.0. Ensure 16 | that you are up to date by running ``[p]cog update onthisday``. 17 | 18 | If there is something missing, or something that needs improving 19 | in this documentation, feel free to create an issue `here `_. 20 | 21 | This documentation is auto-generated everytime this cog receives an update. 22 | 23 | -------------- 24 | About this cog 25 | -------------- 26 | 27 | Find out what happened on a certain day, in multiple different years in history. 28 | 29 | -------- 30 | Commands 31 | -------- 32 | 33 | Here are all the commands included in this cog (2): 34 | 35 | +-------------------------+--------------------------------------------------------------------------+ 36 | | Command | Help | 37 | +=========================+==========================================================================+ 38 | | ``[p]onthisday`` | Find out what happened on this day, in various different years! | 39 | | | | 40 | | | If you want to specify your own date, you can do so by using | 41 | | | `[p]onthisday [date]`. | 42 | | | You can also receive a random year by using `[p]onthisday random [day]`. | 43 | +-------------------------+--------------------------------------------------------------------------+ 44 | | ``[p]onthisday random`` | Find out what happened on this day, in a random year. | 45 | | | | 46 | | | If you want to specify your own date, you can do so by using | 47 | | | `[p]onthisday [date]`. | 48 | +-------------------------+--------------------------------------------------------------------------+ 49 | 50 | ------------ 51 | Installation 52 | ------------ 53 | 54 | If you haven't added my repo before, lets add it first. We'll call it 55 | "kreusada-cogs" here. 56 | 57 | .. code-block:: 58 | 59 | [p]repo add kreusada-cogs https://github.com/Kreusada/Kreusada-Cogs 60 | 61 | Now, we can install OnThisDay. 62 | 63 | .. code-block:: 64 | 65 | [p]cog install kreusada-cogs onthisday 66 | 67 | Once it's installed, it is not loaded by default. Load it by running the following 68 | command: 69 | 70 | .. code-block:: 71 | 72 | [p]load onthisday 73 | 74 | --------------- 75 | Further Support 76 | --------------- 77 | 78 | For more support, head over to the `cog support server `_, 79 | I have my own channel over there at #support_kreusada-cogs. Feel free to join my 80 | `personal server `_ whilst you're here. 81 | -------------------------------------------------------------------------------- /docs/cog_pick.rst: -------------------------------------------------------------------------------- 1 | .. _pick: 2 | 3 | ==== 4 | Pick 5 | ==== 6 | 7 | This is the cog guide for the 'Pick' cog. This guide 8 | contains the collection of commands which you can use in the cog. 9 | 10 | Through this guide, ``[p]`` will always represent your prefix. Replace 11 | ``[p]`` with your own prefix when you use these commands in Discord. 12 | 13 | .. note:: 14 | 15 | This guide was last updated for version 1.0.1. Ensure 16 | that you are up to date by running ``[p]cog update pick``. 17 | 18 | If there is something missing, or something that needs improving 19 | in this documentation, feel free to create an issue `here `_. 20 | 21 | This documentation is auto-generated everytime this cog receives an update. 22 | 23 | -------------- 24 | About this cog 25 | -------------- 26 | 27 | Pick a random member. 28 | 29 | -------- 30 | Commands 31 | -------- 32 | 33 | Here are all the commands included in this cog (2): 34 | 35 | +---------------+-------------------------------------------------------------------------------------------------+ 36 | | Command | Help | 37 | +===============+=================================================================================================+ 38 | | ``[p]pick`` | Pick a random member. You may supply a role to pick from. | 39 | +---------------+-------------------------------------------------------------------------------------------------+ 40 | | ``[p]pickid`` | Pick a random member, displaying the ID only. You may supply a role to pick from. | 41 | | | | 42 | | | This can be integrated with [nestedcommands by tmerc](https://github.com/tmercswims/tmerc-cogs) | 43 | | | Example of usage: `[p]say Congratulations <@$(pick True)>! You won!` | 44 | +---------------+-------------------------------------------------------------------------------------------------+ 45 | 46 | ------------ 47 | Installation 48 | ------------ 49 | 50 | If you haven't added my repo before, lets add it first. We'll call it 51 | "kreusada-cogs" here. 52 | 53 | .. code-block:: 54 | 55 | [p]repo add kreusada-cogs https://github.com/Kreusada/Kreusada-Cogs 56 | 57 | Now, we can install Pick. 58 | 59 | .. code-block:: 60 | 61 | [p]cog install kreusada-cogs pick 62 | 63 | Once it's installed, it is not loaded by default. Load it by running the following 64 | command: 65 | 66 | .. code-block:: 67 | 68 | [p]load pick 69 | 70 | --------------- 71 | Further Support 72 | --------------- 73 | 74 | For more support, head over to the `cog support server `_, 75 | I have my own channel over there at #support_kreusada-cogs. Feel free to join my 76 | `personal server `_ whilst you're here. 77 | -------------------------------------------------------------------------------- /docs/cog_pypi.rst: -------------------------------------------------------------------------------- 1 | .. _pypi: 2 | 3 | ==== 4 | PyPi 5 | ==== 6 | 7 | This is the cog guide for the 'PyPi' cog. This guide 8 | contains the collection of commands which you can use in the cog. 9 | 10 | Through this guide, ``[p]`` will always represent your prefix. Replace 11 | ``[p]`` with your own prefix when you use these commands in Discord. 12 | 13 | .. note:: 14 | 15 | This guide was last updated for version 1.1.1. Ensure 16 | that you are up to date by running ``[p]cog update pypi``. 17 | 18 | If there is something missing, or something that needs improving 19 | in this documentation, feel free to create an issue `here `_. 20 | 21 | This documentation is auto-generated everytime this cog receives an update. 22 | 23 | -------------- 24 | About this cog 25 | -------------- 26 | 27 | Get information about a package available on PyPi. 28 | 29 | -------- 30 | Commands 31 | -------- 32 | 33 | Here are all the commands included in this cog (1): 34 | 35 | +-------------+------------------------------------------+ 36 | | Command | Help | 37 | +=============+==========================================+ 38 | | ``[p]pypi`` | Get information about a project on PyPi. | 39 | +-------------+------------------------------------------+ 40 | 41 | ------------ 42 | Installation 43 | ------------ 44 | 45 | If you haven't added my repo before, lets add it first. We'll call it 46 | "kreusada-cogs" here. 47 | 48 | .. code-block:: 49 | 50 | [p]repo add kreusada-cogs https://github.com/Kreusada/Kreusada-Cogs 51 | 52 | Now, we can install PyPi. 53 | 54 | .. code-block:: 55 | 56 | [p]cog install kreusada-cogs pypi 57 | 58 | Once it's installed, it is not loaded by default. Load it by running the following 59 | command: 60 | 61 | .. code-block:: 62 | 63 | [p]load pypi 64 | 65 | --------------- 66 | Further Support 67 | --------------- 68 | 69 | For more support, head over to the `cog support server `_, 70 | I have my own channel over there at #support_kreusada-cogs. Feel free to join my 71 | `personal server `_ whilst you're here. 72 | -------------------------------------------------------------------------------- /docs/cog_qr.rst: -------------------------------------------------------------------------------- 1 | .. _qr: 2 | 3 | == 4 | QR 5 | == 6 | 7 | This is the cog guide for the 'QR' cog. This guide 8 | contains the collection of commands which you can use in the cog. 9 | 10 | Through this guide, ``[p]`` will always represent your prefix. Replace 11 | ``[p]`` with your own prefix when you use these commands in Discord. 12 | 13 | .. note:: 14 | 15 | This guide was last updated for version 1.2.0. Ensure 16 | that you are up to date by running ``[p]cog update qr``. 17 | 18 | If there is something missing, or something that needs improving 19 | in this documentation, feel free to create an issue `here `_. 20 | 21 | This documentation is auto-generated everytime this cog receives an update. 22 | 23 | -------------- 24 | About this cog 25 | -------------- 26 | 27 | Generate a QR code. 28 | 29 | -------- 30 | Commands 31 | -------- 32 | 33 | Here are all the commands included in this cog (1): 34 | 35 | +-----------+--------------------------------------------------------------------------------+ 36 | | Command | Help | 37 | +===========+================================================================================+ 38 | | ``[p]qr`` | Create a QR code from text. | 39 | | | | 40 | | | When you scan this QR code, it will take you to google with the text query, | 41 | | | or the website if you provide a website. That's essentially how QR codes work. | 42 | +-----------+--------------------------------------------------------------------------------+ 43 | 44 | ------------ 45 | Installation 46 | ------------ 47 | 48 | If you haven't added my repo before, lets add it first. We'll call it 49 | "kreusada-cogs" here. 50 | 51 | .. code-block:: 52 | 53 | [p]repo add kreusada-cogs https://github.com/Kreusada/Kreusada-Cogs 54 | 55 | Now, we can install QR. 56 | 57 | .. code-block:: 58 | 59 | [p]cog install kreusada-cogs qr 60 | 61 | Once it's installed, it is not loaded by default. Load it by running the following 62 | command: 63 | 64 | .. code-block:: 65 | 66 | [p]load qr 67 | 68 | --------------- 69 | Further Support 70 | --------------- 71 | 72 | For more support, head over to the `cog support server `_, 73 | I have my own channel over there at #support_kreusada-cogs. Feel free to join my 74 | `personal server `_ whilst you're here. 75 | -------------------------------------------------------------------------------- /docs/cog_quotes.rst: -------------------------------------------------------------------------------- 1 | .. _quotes: 2 | 3 | ====== 4 | Quotes 5 | ====== 6 | 7 | This is the cog guide for the 'Quotes' cog. This guide 8 | contains the collection of commands which you can use in the cog. 9 | 10 | Through this guide, ``[p]`` will always represent your prefix. Replace 11 | ``[p]`` with your own prefix when you use these commands in Discord. 12 | 13 | .. note:: 14 | 15 | This guide was last updated for version 1.3.1. Ensure 16 | that you are up to date by running ``[p]cog update quotes``. 17 | 18 | If there is something missing, or something that needs improving 19 | in this documentation, feel free to create an issue `here `_. 20 | 21 | This documentation is auto-generated everytime this cog receives an update. 22 | 23 | -------------- 24 | About this cog 25 | -------------- 26 | 27 | Get a random quote. 28 | 29 | -------- 30 | Commands 31 | -------- 32 | 33 | Here are all the commands included in this cog (1): 34 | 35 | +--------------+---------------------+ 36 | | Command | Help | 37 | +==============+=====================+ 38 | | ``[p]quote`` | Get a random quote. | 39 | +--------------+---------------------+ 40 | 41 | ------------ 42 | Installation 43 | ------------ 44 | 45 | If you haven't added my repo before, lets add it first. We'll call it 46 | "kreusada-cogs" here. 47 | 48 | .. code-block:: 49 | 50 | [p]repo add kreusada-cogs https://github.com/Kreusada/Kreusada-Cogs 51 | 52 | Now, we can install Quotes. 53 | 54 | .. code-block:: 55 | 56 | [p]cog install kreusada-cogs quotes 57 | 58 | Once it's installed, it is not loaded by default. Load it by running the following 59 | command: 60 | 61 | .. code-block:: 62 | 63 | [p]load quotes 64 | 65 | --------------- 66 | Further Support 67 | --------------- 68 | 69 | For more support, head over to the `cog support server `_, 70 | I have my own channel over there at #support_kreusada-cogs. Feel free to join my 71 | `personal server `_ whilst you're here. 72 | -------------------------------------------------------------------------------- /docs/cog_rhymes.rst: -------------------------------------------------------------------------------- 1 | .. _rhymes: 2 | 3 | ====== 4 | Rhymes 5 | ====== 6 | 7 | This is the cog guide for the 'Rhymes' cog. This guide 8 | contains the collection of commands which you can use in the cog. 9 | 10 | Through this guide, ``[p]`` will always represent your prefix. Replace 11 | ``[p]`` with your own prefix when you use these commands in Discord. 12 | 13 | .. note:: 14 | 15 | This guide was last updated for version 1.0.0. Ensure 16 | that you are up to date by running ``[p]cog update rhymes``. 17 | 18 | If there is something missing, or something that needs improving 19 | in this documentation, feel free to create an issue `here `_. 20 | 21 | This documentation is auto-generated everytime this cog receives an update. 22 | 23 | -------------- 24 | About this cog 25 | -------------- 26 | 27 | Generate rhymes. 28 | 29 | -------- 30 | Commands 31 | -------- 32 | 33 | Here are all the commands included in this cog (1): 34 | 35 | +---------------+------------------------+ 36 | | Command | Help | 37 | +===============+========================+ 38 | | ``[p]rhymes`` | Get rhymes for a word. | 39 | +---------------+------------------------+ 40 | 41 | ------------ 42 | Installation 43 | ------------ 44 | 45 | If you haven't added my repo before, lets add it first. We'll call it 46 | "kreusada-cogs" here. 47 | 48 | .. code-block:: 49 | 50 | [p]repo add kreusada-cogs https://github.com/Kreusada/Kreusada-Cogs 51 | 52 | Now, we can install Rhymes. 53 | 54 | .. code-block:: 55 | 56 | [p]cog install kreusada-cogs rhymes 57 | 58 | Once it's installed, it is not loaded by default. Load it by running the following 59 | command: 60 | 61 | .. code-block:: 62 | 63 | [p]load rhymes 64 | 65 | --------------- 66 | Further Support 67 | --------------- 68 | 69 | For more support, head over to the `cog support server `_, 70 | I have my own channel over there at #support_kreusada-cogs. Feel free to join my 71 | `personal server `_ whilst you're here. 72 | -------------------------------------------------------------------------------- /docs/cog_riddles.rst: -------------------------------------------------------------------------------- 1 | .. _riddles: 2 | 3 | ======= 4 | Riddles 5 | ======= 6 | 7 | This is the cog guide for the 'Riddles' cog. This guide 8 | contains the collection of commands which you can use in the cog. 9 | 10 | Through this guide, ``[p]`` will always represent your prefix. Replace 11 | ``[p]`` with your own prefix when you use these commands in Discord. 12 | 13 | .. note:: 14 | 15 | This guide was last updated for version 1.0.1. Ensure 16 | that you are up to date by running ``[p]cog update riddles``. 17 | 18 | If there is something missing, or something that needs improving 19 | in this documentation, feel free to create an issue `here `_. 20 | 21 | This documentation is auto-generated everytime this cog receives an update. 22 | 23 | -------------- 24 | About this cog 25 | -------------- 26 | 27 | Get a random riddle. 28 | 29 | -------- 30 | Commands 31 | -------- 32 | 33 | Here are all the commands included in this cog (1): 34 | 35 | +---------------+----------------------+ 36 | | Command | Help | 37 | +===============+======================+ 38 | | ``[p]riddle`` | Get a random riddle. | 39 | +---------------+----------------------+ 40 | 41 | ------------ 42 | Installation 43 | ------------ 44 | 45 | If you haven't added my repo before, lets add it first. We'll call it 46 | "kreusada-cogs" here. 47 | 48 | .. code-block:: 49 | 50 | [p]repo add kreusada-cogs https://github.com/Kreusada/Kreusada-Cogs 51 | 52 | Now, we can install Riddles. 53 | 54 | .. code-block:: 55 | 56 | [p]cog install kreusada-cogs riddles 57 | 58 | Once it's installed, it is not loaded by default. Load it by running the following 59 | command: 60 | 61 | .. code-block:: 62 | 63 | [p]load riddles 64 | 65 | --------------- 66 | Further Support 67 | --------------- 68 | 69 | For more support, head over to the `cog support server `_, 70 | I have my own channel over there at #support_kreusada-cogs. Feel free to join my 71 | `personal server `_ whilst you're here. 72 | -------------------------------------------------------------------------------- /docs/cog_sendcards.rst: -------------------------------------------------------------------------------- 1 | .. _sendcards: 2 | 3 | ========= 4 | SendCards 5 | ========= 6 | 7 | This is the cog guide for the 'SendCards' cog. This guide 8 | contains the collection of commands which you can use in the cog. 9 | 10 | Through this guide, ``[p]`` will always represent your prefix. Replace 11 | ``[p]`` with your own prefix when you use these commands in Discord. 12 | 13 | .. note:: 14 | 15 | This guide was last updated for version 1.0.2. Ensure 16 | that you are up to date by running ``[p]cog update sendcards``. 17 | 18 | If there is something missing, or something that needs improving 19 | in this documentation, feel free to create an issue `here `_. 20 | 21 | This documentation is auto-generated everytime this cog receives an update. 22 | 23 | -------------- 24 | About this cog 25 | -------------- 26 | 27 | Send cards to other users! (Christmas, birthday, get well soon, etc...) 28 | 29 | -------- 30 | Commands 31 | -------- 32 | 33 | Here are all the commands included in this cog (2): 34 | 35 | +-----------------------+-----------------------------------------------------------------------------+ 36 | | Command | Help | 37 | +=======================+=============================================================================+ 38 | | ``[p]sendcard`` | Send a card to a user. | 39 | | | | 40 | | | The bot must share a server with the recipient. Provide | 41 | | | a user ID, mention, or username. The command will ask you further questions | 42 | | | in order to get information for the card. | 43 | +-----------------------+-----------------------------------------------------------------------------+ 44 | | ``[p]sendcard types`` | List all the different card types. | 45 | +-----------------------+-----------------------------------------------------------------------------+ 46 | 47 | ------------ 48 | Installation 49 | ------------ 50 | 51 | If you haven't added my repo before, lets add it first. We'll call it 52 | "kreusada-cogs" here. 53 | 54 | .. code-block:: 55 | 56 | [p]repo add kreusada-cogs https://github.com/Kreusada/Kreusada-Cogs 57 | 58 | Now, we can install SendCards. 59 | 60 | .. code-block:: 61 | 62 | [p]cog install kreusada-cogs sendcards 63 | 64 | Once it's installed, it is not loaded by default. Load it by running the following 65 | command: 66 | 67 | .. code-block:: 68 | 69 | [p]load sendcards 70 | 71 | --------------- 72 | Further Support 73 | --------------- 74 | 75 | For more support, head over to the `cog support server `_, 76 | I have my own channel over there at #support_kreusada-cogs. Feel free to join my 77 | `personal server `_ whilst you're here. 78 | -------------------------------------------------------------------------------- /docs/cog_textfont.rst: -------------------------------------------------------------------------------- 1 | .. _textfont: 2 | 3 | ======== 4 | TextFont 5 | ======== 6 | 7 | This is the cog guide for the 'TextFont' cog. This guide 8 | contains the collection of commands which you can use in the cog. 9 | 10 | Through this guide, ``[p]`` will always represent your prefix. Replace 11 | ``[p]`` with your own prefix when you use these commands in Discord. 12 | 13 | .. note:: 14 | 15 | This guide was last updated for version 1.0.0. Ensure 16 | that you are up to date by running ``[p]cog update textfont``. 17 | 18 | If there is something missing, or something that needs improving 19 | in this documentation, feel free to create an issue `here `_. 20 | 21 | This documentation is auto-generated everytime this cog receives an update. 22 | 23 | -------------- 24 | About this cog 25 | -------------- 26 | 27 | Generate text in different fonts. 28 | 29 | -------- 30 | Commands 31 | -------- 32 | 33 | Here are all the commands included in this cog (1): 34 | 35 | +--------------+----------------------------------------------------------------+ 36 | | Command | Help | 37 | +==============+================================================================+ 38 | | ``[p]write`` | Write text in different fonts (alphabetic unicode variations). | 39 | +--------------+----------------------------------------------------------------+ 40 | 41 | ------------ 42 | Installation 43 | ------------ 44 | 45 | If you haven't added my repo before, lets add it first. We'll call it 46 | "kreusada-cogs" here. 47 | 48 | .. code-block:: 49 | 50 | [p]repo add kreusada-cogs https://github.com/Kreusada/Kreusada-Cogs 51 | 52 | Now, we can install TextFont. 53 | 54 | .. code-block:: 55 | 56 | [p]cog install kreusada-cogs textfont 57 | 58 | Once it's installed, it is not loaded by default. Load it by running the following 59 | command: 60 | 61 | .. code-block:: 62 | 63 | [p]load textfont 64 | 65 | --------------- 66 | Further Support 67 | --------------- 68 | 69 | For more support, head over to the `cog support server `_, 70 | I have my own channel over there at #support_kreusada-cogs. Feel free to join my 71 | `personal server `_ whilst you're here. 72 | -------------------------------------------------------------------------------- /docs/cog_tonguetwisters.rst: -------------------------------------------------------------------------------- 1 | .. _tonguetwisters: 2 | 3 | ============== 4 | TongueTwisters 5 | ============== 6 | 7 | This is the cog guide for the 'TongueTwisters' cog. This guide 8 | contains the collection of commands which you can use in the cog. 9 | 10 | Through this guide, ``[p]`` will always represent your prefix. Replace 11 | ``[p]`` with your own prefix when you use these commands in Discord. 12 | 13 | .. note:: 14 | 15 | This guide was last updated for version 1.0.1. Ensure 16 | that you are up to date by running ``[p]cog update tonguetwisters``. 17 | 18 | If there is something missing, or something that needs improving 19 | in this documentation, feel free to create an issue `here `_. 20 | 21 | This documentation is auto-generated everytime this cog receives an update. 22 | 23 | -------------- 24 | About this cog 25 | -------------- 26 | 27 | Generate tongue twisters. 28 | 29 | -------- 30 | Commands 31 | -------- 32 | 33 | Here are all the commands included in this cog (1): 34 | 35 | +----------------------+---------------------------+ 36 | | Command | Help | 37 | +======================+===========================+ 38 | | ``[p]tonguetwister`` | Generate a tonguetwister. | 39 | +----------------------+---------------------------+ 40 | 41 | ------------ 42 | Installation 43 | ------------ 44 | 45 | If you haven't added my repo before, lets add it first. We'll call it 46 | "kreusada-cogs" here. 47 | 48 | .. code-block:: 49 | 50 | [p]repo add kreusada-cogs https://github.com/Kreusada/Kreusada-Cogs 51 | 52 | Now, we can install TongueTwisters. 53 | 54 | .. code-block:: 55 | 56 | [p]cog install kreusada-cogs tonguetwisters 57 | 58 | Once it's installed, it is not loaded by default. Load it by running the following 59 | command: 60 | 61 | .. code-block:: 62 | 63 | [p]load tonguetwisters 64 | 65 | --------------- 66 | Further Support 67 | --------------- 68 | 69 | For more support, head over to the `cog support server `_, 70 | I have my own channel over there at #support_kreusada-cogs. Feel free to join my 71 | `personal server `_ whilst you're here. 72 | -------------------------------------------------------------------------------- /docs/cog_unicodelookup.rst: -------------------------------------------------------------------------------- 1 | .. _unicodelookup: 2 | 3 | ============= 4 | UnicodeLookup 5 | ============= 6 | 7 | This is the cog guide for the 'UnicodeLookup' cog. This guide 8 | contains the collection of commands which you can use in the cog. 9 | 10 | Through this guide, ``[p]`` will always represent your prefix. Replace 11 | ``[p]`` with your own prefix when you use these commands in Discord. 12 | 13 | .. note:: 14 | 15 | This guide was last updated for version 1.0.0. Ensure 16 | that you are up to date by running ``[p]cog update unicodelookup``. 17 | 18 | If there is something missing, or something that needs improving 19 | in this documentation, feel free to create an issue `here `_. 20 | 21 | This documentation is auto-generated everytime this cog receives an update. 22 | 23 | -------------- 24 | About this cog 25 | -------------- 26 | 27 | Search the unicode library for characters and names. Supports fuzzy searching. 28 | 29 | -------- 30 | Commands 31 | -------- 32 | 33 | Here are all the commands included in this cog (4): 34 | 35 | +----------------------+-------------------------------------------------------------------------------------------------------------+ 36 | | Command | Help | 37 | +======================+=============================================================================================================+ 38 | | ``[p]ulookup`` | Unicode lookup commands. | 39 | +----------------------+-------------------------------------------------------------------------------------------------------------+ 40 | | ``[p]ulookup char`` | Get the unicode character from the name. | 41 | +----------------------+-------------------------------------------------------------------------------------------------------------+ 42 | | ``[p]ulookup fuzzy`` | Get unicode characters from the fuzzy search term. | 43 | | | | 44 | | | Strength must be a number from 50 to 100, used by the fuzzy search algorithm. Defaults to 80 (recommended). | 45 | +----------------------+-------------------------------------------------------------------------------------------------------------+ 46 | | ``[p]ulookup name`` | Get the unicode names of characters. | 47 | +----------------------+-------------------------------------------------------------------------------------------------------------+ 48 | 49 | ------------ 50 | Installation 51 | ------------ 52 | 53 | If you haven't added my repo before, lets add it first. We'll call it 54 | "kreusada-cogs" here. 55 | 56 | .. code-block:: 57 | 58 | [p]repo add kreusada-cogs https://github.com/Kreusada/Kreusada-Cogs 59 | 60 | Now, we can install UnicodeLookup. 61 | 62 | .. code-block:: 63 | 64 | [p]cog install kreusada-cogs unicodelookup 65 | 66 | Once it's installed, it is not loaded by default. Load it by running the following 67 | command: 68 | 69 | .. code-block:: 70 | 71 | [p]load unicodelookup 72 | 73 | --------------- 74 | Further Support 75 | --------------- 76 | 77 | For more support, head over to the `cog support server `_, 78 | I have my own channel over there at #support_kreusada-cogs. Feel free to join my 79 | `personal server `_ whilst you're here. 80 | -------------------------------------------------------------------------------- /docs/conf.py: -------------------------------------------------------------------------------- 1 | exclude_patterns = ["_build", "Thumbs.db", ".DS_Store", ".venv", "venv"] 2 | html_css_files = ["literals.css"] 3 | extensions = ["sphinx_rtd_theme"] 4 | templates_path = ["_templates"] 5 | 6 | html_context = { 7 | "display_github": True, 8 | "github_user": "Kreusada", 9 | "github_repo": "Kreusada-Cogs", 10 | "github_version": "master/docs/", 11 | } 12 | 13 | master_doc = "index" 14 | html_theme = "furo" 15 | source_suffix = ".rst" 16 | master_doc = "index" 17 | exclude_patterns = [] 18 | add_function_parentheses = True 19 | 20 | project = "Kreusada-Cogs" 21 | copyright = "2020 - 2023 | Kreusada" 22 | html_logo = "image_cog-creators-logo.png" 23 | -------------------------------------------------------------------------------- /docs/image_cog-creators-logo.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Kreusada/Kreusada-Cogs/41ef0e403af88c1373cf6cac75503f8eb51abbc4/docs/image_cog-creators-logo.png -------------------------------------------------------------------------------- /docs/image_repo_artwork.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Kreusada/Kreusada-Cogs/41ef0e403af88c1373cf6cac75503f8eb51abbc4/docs/image_repo_artwork.png -------------------------------------------------------------------------------- /docs/image_repo_artwork2.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Kreusada/Kreusada-Cogs/41ef0e403af88c1373cf6cac75503f8eb51abbc4/docs/image_repo_artwork2.png -------------------------------------------------------------------------------- /docs/image_repo_artwork3.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Kreusada/Kreusada-Cogs/41ef0e403af88c1373cf6cac75503f8eb51abbc4/docs/image_repo_artwork3.png -------------------------------------------------------------------------------- /docs/index.rst: -------------------------------------------------------------------------------- 1 | .. _main: 2 | 3 | ============= 4 | Kreusada-Cogs 5 | ============= 6 | 7 | .. image:: /image_repo_artwork3.png 8 | :target: https://github.com/Kreusada/Kreusada-Cogs 9 | :alt: Kreusada-Cogs 10 | 11 | This documentation is here for the support of my Red-DiscordBot cogs. 12 | 13 | Mention me in the #support_kreusada-cogs in the `cog support server `_ if you need any help. 14 | You can also visit my `personal server `_. 15 | 16 | ============ 17 | Useful Links 18 | ============ 19 | 20 | * `Github Repository `_ 21 | * `Personal Server `_ 22 | * `Cog Support Server `_ 23 | 24 | .. toctree:: 25 | :caption: Cog Support 26 | :maxdepth: 1 27 | 28 | cog_blackformatter 29 | cog_cocktail 30 | cog_cogpaths 31 | cog_colour 32 | cog_consoleclearer 33 | cog_counting 34 | cog_didyoumean 35 | cog_embedcreator 36 | cog_flags 37 | cog_gallery 38 | cog_higherorlower 39 | cog_lock 40 | cog_mentionable 41 | cog_messagedeleter 42 | cog_minifier 43 | cog_morsecode 44 | cog_namegenerator 45 | cog_onthisday 46 | cog_pick 47 | cog_pypi 48 | cog_qr 49 | cog_quotes 50 | cog_rhymes 51 | cog_riddles 52 | cog_roleboards 53 | cog_sendcards 54 | cog_termino 55 | cog_texteditor 56 | cog_textfont 57 | cog_timestamps 58 | cog_tonguetwisters 59 | cog_unicodelookup 60 | -------------------------------------------------------------------------------- /docs/make.bat: -------------------------------------------------------------------------------- 1 | @ECHO OFF 2 | 3 | pushd %~dp0 4 | 5 | if "%SPHINXBUILD%" == "" ( 6 | set SPHINXBUILD=sphinx-build 7 | ) 8 | set SOURCEDIR=. 9 | set BUILDDIR=_build 10 | 11 | if "%1" == "" goto help 12 | 13 | %SPHINXBUILD% >NUL 2>NUL 14 | if errorlevel 9009 ( 15 | echo. 16 | echo.The 'sphinx-build' command was not found. 17 | exit /b 1 18 | ) 19 | 20 | %SPHINXBUILD% -M %1 %SOURCEDIR% %BUILDDIR% %SPHINXOPTS% %O% 21 | goto end 22 | 23 | :help 24 | %SPHINXBUILD% -M help %SOURCEDIR% %BUILDDIR% %SPHINXOPTS% %O% 25 | 26 | :end 27 | popd 28 | -------------------------------------------------------------------------------- /docs/requirements.txt: -------------------------------------------------------------------------------- 1 | furo 2 | sphinx_rtd_theme -------------------------------------------------------------------------------- /embedcreator/__init__.py: -------------------------------------------------------------------------------- 1 | from redbot.core.bot import Red 2 | from redbot.core.utils import get_end_user_data_statement 3 | 4 | from .embedcreator import EmbedCreator 5 | 6 | __red_end_user_data_statement__ = get_end_user_data_statement(__file__) 7 | 8 | 9 | async def setup(bot: Red): 10 | await bot.add_cog(EmbedCreator(bot)) 11 | -------------------------------------------------------------------------------- /embedcreator/info.json: -------------------------------------------------------------------------------- 1 | { 2 | "author": [ 3 | "Kreusada" 4 | ], 5 | "description": "Create embeds using buttons, modals and dropdowns!", 6 | "disabled": false, 7 | "end_user_data_statement": "This cog does not persistently store data or metadata about users.", 8 | "hidden": false, 9 | "install_msg": "Thanks for installing, have fun. Please refer to my docs if you need any help: https://kreusadacogs.readthedocs.io/en/latest/cog_embedcreator.html\n\nThis cog has only recently been released, please use #support_kreusada-cogs in the cog support server to provide further suggestions to enhance the cog, or to report any bugs that you come across.", 10 | "name": "EmbedCreator", 11 | "required_cogs": {}, 12 | "requirements": [], 13 | "short": "Create embeds using buttons and modals!", 14 | "tags": [ 15 | "Embeds", 16 | "Create", 17 | "Buttons", 18 | "Modals", 19 | "Dropdowns", 20 | "Selects" 21 | ], 22 | "type": "COG" 23 | } 24 | -------------------------------------------------------------------------------- /flags/README.rst: -------------------------------------------------------------------------------- 1 | .. _flags: 2 | 3 | ===== 4 | Flags 5 | ===== 6 | 7 | This is the cog guide for the 'Flags' cog. This guide 8 | contains the collection of commands which you can use in the cog. 9 | 10 | Through this guide, ``[p]`` will always represent your prefix. Replace 11 | ``[p]`` with your own prefix when you use these commands in Discord. 12 | 13 | .. note:: 14 | 15 | This guide was last updated for version 1.1.6. Ensure 16 | that you are up to date by running ``[p]cog update flags``. 17 | 18 | If there is something missing, or something that needs improving 19 | in this documentation, feel free to create an issue `here `_. 20 | 21 | This documentation is auto-generated everytime this cog receives an update. 22 | 23 | -------------- 24 | About this cog 25 | -------------- 26 | 27 | Get flags from country names. 28 | 29 | -------- 30 | Commands 31 | -------- 32 | 33 | Here are all the commands included in this cog (3): 34 | 35 | +-------------------+----------------------------------------------------------+ 36 | | Command | Help | 37 | +===================+==========================================================+ 38 | | ``[p]flag`` | Get the flag for a country. | 39 | | | | 40 | | | Either the country name or alpha 2 code can be provided. | 41 | | | | 42 | | | **Examples:** | 43 | | | | 44 | | | - ``[p]flag russia`` | 45 | | | - ``[p]flag brazil`` | 46 | | | - ``[p]flag dk`` | 47 | | | - ``[p]flag se`` | 48 | +-------------------+----------------------------------------------------------+ 49 | | ``[p]flagemojis`` | Get flag emojis for a list of countries. | 50 | | | | 51 | | | **Examples:** | 52 | | | | 53 | | | - ``[p]flagemojis qatar brazil mexico`` | 54 | | | - ``[p]flagemojis "solomon islands" germany`` | 55 | +-------------------+----------------------------------------------------------+ 56 | | ``[p]flags`` | Get a list of all the flags and their alpha 2 codes. | 57 | +-------------------+----------------------------------------------------------+ 58 | 59 | ------------ 60 | Installation 61 | ------------ 62 | 63 | If you haven't added my repo before, lets add it first. We'll call it 64 | "kreusada-cogs" here. 65 | 66 | .. code-block:: 67 | 68 | [p]repo add kreusada-cogs https://github.com/Kreusada/Kreusada-Cogs 69 | 70 | Now, we can install Flags. 71 | 72 | .. code-block:: 73 | 74 | [p]cog install kreusada-cogs flags 75 | 76 | Once it's installed, it is not loaded by default. Load it by running the following 77 | command: 78 | 79 | .. code-block:: 80 | 81 | [p]load flags 82 | 83 | --------------- 84 | Further Support 85 | --------------- 86 | 87 | For more support, head over to the `cog support server `_, 88 | I have my own channel over there at #support_kreusada-cogs. Feel free to join my 89 | `personal server `_ whilst you're here. 90 | -------------------------------------------------------------------------------- /flags/__init__.py: -------------------------------------------------------------------------------- 1 | from redbot.core.bot import Red 2 | from redbot.core.utils import get_end_user_data_statement 3 | 4 | from .flags import Flags 5 | 6 | __red_end_user_data_statement__ = get_end_user_data_statement(__file__) 7 | 8 | 9 | async def setup(bot: Red): 10 | await bot.add_cog(Flags(bot)) 11 | -------------------------------------------------------------------------------- /flags/info.json: -------------------------------------------------------------------------------- 1 | { 2 | "author": [ 3 | "Kreusada" 4 | ], 5 | "description": "Get the flag for a country, with information about alpha and numeric codes.", 6 | "disabled": false, 7 | "end_user_data_statement": "This cog does not persistently store data or metadata about users.", 8 | "hidden": false, 9 | "install_msg": "Thanks for installing, have fun. Please refer to my docs if you need any help: https://kreusadacogs.readthedocs.io/en/latest/cog_flags.html", 10 | "name": "Flags", 11 | "required_cogs": {}, 12 | "requirements": [ 13 | "pycountry" 14 | ], 15 | "short": "Get the flag for a country, with information about alpha and numeric codes.", 16 | "tags": [ 17 | "Flags", 18 | "World", 19 | "Country", 20 | "Countries" 21 | ], 22 | "type": "COG" 23 | } 24 | -------------------------------------------------------------------------------- /flags/menus.py: -------------------------------------------------------------------------------- 1 | import unicodedata 2 | from typing import Any, Optional 3 | 4 | import discord 5 | from discord.interactions import Interaction 6 | from redbot.core.commands import Context 7 | 8 | 9 | def alpha_2_to_unicode(alpha_2): 10 | return "".join(unicodedata.lookup("REGIONAL INDICATOR SYMBOL LETTER " + a) for a in alpha_2) 11 | 12 | 13 | class LabelledMenuSelect(discord.ui.Select): 14 | def __init__(self, neighbours: dict[str, str]): 15 | options = [discord.SelectOption(label=k, emoji=v) for k, v in neighbours.items()] 16 | super().__init__(placeholder="Neighbouring countries", options=options, row=1) 17 | 18 | async def callback(self, interaction: discord.Interaction): 19 | await interaction.response.send_message( 20 | f"Get information about {self.values[0]} with the command `{self.view.context.clean_prefix}flag {self.values[0]}`!", 21 | ephemeral=True, 22 | ) 23 | 24 | 25 | class LabelledMenuButton(discord.ui.Button): 26 | async def callback(self, interaction: discord.Interaction): 27 | self.grey_all_buttons() 28 | self.style = discord.ButtonStyle.green 29 | await interaction.response.edit_message( 30 | view=self.view, **self.view.options[self.label]["kwargs"] 31 | ) 32 | 33 | def grey_all_buttons(self): 34 | for button in self.view.children: 35 | button.style = discord.ButtonStyle.grey 36 | 37 | 38 | class LabelledMenu(discord.ui.View): 39 | def __init__(self): 40 | super().__init__() 41 | self.context: Optional[Context] = None 42 | self.options: dict[str, discord.Embed] = {} 43 | self.select: Optional[discord.ui.Select] = None 44 | self.__insertion_order: list[str] = [] 45 | 46 | def add_option( 47 | self, 48 | label: str, 49 | /, 50 | content: Optional[str] = None, 51 | *, 52 | embed: Optional[discord.Embed] = None, 53 | emoji: Optional[str] = None, 54 | ): 55 | self.options[label] = {"emoji": emoji, "kwargs": {"embed": embed, "content": content}} 56 | self.__insertion_order.append(label) 57 | self.add_item(LabelledMenuButton(label=label, emoji=emoji, row=2)) 58 | 59 | def set_neighbouring_countries(self, neighbours: dict[str, str]): 60 | if not neighbours: 61 | return 62 | self.add_item(LabelledMenuSelect(neighbours)) 63 | 64 | async def start(self, ctx: Context): 65 | self.context = ctx 66 | self.children[0].style = discord.ButtonStyle.green 67 | self.message = await ctx.send( 68 | **self.options[self.__insertion_order[0]]["kwargs"], view=self 69 | ) 70 | 71 | async def on_timeout(self): 72 | for child in self.children: 73 | child.disabled = True 74 | await self.message.edit(view=self) 75 | 76 | async def interaction_check(self, interaction: discord.Interaction): 77 | if interaction.user.id != self.context.author.id: 78 | await interaction.response.send_message( 79 | "You are not allowed to interact with this.", ephemeral=True 80 | ) 81 | return False 82 | return True 83 | -------------------------------------------------------------------------------- /gallery/__init__.py: -------------------------------------------------------------------------------- 1 | from redbot.core.bot import Red 2 | from redbot.core.utils import get_end_user_data_statement 3 | 4 | from .gallery import Gallery 5 | 6 | __red_end_user_data_statement__ = get_end_user_data_statement(__file__) 7 | 8 | 9 | async def setup(bot: Red): 10 | await bot.add_cog(Gallery(bot)) 11 | -------------------------------------------------------------------------------- /gallery/info.json: -------------------------------------------------------------------------------- 1 | { 2 | "author" : ["saurichable", "Kreusada"], 3 | "install_msg": "Thanks for installing, have fun. Please refer to my docs if you need any help: https://kreusadacogs.readthedocs.io/en/latest/cog_gallery.html", 4 | "name" : "Gallery", 5 | "short" : "Set channels as galleries, deleting all messages that don't contain any attachments.", 6 | "description" : "Set channels as galleries, deleting all messages that don't contain any attachments.", 7 | "tags" : ["gallery"], 8 | "end_user_data_statement": "This cog does not store any user data." 9 | } 10 | -------------------------------------------------------------------------------- /higherorlower/data/images/c10.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Kreusada/Kreusada-Cogs/41ef0e403af88c1373cf6cac75503f8eb51abbc4/higherorlower/data/images/c10.png -------------------------------------------------------------------------------- /higherorlower/data/images/c2.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Kreusada/Kreusada-Cogs/41ef0e403af88c1373cf6cac75503f8eb51abbc4/higherorlower/data/images/c2.png -------------------------------------------------------------------------------- /higherorlower/data/images/c3.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Kreusada/Kreusada-Cogs/41ef0e403af88c1373cf6cac75503f8eb51abbc4/higherorlower/data/images/c3.png -------------------------------------------------------------------------------- /higherorlower/data/images/c4.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Kreusada/Kreusada-Cogs/41ef0e403af88c1373cf6cac75503f8eb51abbc4/higherorlower/data/images/c4.png -------------------------------------------------------------------------------- /higherorlower/data/images/c5.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Kreusada/Kreusada-Cogs/41ef0e403af88c1373cf6cac75503f8eb51abbc4/higherorlower/data/images/c5.png -------------------------------------------------------------------------------- /higherorlower/data/images/c6.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Kreusada/Kreusada-Cogs/41ef0e403af88c1373cf6cac75503f8eb51abbc4/higherorlower/data/images/c6.png -------------------------------------------------------------------------------- /higherorlower/data/images/c7.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Kreusada/Kreusada-Cogs/41ef0e403af88c1373cf6cac75503f8eb51abbc4/higherorlower/data/images/c7.png -------------------------------------------------------------------------------- /higherorlower/data/images/c8.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Kreusada/Kreusada-Cogs/41ef0e403af88c1373cf6cac75503f8eb51abbc4/higherorlower/data/images/c8.png -------------------------------------------------------------------------------- /higherorlower/data/images/c9.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Kreusada/Kreusada-Cogs/41ef0e403af88c1373cf6cac75503f8eb51abbc4/higherorlower/data/images/c9.png -------------------------------------------------------------------------------- /higherorlower/data/images/ca.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Kreusada/Kreusada-Cogs/41ef0e403af88c1373cf6cac75503f8eb51abbc4/higherorlower/data/images/ca.png -------------------------------------------------------------------------------- /higherorlower/data/images/cj.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Kreusada/Kreusada-Cogs/41ef0e403af88c1373cf6cac75503f8eb51abbc4/higherorlower/data/images/cj.png -------------------------------------------------------------------------------- /higherorlower/data/images/ck.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Kreusada/Kreusada-Cogs/41ef0e403af88c1373cf6cac75503f8eb51abbc4/higherorlower/data/images/ck.png -------------------------------------------------------------------------------- /higherorlower/data/images/cq.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Kreusada/Kreusada-Cogs/41ef0e403af88c1373cf6cac75503f8eb51abbc4/higherorlower/data/images/cq.png -------------------------------------------------------------------------------- /higherorlower/data/images/d10.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Kreusada/Kreusada-Cogs/41ef0e403af88c1373cf6cac75503f8eb51abbc4/higherorlower/data/images/d10.png -------------------------------------------------------------------------------- /higherorlower/data/images/d2.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Kreusada/Kreusada-Cogs/41ef0e403af88c1373cf6cac75503f8eb51abbc4/higherorlower/data/images/d2.png -------------------------------------------------------------------------------- /higherorlower/data/images/d3.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Kreusada/Kreusada-Cogs/41ef0e403af88c1373cf6cac75503f8eb51abbc4/higherorlower/data/images/d3.png -------------------------------------------------------------------------------- /higherorlower/data/images/d4.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Kreusada/Kreusada-Cogs/41ef0e403af88c1373cf6cac75503f8eb51abbc4/higherorlower/data/images/d4.png -------------------------------------------------------------------------------- /higherorlower/data/images/d5.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Kreusada/Kreusada-Cogs/41ef0e403af88c1373cf6cac75503f8eb51abbc4/higherorlower/data/images/d5.png -------------------------------------------------------------------------------- /higherorlower/data/images/d6.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Kreusada/Kreusada-Cogs/41ef0e403af88c1373cf6cac75503f8eb51abbc4/higherorlower/data/images/d6.png -------------------------------------------------------------------------------- /higherorlower/data/images/d7.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Kreusada/Kreusada-Cogs/41ef0e403af88c1373cf6cac75503f8eb51abbc4/higherorlower/data/images/d7.png -------------------------------------------------------------------------------- /higherorlower/data/images/d8.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Kreusada/Kreusada-Cogs/41ef0e403af88c1373cf6cac75503f8eb51abbc4/higherorlower/data/images/d8.png -------------------------------------------------------------------------------- /higherorlower/data/images/d9.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Kreusada/Kreusada-Cogs/41ef0e403af88c1373cf6cac75503f8eb51abbc4/higherorlower/data/images/d9.png -------------------------------------------------------------------------------- /higherorlower/data/images/da.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Kreusada/Kreusada-Cogs/41ef0e403af88c1373cf6cac75503f8eb51abbc4/higherorlower/data/images/da.png -------------------------------------------------------------------------------- /higherorlower/data/images/dj.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Kreusada/Kreusada-Cogs/41ef0e403af88c1373cf6cac75503f8eb51abbc4/higherorlower/data/images/dj.png -------------------------------------------------------------------------------- /higherorlower/data/images/dk.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Kreusada/Kreusada-Cogs/41ef0e403af88c1373cf6cac75503f8eb51abbc4/higherorlower/data/images/dk.png -------------------------------------------------------------------------------- /higherorlower/data/images/dq.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Kreusada/Kreusada-Cogs/41ef0e403af88c1373cf6cac75503f8eb51abbc4/higherorlower/data/images/dq.png -------------------------------------------------------------------------------- /higherorlower/data/images/h10.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Kreusada/Kreusada-Cogs/41ef0e403af88c1373cf6cac75503f8eb51abbc4/higherorlower/data/images/h10.png -------------------------------------------------------------------------------- /higherorlower/data/images/h2.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Kreusada/Kreusada-Cogs/41ef0e403af88c1373cf6cac75503f8eb51abbc4/higherorlower/data/images/h2.png -------------------------------------------------------------------------------- /higherorlower/data/images/h3.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Kreusada/Kreusada-Cogs/41ef0e403af88c1373cf6cac75503f8eb51abbc4/higherorlower/data/images/h3.png -------------------------------------------------------------------------------- /higherorlower/data/images/h4.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Kreusada/Kreusada-Cogs/41ef0e403af88c1373cf6cac75503f8eb51abbc4/higherorlower/data/images/h4.png -------------------------------------------------------------------------------- /higherorlower/data/images/h5.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Kreusada/Kreusada-Cogs/41ef0e403af88c1373cf6cac75503f8eb51abbc4/higherorlower/data/images/h5.png -------------------------------------------------------------------------------- /higherorlower/data/images/h6.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Kreusada/Kreusada-Cogs/41ef0e403af88c1373cf6cac75503f8eb51abbc4/higherorlower/data/images/h6.png -------------------------------------------------------------------------------- /higherorlower/data/images/h7.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Kreusada/Kreusada-Cogs/41ef0e403af88c1373cf6cac75503f8eb51abbc4/higherorlower/data/images/h7.png -------------------------------------------------------------------------------- /higherorlower/data/images/h8.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Kreusada/Kreusada-Cogs/41ef0e403af88c1373cf6cac75503f8eb51abbc4/higherorlower/data/images/h8.png -------------------------------------------------------------------------------- /higherorlower/data/images/h9.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Kreusada/Kreusada-Cogs/41ef0e403af88c1373cf6cac75503f8eb51abbc4/higherorlower/data/images/h9.png -------------------------------------------------------------------------------- /higherorlower/data/images/ha.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Kreusada/Kreusada-Cogs/41ef0e403af88c1373cf6cac75503f8eb51abbc4/higherorlower/data/images/ha.png -------------------------------------------------------------------------------- /higherorlower/data/images/hj.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Kreusada/Kreusada-Cogs/41ef0e403af88c1373cf6cac75503f8eb51abbc4/higherorlower/data/images/hj.png -------------------------------------------------------------------------------- /higherorlower/data/images/hk.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Kreusada/Kreusada-Cogs/41ef0e403af88c1373cf6cac75503f8eb51abbc4/higherorlower/data/images/hk.png -------------------------------------------------------------------------------- /higherorlower/data/images/hq.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Kreusada/Kreusada-Cogs/41ef0e403af88c1373cf6cac75503f8eb51abbc4/higherorlower/data/images/hq.png -------------------------------------------------------------------------------- /higherorlower/data/images/s10.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Kreusada/Kreusada-Cogs/41ef0e403af88c1373cf6cac75503f8eb51abbc4/higherorlower/data/images/s10.png -------------------------------------------------------------------------------- /higherorlower/data/images/s2.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Kreusada/Kreusada-Cogs/41ef0e403af88c1373cf6cac75503f8eb51abbc4/higherorlower/data/images/s2.png -------------------------------------------------------------------------------- /higherorlower/data/images/s3.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Kreusada/Kreusada-Cogs/41ef0e403af88c1373cf6cac75503f8eb51abbc4/higherorlower/data/images/s3.png -------------------------------------------------------------------------------- /higherorlower/data/images/s4.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Kreusada/Kreusada-Cogs/41ef0e403af88c1373cf6cac75503f8eb51abbc4/higherorlower/data/images/s4.png -------------------------------------------------------------------------------- /higherorlower/data/images/s5.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Kreusada/Kreusada-Cogs/41ef0e403af88c1373cf6cac75503f8eb51abbc4/higherorlower/data/images/s5.png -------------------------------------------------------------------------------- /higherorlower/data/images/s6.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Kreusada/Kreusada-Cogs/41ef0e403af88c1373cf6cac75503f8eb51abbc4/higherorlower/data/images/s6.png -------------------------------------------------------------------------------- /higherorlower/data/images/s7.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Kreusada/Kreusada-Cogs/41ef0e403af88c1373cf6cac75503f8eb51abbc4/higherorlower/data/images/s7.png -------------------------------------------------------------------------------- /higherorlower/data/images/s8.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Kreusada/Kreusada-Cogs/41ef0e403af88c1373cf6cac75503f8eb51abbc4/higherorlower/data/images/s8.png -------------------------------------------------------------------------------- /higherorlower/data/images/s9.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Kreusada/Kreusada-Cogs/41ef0e403af88c1373cf6cac75503f8eb51abbc4/higherorlower/data/images/s9.png -------------------------------------------------------------------------------- /higherorlower/data/images/sa.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Kreusada/Kreusada-Cogs/41ef0e403af88c1373cf6cac75503f8eb51abbc4/higherorlower/data/images/sa.png -------------------------------------------------------------------------------- /higherorlower/data/images/sj.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Kreusada/Kreusada-Cogs/41ef0e403af88c1373cf6cac75503f8eb51abbc4/higherorlower/data/images/sj.png -------------------------------------------------------------------------------- /higherorlower/data/images/sk.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Kreusada/Kreusada-Cogs/41ef0e403af88c1373cf6cac75503f8eb51abbc4/higherorlower/data/images/sk.png -------------------------------------------------------------------------------- /higherorlower/data/images/sq.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Kreusada/Kreusada-Cogs/41ef0e403af88c1373cf6cac75503f8eb51abbc4/higherorlower/data/images/sq.png -------------------------------------------------------------------------------- /higherorlower/info.json: -------------------------------------------------------------------------------- 1 | { 2 | "author": [ 3 | "Kreusada" 4 | ], 5 | "description": "Play Higher Or Lower, win big!", 6 | "disabled": false, 7 | "end_user_data_statement": "This cog does not persistently store data or metadata about users.", 8 | "hidden": false, 9 | "install_msg": "Thanks for installing, have fun. Please refer to my docs if you need any help: https://kreusadacogs.readthedocs.io/en/latest/cog_higherorlower.html\n\nThis cog has only recently been released, please use #support_kreusada-cogs in the cog support server to provide further suggestions to enhance the cog, or to report any bugs that you come across.", 10 | "name": "HigherOrLower", 11 | "required_cogs": {}, 12 | "requirements": ["pillow>=10.1.0"], 13 | "short": "Play Higher Or Lower, win big!", 14 | "tags": [ 15 | "Cards", 16 | "Game", 17 | "Money", 18 | "Economy" 19 | ], 20 | "type": "COG" 21 | } 22 | -------------------------------------------------------------------------------- /info.json: -------------------------------------------------------------------------------- 1 | { 2 | "author": [ 3 | "Kreusada" 4 | ], 5 | "install_msg": "Thanks for adding my repository! Head over to my docs if you need additional support, I have guides for all the cogs on my repo: https://kreusadacogs.readthedocs.io/en/latest/. Additionally, feel free to join my support server (https://discord.gg/JmCFyq7), or you can ping me in #support_kreusada-cogs in the Red cog support server.", 6 | "name": "Kreusada-Cogs", 7 | "short": "Cogs by Kreusada for Red-DiscordBot V3.", 8 | "description": "Cogs by Kreusada for Red-DiscordBot V3." 9 | } 10 | -------------------------------------------------------------------------------- /lock/__init__.py: -------------------------------------------------------------------------------- 1 | from redbot.core.bot import Red 2 | from redbot.core.utils import get_end_user_data_statement 3 | 4 | from .lock import Lock 5 | 6 | __red_end_user_data_statement__ = get_end_user_data_statement(__file__) 7 | 8 | 9 | async def setup(bot: Red): 10 | await bot.add_cog(Lock(bot)) 11 | -------------------------------------------------------------------------------- /lock/info.json: -------------------------------------------------------------------------------- 1 | { 2 | "author" : ["saurichable", "Kreusada"], 3 | "install_msg": "Thanks for installing, have fun. Please refer to my docs if you need any help: https://kreusadacogs.readthedocs.io/en/latest/cog_lock.html", 4 | "name" : "Lock", 5 | "short" : "Lock `@everyone` from sending messages.", 6 | "description" : "Lock `@everyone` from sending messages in channels or the entire guild, and only allow Moderators to talk.", 7 | "tags" : ["lockdown", "lock"], 8 | "end_user_data_statement": "This cog does not store any user data." 9 | } 10 | -------------------------------------------------------------------------------- /make.bat: -------------------------------------------------------------------------------- 1 | @echo off 2 | 3 | CALL %userprofile%\redenv\Scripts\activate.bat REM win 4 | if [%1] == [] goto help 5 | 6 | REM This allows us to expand variables at execution 7 | setlocal ENABLEDELAYEDEXPANSION 8 | 9 | goto %1 10 | 11 | :reformat 12 | isort . 13 | black . 14 | exit /B %ERRORLEVEL% 15 | 16 | :isort 17 | isort . 18 | exit /B %ERRORLEVEL% 19 | 20 | :black 21 | black . 22 | exit /B %ERRORLEVEL% 23 | 24 | :stylediff 25 | isort --atomic --check --diff --line-length 99 --use-parentheses . 26 | black --check --diff -l 99 . 27 | exit /B %ERRORLEVEL% 28 | 29 | :help 30 | echo Usage: 31 | echo make ^ 32 | echo. 33 | echo Commands: 34 | echo reformat Reformat all .py files being tracked by git. 35 | echo isort Reformat all .py files only with isort. 36 | echo black Reformat all .py files only with black. 37 | echo stylediff Check .py files for style diffs. 38 | -------------------------------------------------------------------------------- /mentionable/README.rst: -------------------------------------------------------------------------------- 1 | .. _mentionable: 2 | 3 | =========== 4 | Mentionable 5 | =========== 6 | 7 | This is the cog guide for the 'Mentionable' cog. This guide 8 | contains the collection of commands which you can use in the cog. 9 | 10 | Through this guide, ``[p]`` will always represent your prefix. Replace 11 | ``[p]`` with your own prefix when you use these commands in Discord. 12 | 13 | .. note:: 14 | 15 | This guide was last updated for version 2.0.0. Ensure 16 | that you are up to date by running ``[p]cog update mentionable``. 17 | 18 | If there is something missing, or something that needs improving 19 | in this documentation, feel free to create an issue `here `_. 20 | 21 | This documentation is auto-generated everytime this cog receives an update. 22 | 23 | -------------- 24 | About this cog 25 | -------------- 26 | 27 | Very simple way to make unmentionable roles mentionable. 28 | 29 | -------- 30 | Commands 31 | -------- 32 | 33 | Here are all the commands included in this cog (2): 34 | 35 | +------------------+-------------------------------+ 36 | | Command | Help | 37 | +==================+===============================+ 38 | | ``[p]mention`` | Makes that role mentionable | 39 | +------------------+-------------------------------+ 40 | | ``[p]unmention`` | Makes that role unmentionable | 41 | +------------------+-------------------------------+ 42 | 43 | ------------ 44 | Installation 45 | ------------ 46 | 47 | If you haven't added my repo before, lets add it first. We'll call it 48 | "kreusada-cogs" here. 49 | 50 | .. code-block:: 51 | 52 | [p]repo add kreusada-cogs https://github.com/Kreusada/Kreusada-Cogs 53 | 54 | Now, we can install Mentionable. 55 | 56 | .. code-block:: 57 | 58 | [p]cog install kreusada-cogs mentionable 59 | 60 | Once it's installed, it is not loaded by default. Load it by running the following 61 | command: 62 | 63 | .. code-block:: 64 | 65 | [p]load mentionable 66 | 67 | --------------- 68 | Further Support 69 | --------------- 70 | 71 | For more support, head over to the `cog support server `_, 72 | I have my own channel over there at #support_kreusada-cogs. Feel free to join my 73 | `personal server `_ whilst you're here. 74 | -------------------------------------------------------------------------------- /mentionable/__init__.py: -------------------------------------------------------------------------------- 1 | from redbot.core.bot import Red 2 | from redbot.core.utils import get_end_user_data_statement 3 | 4 | from .mentionable import Mentionable 5 | 6 | __red_end_user_data_statement__ = get_end_user_data_statement(__file__) 7 | 8 | 9 | async def setup(bot: Red): 10 | await bot.add_cog(Mentionable(bot)) 11 | -------------------------------------------------------------------------------- /mentionable/info.json: -------------------------------------------------------------------------------- 1 | { 2 | "author" : ["saurichable", "bobloy", "Kreusada"], 3 | "install_msg": "Thanks for installing, have fun. Please refer to my docs if you need any help: https://kreusadacogs.readthedocs.io/en/latest/cog_mentionable.html", 4 | "name" : "Mentionable", 5 | "short" : "Makes unmentionable roles mentionable.", 6 | "description" : "Very simple way to make unmentionable roles mentionable.", 7 | "tags" : ["mentionable"], 8 | "end_user_data_statement": "This cog does not store any user data." 9 | } 10 | -------------------------------------------------------------------------------- /mentionable/mentionable.py: -------------------------------------------------------------------------------- 1 | import discord 2 | from redbot.core import commands 3 | from redbot.core.bot import Red 4 | 5 | 6 | class Mentionable(commands.Cog): 7 | """ 8 | Very simple way to make unmentionable roles mentionable. 9 | """ 10 | 11 | __version__ = "2.0.0" 12 | __author__ = "saurichable, Kreusada" 13 | 14 | def __init__(self, bot: Red): 15 | self.bot = bot 16 | 17 | async def red_delete_data_for_user(self, *, requester, user_id): 18 | # nothing to delete 19 | return 20 | 21 | def format_help_for_context(self, ctx: commands.Context) -> str: 22 | context = super().format_help_for_context(ctx) 23 | return f"{context}\n\nVersion: {self.__version__}\nAuthors: {self.__author__}" 24 | 25 | @commands.admin() 26 | @commands.command() 27 | @commands.guild_only() 28 | @commands.bot_has_permissions(manage_roles=True) 29 | async def mention(self, ctx: commands.Context, *, role: discord.Role): 30 | """Makes that role mentionable""" 31 | if not role.mentionable: 32 | await role.edit(mentionable=True) 33 | await ctx.send(f"{role} is now mentionable.") 34 | else: 35 | await ctx.send(f"{role} is already mentionable.") 36 | 37 | @commands.admin() 38 | @commands.command() 39 | @commands.guild_only() 40 | @commands.bot_has_permissions(manage_roles=True) 41 | async def unmention(self, ctx: commands.Context, *, role: discord.Role): 42 | """ 43 | Makes that role unmentionable 44 | """ 45 | if not role.mentionable: 46 | await ctx.send(f"{role} is already unmentionable.") 47 | else: 48 | await role.edit(mentionable=False) 49 | await ctx.send(f"{role} is now unmentionable.") 50 | -------------------------------------------------------------------------------- /messagedeleter/__init__.py: -------------------------------------------------------------------------------- 1 | from redbot.core.bot import Red 2 | from redbot.core.utils import get_end_user_data_statement 3 | 4 | from .messagedeleter import MessageDeleter 5 | 6 | __red_end_user_data_statement__ = get_end_user_data_statement(__file__) 7 | 8 | 9 | async def setup(bot: Red): 10 | await bot.add_cog(MessageDeleter(bot)) 11 | -------------------------------------------------------------------------------- /messagedeleter/info.json: -------------------------------------------------------------------------------- 1 | { 2 | "author": [ 3 | "Kreusada" 4 | ], 5 | "description": "Delete messages from users and bots, inclusively or exclusively, in text channels.", 6 | "disabled": false, 7 | "end_user_data_statement": "This cog does not persistently store data or metadata about users.", 8 | "hidden": false, 9 | "install_msg": "Thanks for installing, have fun. Please refer to my docs if you need any help: https://kreusadacogs.readthedocs.io/en/latest/cog_messagedeleter.html", 10 | "name": "MessageDeleter", 11 | "required_cogs": {}, 12 | "requirements": [], 13 | "short": "Delete messages from users and bots, inclusively or exclusively, in text channels.", 14 | "tags": [ 15 | "Messages", 16 | "Delete", 17 | "Deletion", 18 | "Bots", 19 | "Humans", 20 | "Users" 21 | ], 22 | "type": "COG" 23 | } 24 | -------------------------------------------------------------------------------- /minifier/README.rst: -------------------------------------------------------------------------------- 1 | .. _minifier: 2 | 3 | ======== 4 | Minifier 5 | ======== 6 | 7 | This is the cog guide for the 'Minifier' cog. This guide 8 | contains the collection of commands which you can use in the cog. 9 | 10 | Through this guide, ``[p]`` will always represent your prefix. Replace 11 | ``[p]`` with your own prefix when you use these commands in Discord. 12 | 13 | .. note:: 14 | 15 | This guide was last updated for version 0.2.0. Ensure 16 | that you are up to date by running ``[p]cog update minifier``. 17 | 18 | If there is something missing, or something that needs improving 19 | in this documentation, feel free to create an issue `here `_. 20 | 21 | This documentation is auto-generated everytime this cog receives an update. 22 | 23 | -------------- 24 | About this cog 25 | -------------- 26 | 27 | Minify your code! 28 | 29 | -------- 30 | Commands 31 | -------- 32 | 33 | Here are all the commands included in this cog (1): 34 | 35 | +---------------+----------------------------------------------------------------------------------+ 36 | | Command | Help | 37 | +===============+==================================================================================+ 38 | | ``[p]minify`` | Minify a python file. | 39 | | | | 40 | | | You need to attach a file to this command, and it's extension needs to be `.py`. | 41 | +---------------+----------------------------------------------------------------------------------+ 42 | 43 | ------------ 44 | Installation 45 | ------------ 46 | 47 | If you haven't added my repo before, lets add it first. We'll call it 48 | "kreusada-cogs" here. 49 | 50 | .. code-block:: 51 | 52 | [p]repo add kreusada-cogs https://github.com/Kreusada/Kreusada-Cogs 53 | 54 | Now, we can install Minifier. 55 | 56 | .. code-block:: 57 | 58 | [p]cog install kreusada-cogs minifier 59 | 60 | Once it's installed, it is not loaded by default. Load it by running the following 61 | command: 62 | 63 | .. code-block:: 64 | 65 | [p]load minifier 66 | 67 | --------------- 68 | Further Support 69 | --------------- 70 | 71 | For more support, head over to the `cog support server `_, 72 | I have my own channel over there at #support_kreusada-cogs. Feel free to join my 73 | `personal server `_ whilst you're here. 74 | -------------------------------------------------------------------------------- /minifier/__init__.py: -------------------------------------------------------------------------------- 1 | from redbot.core.bot import Red 2 | from redbot.core.utils import get_end_user_data_statement 3 | 4 | from .minifier import Minifier 5 | 6 | __red_end_user_data_statement__ = get_end_user_data_statement(__file__) 7 | 8 | 9 | async def setup(bot: Red): 10 | await bot.add_cog(Minifier(bot)) 11 | -------------------------------------------------------------------------------- /minifier/info.json: -------------------------------------------------------------------------------- 1 | { 2 | "author": [ 3 | "Kreusada" 4 | ], 5 | "description": "Minify python code!", 6 | "disabled": false, 7 | "end_user_data_statement": "This cog does not persistently store data or metadata about users.", 8 | "hidden": false, 9 | "install_msg": "Thanks for installing, have fun. Please refer to my docs if you need any help: https://kreusadacogs.readthedocs.io/en/latest/cog_minifier.html", 10 | "name": "Minifier", 11 | "required_cogs": {}, 12 | "requirements": [ 13 | "python_minifier" 14 | ], 15 | "short": "Minify python code.", 16 | "tags": [ 17 | "Minifier", 18 | "Code", 19 | "File" 20 | ], 21 | "type": "COG" 22 | } 23 | -------------------------------------------------------------------------------- /minifier/minifier.py: -------------------------------------------------------------------------------- 1 | import contextlib 2 | import io 3 | 4 | import discord 5 | import python_minifier as minifier 6 | from redbot.core import commands 7 | from redbot.core.bot import Red 8 | 9 | 10 | class Minifier(commands.Cog): 11 | """Minify your code!""" 12 | 13 | __author__ = "Kreusada" 14 | __version__ = "0.2.0" 15 | 16 | def __init__(self, bot: Red): 17 | self.bot = bot 18 | 19 | def format_help_for_context(self, ctx: commands.Context) -> str: 20 | context = super().format_help_for_context(ctx) 21 | return f"{context}\n\nAuthor: {self.__author__}\nVersion: {self.__version__}" 22 | 23 | async def red_delete_data_for_user(self, **kwargs): 24 | return 25 | 26 | @commands.has_permissions(attach_files=True) 27 | @commands.command(usage="") 28 | async def minify(self, ctx): 29 | """Minify a python file. 30 | 31 | You need to attach a file to this command, and it's extension needs to be `.py`. 32 | """ 33 | await ctx.typing() 34 | if not ctx.message.attachments: 35 | return await ctx.send_help() 36 | file = ctx.message.attachments[0] 37 | file_name = file.filename.lower() 38 | if not file_name.endswith((".py", ".python")): 39 | return await ctx.send("Must be a python file.") 40 | try: 41 | file = await file.read() 42 | except UnicodeDecodeError: 43 | return await ctx.send("Something went wrong when trying to decode this file.") 44 | converted = io.BytesIO(minifier.minify(file).encode(encoding="utf-8")) 45 | return await ctx.send( 46 | content="Please see the attached file below, with your minified code.", 47 | file=discord.File(converted, filename=file_name), 48 | ) 49 | -------------------------------------------------------------------------------- /morsecode/README.rst: -------------------------------------------------------------------------------- 1 | .. _morsecode: 2 | 3 | ========= 4 | MorseCode 5 | ========= 6 | 7 | This is the cog guide for the 'MorseCode' cog. This guide 8 | contains the collection of commands which you can use in the cog. 9 | 10 | Through this guide, ``[p]`` will always represent your prefix. Replace 11 | ``[p]`` with your own prefix when you use these commands in Discord. 12 | 13 | .. note:: 14 | 15 | This guide was last updated for version 1.0.0. Ensure 16 | that you are up to date by running ``[p]cog update morsecode``. 17 | 18 | If there is something missing, or something that needs improving 19 | in this documentation, feel free to create an issue `here `_. 20 | 21 | This documentation is auto-generated everytime this cog receives an update. 22 | 23 | -------------- 24 | About this cog 25 | -------------- 26 | 27 | Encode and decode morse code. 28 | 29 | -------- 30 | Commands 31 | -------- 32 | 33 | Here are all the commands included in this cog (3): 34 | 35 | +---------------------+-------------------------------+ 36 | | Command | Help | 37 | +=====================+===============================+ 38 | | ``[p]morse`` | Encode and decode morse code. | 39 | +---------------------+-------------------------------+ 40 | | ``[p]morse decode`` | Decode morse code. | 41 | +---------------------+-------------------------------+ 42 | | ``[p]morse encode`` | Encode morse code. | 43 | +---------------------+-------------------------------+ 44 | 45 | ------------ 46 | Installation 47 | ------------ 48 | 49 | If you haven't added my repo before, lets add it first. We'll call it 50 | "kreusada-cogs" here. 51 | 52 | .. code-block:: 53 | 54 | [p]repo add kreusada-cogs https://github.com/Kreusada/Kreusada-Cogs 55 | 56 | Now, we can install MorseCode. 57 | 58 | .. code-block:: 59 | 60 | [p]cog install kreusada-cogs morsecode 61 | 62 | Once it's installed, it is not loaded by default. Load it by running the following 63 | command: 64 | 65 | .. code-block:: 66 | 67 | [p]load morsecode 68 | 69 | --------------- 70 | Further Support 71 | --------------- 72 | 73 | For more support, head over to the `cog support server `_, 74 | I have my own channel over there at #support_kreusada-cogs. Feel free to join my 75 | `personal server `_ whilst you're here. 76 | -------------------------------------------------------------------------------- /morsecode/__init__.py: -------------------------------------------------------------------------------- 1 | from morse3 import Morse 2 | from redbot.core import commands 3 | from redbot.core.utils import get_end_user_data_statement 4 | from redbot.core.utils.chat_formatting import box, pagify 5 | 6 | __red_end_user_data_statement__ = get_end_user_data_statement(__file__) 7 | 8 | 9 | class MorseCode(commands.Cog): 10 | """Encode and decode morse code.""" 11 | 12 | __author__ = "Kreusada" 13 | __version__ = "1.0.0" 14 | 15 | def format_help_for_context(self, ctx: commands.Context) -> str: 16 | context = super().format_help_for_context(ctx) 17 | return f"{context}\n\nAuthor: {self.__author__}\nVersion: {self.__version__}" 18 | 19 | async def red_delete_data_for_user(self, **kwargs): 20 | return 21 | 22 | @staticmethod 23 | def safe_morse_encode(text: str): 24 | try: 25 | return Morse(text).stringToMorse() 26 | except Exception as e: 27 | return str(e) 28 | 29 | @staticmethod 30 | def safe_morse_decode(morse_code: str): 31 | try: 32 | return Morse(morse_code).morseToString() 33 | except Exception as e: 34 | return str(e) 35 | 36 | @commands.group() 37 | async def morse(self, ctx: commands.Context): 38 | """Encode and decode morse code.""" 39 | 40 | @morse.command() 41 | async def encode(self, ctx: commands.Context, *, text: str): 42 | """Encode morse code.""" 43 | for page in pagify(self.safe_morse_encode(text), page_length=1990): 44 | await ctx.send(box(page)) 45 | 46 | @morse.command() 47 | async def decode(self, ctx: commands.Context, *, morse_code: str): 48 | """Decode morse code.""" 49 | for page in pagify(self.safe_morse_decode(morse_code), page_length=1990): 50 | await ctx.send(box(page)) 51 | 52 | 53 | async def setup(bot): 54 | await bot.add_cog(MorseCode()) 55 | -------------------------------------------------------------------------------- /morsecode/info.json: -------------------------------------------------------------------------------- 1 | { 2 | "author": [ 3 | "Kreusada" 4 | ], 5 | "description": "Encode and decode morse code.", 6 | "disabled": false, 7 | "end_user_data_statement": "This cog does not persistently store data or metadata about users.", 8 | "hidden": false, 9 | "install_msg": "Thanks for installing, have fun. Please refer to my docs if you need any help: https://kreusadacogs.readthedocs.io/en/latest/cog_morsecode.html", 10 | "name": "MorseCode", 11 | "required_cogs": {}, 12 | "requirements": [ 13 | "morse3" 14 | ], 15 | "short": "Encode and decode morse code.", 16 | "tags": [ 17 | "Morse", 18 | "Code", 19 | "Encode", 20 | "Decode" 21 | ], 22 | "type": "COG" 23 | } -------------------------------------------------------------------------------- /namegenerator/README.rst: -------------------------------------------------------------------------------- 1 | .. _namegenerator: 2 | 3 | ============= 4 | NameGenerator 5 | ============= 6 | 7 | This is the cog guide for the 'NameGenerator' cog. This guide 8 | contains the collection of commands which you can use in the cog. 9 | 10 | Through this guide, ``[p]`` will always represent your prefix. Replace 11 | ``[p]`` with your own prefix when you use these commands in Discord. 12 | 13 | .. note:: 14 | 15 | This guide was last updated for version 1.0.0. Ensure 16 | that you are up to date by running ``[p]cog update namegenerator``. 17 | 18 | If there is something missing, or something that needs improving 19 | in this documentation, feel free to create an issue `here `_. 20 | 21 | This documentation is auto-generated everytime this cog receives an update. 22 | 23 | -------------- 24 | About this cog 25 | -------------- 26 | 27 | Generate names. 28 | 29 | -------- 30 | Commands 31 | -------- 32 | 33 | Here are all the commands included in this cog (1): 34 | 35 | +----------------+-----------------+ 36 | | Command | Help | 37 | +================+=================+ 38 | | ``[p]namegen`` | Generate names. | 39 | +----------------+-----------------+ 40 | 41 | ------------ 42 | Installation 43 | ------------ 44 | 45 | If you haven't added my repo before, lets add it first. We'll call it 46 | "kreusada-cogs" here. 47 | 48 | .. code-block:: 49 | 50 | [p]repo add kreusada-cogs https://github.com/Kreusada/Kreusada-Cogs 51 | 52 | Now, we can install NameGenerator. 53 | 54 | .. code-block:: 55 | 56 | [p]cog install kreusada-cogs namegenerator 57 | 58 | Once it's installed, it is not loaded by default. Load it by running the following 59 | command: 60 | 61 | .. code-block:: 62 | 63 | [p]load namegenerator 64 | 65 | --------------- 66 | Further Support 67 | --------------- 68 | 69 | For more support, head over to the `cog support server `_, 70 | I have my own channel over there at #support_kreusada-cogs. Feel free to join my 71 | `personal server `_ whilst you're here. 72 | -------------------------------------------------------------------------------- /namegenerator/info.json: -------------------------------------------------------------------------------- 1 | { 2 | "author": [ 3 | "Kreusada" 4 | ], 5 | "description": "Generate names.", 6 | "disabled": false, 7 | "end_user_data_statement": "This cog does not persistently store data or metadata about users.", 8 | "hidden": false, 9 | "install_msg": "Thanks for installing, have fun. Please refer to my docs if you need any help: https://kreusadacogs.readthedocs.io/en/latest/cog_namegenerator.html", 10 | "name": "NameGenerator", 11 | "required_cogs": {}, 12 | "requirements": [ 13 | "mimesis" 14 | ], 15 | "short": "Generate names.", 16 | "tags": [ 17 | "Generate", 18 | "Names", 19 | "Encode", 20 | "Decode" 21 | ], 22 | "type": "COG" 23 | } -------------------------------------------------------------------------------- /onthisday/README.rst: -------------------------------------------------------------------------------- 1 | .. _onthisday: 2 | 3 | ========= 4 | OnThisDay 5 | ========= 6 | 7 | This is the cog guide for the 'OnThisDay' cog. This guide 8 | contains the collection of commands which you can use in the cog. 9 | 10 | Through this guide, ``[p]`` will always represent your prefix. Replace 11 | ``[p]`` with your own prefix when you use these commands in Discord. 12 | 13 | .. note:: 14 | 15 | This guide was last updated for version 2.0.0. Ensure 16 | that you are up to date by running ``[p]cog update onthisday``. 17 | 18 | If there is something missing, or something that needs improving 19 | in this documentation, feel free to create an issue `here `_. 20 | 21 | This documentation is auto-generated everytime this cog receives an update. 22 | 23 | -------------- 24 | About this cog 25 | -------------- 26 | 27 | Find out what happened on a certain day, in multiple different years in history. 28 | 29 | -------- 30 | Commands 31 | -------- 32 | 33 | Here are all the commands included in this cog (2): 34 | 35 | +-------------------------+--------------------------------------------------------------------------+ 36 | | Command | Help | 37 | +=========================+==========================================================================+ 38 | | ``[p]onthisday`` | Find out what happened on this day, in various different years! | 39 | | | | 40 | | | If you want to specify your own date, you can do so by using | 41 | | | `[p]onthisday [date]`. | 42 | | | You can also receive a random year by using `[p]onthisday random [day]`. | 43 | +-------------------------+--------------------------------------------------------------------------+ 44 | | ``[p]onthisday random`` | Find out what happened on this day, in a random year. | 45 | | | | 46 | | | If you want to specify your own date, you can do so by using | 47 | | | `[p]onthisday [date]`. | 48 | +-------------------------+--------------------------------------------------------------------------+ 49 | 50 | ------------ 51 | Installation 52 | ------------ 53 | 54 | If you haven't added my repo before, lets add it first. We'll call it 55 | "kreusada-cogs" here. 56 | 57 | .. code-block:: 58 | 59 | [p]repo add kreusada-cogs https://github.com/Kreusada/Kreusada-Cogs 60 | 61 | Now, we can install OnThisDay. 62 | 63 | .. code-block:: 64 | 65 | [p]cog install kreusada-cogs onthisday 66 | 67 | Once it's installed, it is not loaded by default. Load it by running the following 68 | command: 69 | 70 | .. code-block:: 71 | 72 | [p]load onthisday 73 | 74 | --------------- 75 | Further Support 76 | --------------- 77 | 78 | For more support, head over to the `cog support server `_, 79 | I have my own channel over there at #support_kreusada-cogs. Feel free to join my 80 | `personal server `_ whilst you're here. 81 | -------------------------------------------------------------------------------- /onthisday/info.json: -------------------------------------------------------------------------------- 1 | { 2 | "author": [ 3 | "Kreusada" 4 | ], 5 | "description": "Find out what happened today, in multiple different years in history.", 6 | "disabled": false, 7 | "end_user_data_statement": "This cog does not persistently store data or metadata about users.", 8 | "hidden": false, 9 | "install_msg": "Thanks for installing, have fun. Please refer to my docs if you need any help: https://kreusadacogs.readthedocs.io/en/latest/cog_onthisday.html", 10 | "name": "OnThisDay", 11 | "required_cogs": {}, 12 | "requirements": [ 13 | "dateparser" 14 | ], 15 | "short": "Find out what happened today, in multiple different years in history.", 16 | "tags": [ 17 | "On This Day", 18 | "History", 19 | "Year", 20 | "Time", 21 | "Date" 22 | ], 23 | "type": "COG" 24 | } 25 | -------------------------------------------------------------------------------- /pick/README.rst: -------------------------------------------------------------------------------- 1 | .. _pick: 2 | 3 | ==== 4 | Pick 5 | ==== 6 | 7 | This is the cog guide for the 'Pick' cog. This guide 8 | contains the collection of commands which you can use in the cog. 9 | 10 | Through this guide, ``[p]`` will always represent your prefix. Replace 11 | ``[p]`` with your own prefix when you use these commands in Discord. 12 | 13 | .. note:: 14 | 15 | This guide was last updated for version 1.0.1. Ensure 16 | that you are up to date by running ``[p]cog update pick``. 17 | 18 | If there is something missing, or something that needs improving 19 | in this documentation, feel free to create an issue `here `_. 20 | 21 | This documentation is auto-generated everytime this cog receives an update. 22 | 23 | -------------- 24 | About this cog 25 | -------------- 26 | 27 | Pick a random member. 28 | 29 | -------- 30 | Commands 31 | -------- 32 | 33 | Here are all the commands included in this cog (2): 34 | 35 | +---------------+-------------------------------------------------------------------------------------------------+ 36 | | Command | Help | 37 | +===============+=================================================================================================+ 38 | | ``[p]pick`` | Pick a random member. You may supply a role to pick from. | 39 | +---------------+-------------------------------------------------------------------------------------------------+ 40 | | ``[p]pickid`` | Pick a random member, displaying the ID only. You may supply a role to pick from. | 41 | | | | 42 | | | This can be integrated with [nestedcommands by tmerc](https://github.com/tmercswims/tmerc-cogs) | 43 | | | Example of usage: `[p]say Congratulations <@$(pick True)>! You won!` | 44 | +---------------+-------------------------------------------------------------------------------------------------+ 45 | 46 | ------------ 47 | Installation 48 | ------------ 49 | 50 | If you haven't added my repo before, lets add it first. We'll call it 51 | "kreusada-cogs" here. 52 | 53 | .. code-block:: 54 | 55 | [p]repo add kreusada-cogs https://github.com/Kreusada/Kreusada-Cogs 56 | 57 | Now, we can install Pick. 58 | 59 | .. code-block:: 60 | 61 | [p]cog install kreusada-cogs pick 62 | 63 | Once it's installed, it is not loaded by default. Load it by running the following 64 | command: 65 | 66 | .. code-block:: 67 | 68 | [p]load pick 69 | 70 | --------------- 71 | Further Support 72 | --------------- 73 | 74 | For more support, head over to the `cog support server `_, 75 | I have my own channel over there at #support_kreusada-cogs. Feel free to join my 76 | `personal server `_ whilst you're here. 77 | -------------------------------------------------------------------------------- /pick/__init__.py: -------------------------------------------------------------------------------- 1 | import random 2 | from typing import Optional 3 | 4 | import discord 5 | from redbot.core import commands 6 | from redbot.core.utils import get_end_user_data_statement 7 | from redbot.core.utils.chat_formatting import inline 8 | 9 | __red_end_user_data_statement__ = get_end_user_data_statement(__file__) 10 | 11 | 12 | class Pick(commands.Cog): 13 | """Pick a random member.""" 14 | 15 | __version__ = "1.0.1" 16 | __author__ = "Kreusada, saurichable, AAA3A" 17 | 18 | async def red_delete_data_for_user(self, **kwargs): 19 | # nothing to delete 20 | return 21 | 22 | def format_help_for_context(self, ctx: commands.Context) -> str: 23 | context = super().format_help_for_context(ctx) 24 | return f"{context}\n\nVersion: {self.__version__}\nAuthors : {self.__author__}" 25 | 26 | @commands.command() 27 | @commands.guild_only() 28 | async def pick(self, ctx: commands.Context, *, role: Optional[discord.Role] = None): 29 | """Pick a random member. You may supply a role to pick from.""" 30 | role = role or ctx.guild.default_role 31 | if not role.members: 32 | return await ctx.send("That role has no members to pick from.") 33 | winner = random.choice(role.members) 34 | embed = discord.Embed( 35 | description=f"- Mention: {winner.mention} ({inline(winner.mention)})\n- ID: {winner.id}", 36 | colour=await ctx.embed_colour(), 37 | ) 38 | embed.set_image(url=winner.banner.url if winner.banner else None) 39 | embed.add_field( 40 | name="Chosen amongst:", 41 | value=f"{role.mention} ({role.id})" if role != ctx.guild.default_role else "Everyone", 42 | ) 43 | embed.set_author(name=winner, icon_url=winner.avatar.url if winner.avatar else None) 44 | await ctx.send(embed=embed) 45 | 46 | @commands.command() 47 | @commands.guild_only() 48 | async def pickid(self, ctx: commands.Context, *, role: Optional[discord.Role] = None): 49 | """Pick a random member, displaying the ID only. You may supply a role to pick from. 50 | 51 | This can be integrated with [nestedcommands by tmerc](https://github.com/tmercswims/tmerc-cogs) 52 | Example of usage: `[p]say Congratulations <@$(pick True)>! You won!` 53 | """ 54 | if not role.members: 55 | return await ctx.send("That role has no members to pick from.") 56 | await ctx.send(str(random.choice((role or ctx.guild.default_role).members).id)) 57 | 58 | 59 | async def setup(bot): 60 | cog = Pick() 61 | await bot.add_cog(cog) 62 | -------------------------------------------------------------------------------- /pick/info.json: -------------------------------------------------------------------------------- 1 | { 2 | "author" : ["Kreusada", "saurichable", "AAA3A"], 3 | "install_msg": "Thanks for installing, have fun. Please refer to my docs if you need any help: https://kreusadacogs.readthedocs.io/en/latest/cog_pick.html", 4 | "name" : "Pick", 5 | "short" : "Pick a random member.", 6 | "description" : "Pick a random member.", 7 | "tags" : ["pick", "random", "member", "nestedcommands"], 8 | "end_user_data_statement": "This cog does not store any user data." 9 | } 10 | -------------------------------------------------------------------------------- /pypi/README.rst: -------------------------------------------------------------------------------- 1 | .. _pypi: 2 | 3 | ==== 4 | PyPi 5 | ==== 6 | 7 | This is the cog guide for the 'PyPi' cog. This guide 8 | contains the collection of commands which you can use in the cog. 9 | 10 | Through this guide, ``[p]`` will always represent your prefix. Replace 11 | ``[p]`` with your own prefix when you use these commands in Discord. 12 | 13 | .. note:: 14 | 15 | This guide was last updated for version 1.1.1. Ensure 16 | that you are up to date by running ``[p]cog update pypi``. 17 | 18 | If there is something missing, or something that needs improving 19 | in this documentation, feel free to create an issue `here `_. 20 | 21 | This documentation is auto-generated everytime this cog receives an update. 22 | 23 | -------------- 24 | About this cog 25 | -------------- 26 | 27 | Get information about a package available on PyPi. 28 | 29 | -------- 30 | Commands 31 | -------- 32 | 33 | Here are all the commands included in this cog (1): 34 | 35 | +-------------+------------------------------------------+ 36 | | Command | Help | 37 | +=============+==========================================+ 38 | | ``[p]pypi`` | Get information about a project on PyPi. | 39 | +-------------+------------------------------------------+ 40 | 41 | ------------ 42 | Installation 43 | ------------ 44 | 45 | If you haven't added my repo before, lets add it first. We'll call it 46 | "kreusada-cogs" here. 47 | 48 | .. code-block:: 49 | 50 | [p]repo add kreusada-cogs https://github.com/Kreusada/Kreusada-Cogs 51 | 52 | Now, we can install PyPi. 53 | 54 | .. code-block:: 55 | 56 | [p]cog install kreusada-cogs pypi 57 | 58 | Once it's installed, it is not loaded by default. Load it by running the following 59 | command: 60 | 61 | .. code-block:: 62 | 63 | [p]load pypi 64 | 65 | --------------- 66 | Further Support 67 | --------------- 68 | 69 | For more support, head over to the `cog support server `_, 70 | I have my own channel over there at #support_kreusada-cogs. Feel free to join my 71 | `personal server `_ whilst you're here. 72 | -------------------------------------------------------------------------------- /pypi/__init__.py: -------------------------------------------------------------------------------- 1 | from redbot.core.bot import Red 2 | from redbot.core.utils import get_end_user_data_statement 3 | 4 | from .pypi import PyPi 5 | 6 | __red_end_user_data_statement__ = get_end_user_data_statement(__file__) 7 | 8 | 9 | async def setup(bot: Red): 10 | await bot.add_cog(PyPi(bot)) 11 | -------------------------------------------------------------------------------- /pypi/info.json: -------------------------------------------------------------------------------- 1 | { 2 | "author": [ 3 | "Kreusada", 4 | "OofChair" 5 | ], 6 | "description": "Get information about a package available on PyPi.", 7 | "install_msg": "Thanks for installing, have fun. Please refer to my docs if you need any help: https://kreusadacogs.readthedocs.io/en/latest/cog_pypi.html", 8 | "short": "Get information about a package available on PyPi.", 9 | "name": "PyPi", 10 | "tags": [ 11 | "Python", 12 | "Modules", 13 | "Library", 14 | "Libraries", 15 | "Index" 16 | ], 17 | "type": "COG", 18 | "requirements": [], 19 | "end_user_data_statement": "This cog does not persistently store data or metadata about users." 20 | } 21 | -------------------------------------------------------------------------------- /pypi/utils.py: -------------------------------------------------------------------------------- 1 | import math 2 | from typing import Dict 3 | 4 | import discord 5 | from discord.ui import Button, View 6 | 7 | 8 | class JumpUrlView(View): 9 | def __init__(self, pypi_url: str, *, project_urls: Dict[str, str]): 10 | super().__init__() 11 | button = Button(label="Page on PyPi", url=pypi_url, row=1) 12 | self.add_item(button) 13 | for index, (name, url) in enumerate(project_urls.items()): 14 | self.add_item(Button(label=name, url=url, row=math.floor(index / 3 + 2))) 15 | -------------------------------------------------------------------------------- /pyproject.toml: -------------------------------------------------------------------------------- 1 | [tool.black] 2 | line-length = 99 3 | target-version = ['py38'] 4 | include = '\.py$' 5 | exclude = ''' 6 | /( 7 | \.eggs 8 | | \.git 9 | | \.hg 10 | | \.mypy_cache 11 | | \.tox 12 | | \.venv 13 | | _build 14 | | buck-out 15 | | build 16 | | dist 17 | )/ 18 | ''' 19 | 20 | [tool.isort] 21 | profile = 'black' 22 | line_length = 99 23 | atomic = true 24 | sections = ['FUTURE','STDLIB','FIRSTPARTY','THIRDPARTY','LOCALFOLDER'] 25 | known_third_party = ['discord', 'redbot'] 26 | known_first_party = [ 27 | 'blackformatter', 28 | 'cocktail', 29 | 'cogpaths', 30 | 'colour', 31 | 'consoleclearer', 32 | 'counting', 33 | 'didyoumean', 34 | 'embedcreator', 35 | 'flags', 36 | 'gallery', 37 | 'higherorlower', 38 | 'lock', 39 | 'mentionable', 40 | 'messagedeleter', 41 | 'minifier', 42 | 'morsecode', 43 | 'namegenerator', 44 | 'onthisday', 45 | 'pick', 46 | 'pypi', 47 | 'qr', 48 | 'quotes', 49 | 'rhymes', 50 | 'riddles', 51 | 'roleboards', 52 | 'termino', 53 | 'texteditor', 54 | 'textfont', 55 | 'tonguetwisters', 56 | 'timestamps', 57 | 'unicodelookup', 58 | ] 59 | -------------------------------------------------------------------------------- /qr/README.rst: -------------------------------------------------------------------------------- 1 | .. _qr: 2 | 3 | == 4 | QR 5 | == 6 | 7 | This is the cog guide for the 'QR' cog. This guide 8 | contains the collection of commands which you can use in the cog. 9 | 10 | Through this guide, ``[p]`` will always represent your prefix. Replace 11 | ``[p]`` with your own prefix when you use these commands in Discord. 12 | 13 | .. note:: 14 | 15 | This guide was last updated for version 1.2.0. Ensure 16 | that you are up to date by running ``[p]cog update qr``. 17 | 18 | If there is something missing, or something that needs improving 19 | in this documentation, feel free to create an issue `here `_. 20 | 21 | This documentation is auto-generated everytime this cog receives an update. 22 | 23 | -------------- 24 | About this cog 25 | -------------- 26 | 27 | Generate a QR code. 28 | 29 | -------- 30 | Commands 31 | -------- 32 | 33 | Here are all the commands included in this cog (1): 34 | 35 | +-----------+--------------------------------------------------------------------------------+ 36 | | Command | Help | 37 | +===========+================================================================================+ 38 | | ``[p]qr`` | Create a QR code from text. | 39 | | | | 40 | | | When you scan this QR code, it will take you to google with the text query, | 41 | | | or the website if you provide a website. That's essentially how QR codes work. | 42 | +-----------+--------------------------------------------------------------------------------+ 43 | 44 | ------------ 45 | Installation 46 | ------------ 47 | 48 | If you haven't added my repo before, lets add it first. We'll call it 49 | "kreusada-cogs" here. 50 | 51 | .. code-block:: 52 | 53 | [p]repo add kreusada-cogs https://github.com/Kreusada/Kreusada-Cogs 54 | 55 | Now, we can install QR. 56 | 57 | .. code-block:: 58 | 59 | [p]cog install kreusada-cogs qr 60 | 61 | Once it's installed, it is not loaded by default. Load it by running the following 62 | command: 63 | 64 | .. code-block:: 65 | 66 | [p]load qr 67 | 68 | --------------- 69 | Further Support 70 | --------------- 71 | 72 | For more support, head over to the `cog support server `_, 73 | I have my own channel over there at #support_kreusada-cogs. Feel free to join my 74 | `personal server `_ whilst you're here. 75 | -------------------------------------------------------------------------------- /qr/__init__.py: -------------------------------------------------------------------------------- 1 | from redbot.core.bot import Red 2 | from redbot.core.utils import get_end_user_data_statement 3 | 4 | from .qr import QR 5 | 6 | __red_end_user_data_statement__ = get_end_user_data_statement(__file__) 7 | 8 | 9 | async def setup(bot: Red): 10 | await bot.add_cog(QR(bot)) 11 | -------------------------------------------------------------------------------- /qr/info.json: -------------------------------------------------------------------------------- 1 | { 2 | "author": [ 3 | "Kreusada" 4 | ], 5 | "description": "[Beta] Generate QR codes.", 6 | "disabled": false, 7 | "end_user_data_statement": "This cog does not persistently store data or metadata about users.", 8 | "hidden": false, 9 | "install_msg": "Thanks for installing, have fun. Please refer to my docs if you need any help: https://kreusadacogs.readthedocs.io/en/latest/cog_qr.html", 10 | "name": "QR", 11 | "required_cogs": {}, 12 | "requirements": [ 13 | "qrcode" 14 | ], 15 | "short": "[Beta] Generate QR codes.", 16 | "tags": [ 17 | "Codes", 18 | "Images", 19 | "PIL", 20 | "Pillow", 21 | "QR" 22 | ], 23 | "type": "COG" 24 | } 25 | -------------------------------------------------------------------------------- /quotes/README.rst: -------------------------------------------------------------------------------- 1 | .. _quotes: 2 | 3 | ====== 4 | Quotes 5 | ====== 6 | 7 | This is the cog guide for the 'Quotes' cog. This guide 8 | contains the collection of commands which you can use in the cog. 9 | 10 | Through this guide, ``[p]`` will always represent your prefix. Replace 11 | ``[p]`` with your own prefix when you use these commands in Discord. 12 | 13 | .. note:: 14 | 15 | This guide was last updated for version 1.3.1. Ensure 16 | that you are up to date by running ``[p]cog update quotes``. 17 | 18 | If there is something missing, or something that needs improving 19 | in this documentation, feel free to create an issue `here `_. 20 | 21 | This documentation is auto-generated everytime this cog receives an update. 22 | 23 | -------------- 24 | About this cog 25 | -------------- 26 | 27 | Get a random quote. 28 | 29 | -------- 30 | Commands 31 | -------- 32 | 33 | Here are all the commands included in this cog (1): 34 | 35 | +--------------+---------------------+ 36 | | Command | Help | 37 | +==============+=====================+ 38 | | ``[p]quote`` | Get a random quote. | 39 | +--------------+---------------------+ 40 | 41 | ------------ 42 | Installation 43 | ------------ 44 | 45 | If you haven't added my repo before, lets add it first. We'll call it 46 | "kreusada-cogs" here. 47 | 48 | .. code-block:: 49 | 50 | [p]repo add kreusada-cogs https://github.com/Kreusada/Kreusada-Cogs 51 | 52 | Now, we can install Quotes. 53 | 54 | .. code-block:: 55 | 56 | [p]cog install kreusada-cogs quotes 57 | 58 | Once it's installed, it is not loaded by default. Load it by running the following 59 | command: 60 | 61 | .. code-block:: 62 | 63 | [p]load quotes 64 | 65 | --------------- 66 | Further Support 67 | --------------- 68 | 69 | For more support, head over to the `cog support server `_, 70 | I have my own channel over there at #support_kreusada-cogs. Feel free to join my 71 | `personal server `_ whilst you're here. 72 | -------------------------------------------------------------------------------- /quotes/__init__.py: -------------------------------------------------------------------------------- 1 | from redbot.core.bot import Red 2 | from redbot.core.utils import get_end_user_data_statement 3 | 4 | from .quotes import Quotes 5 | 6 | __red_end_user_data_statement__ = get_end_user_data_statement(__file__) 7 | 8 | 9 | async def setup(bot: Red): 10 | await bot.add_cog(Quotes(bot)) 11 | -------------------------------------------------------------------------------- /quotes/info.json: -------------------------------------------------------------------------------- 1 | { 2 | "author": [ 3 | "Kreusada" 4 | ], 5 | "description": "Get a random quote.", 6 | "disabled": false, 7 | "end_user_data_statement": "This cog does not persistently store data or metadata about users.", 8 | "hidden": false, 9 | "install_msg": "Thanks for installing, have fun. Please refer to my docs if you need any help: https://kreusadacogs.readthedocs.io/en/latest/cog_quotes.html", 10 | "name": "Quotes", 11 | "required_cogs": {}, 12 | "requirements": [], 13 | "short": "Get a random quote.", 14 | "tags": [ 15 | "Quotes", 16 | "QOTD" 17 | ], 18 | "type": "COG" 19 | } 20 | -------------------------------------------------------------------------------- /quotes/quotes.py: -------------------------------------------------------------------------------- 1 | import ssl 2 | 3 | import aiohttp 4 | from redbot.core import commands 5 | from redbot.core.bot import Red 6 | from redbot.core.utils.chat_formatting import bold, warning 7 | 8 | 9 | class Quotes(commands.Cog): 10 | """Get a random quote.""" 11 | 12 | __version__ = "1.3.1" 13 | __author__ = "Kreusada" 14 | 15 | def __init__(self, bot: Red): 16 | self.bot = bot 17 | self.api = "https://zenquotes.io/api/random" 18 | self.session = aiohttp.ClientSession() 19 | 20 | async def cog_unload(self): 21 | await self.session.close() 22 | 23 | def format_help_for_context(self, ctx: commands.Context) -> str: 24 | context = super().format_help_for_context(ctx) 25 | return f"{context}\n\nAuthor: {self.__author__}\nVersion: {self.__version__}" 26 | 27 | async def red_delete_data_for_user(self, **kwargs): 28 | """Nothing to delete.""" 29 | return 30 | 31 | @commands.command() 32 | async def quote(self, ctx: commands.Context): 33 | """Get a random quote.""" 34 | await ctx.typing() 35 | async with self.session.get(self.api, ssl=False) as r: 36 | content = (await r.json())[0] 37 | await ctx.send(f"From **{content['a']}**\n{content['q']}") 38 | -------------------------------------------------------------------------------- /rhymes/README.rst: -------------------------------------------------------------------------------- 1 | .. _rhymes: 2 | 3 | ====== 4 | Rhymes 5 | ====== 6 | 7 | This is the cog guide for the 'Rhymes' cog. This guide 8 | contains the collection of commands which you can use in the cog. 9 | 10 | Through this guide, ``[p]`` will always represent your prefix. Replace 11 | ``[p]`` with your own prefix when you use these commands in Discord. 12 | 13 | .. note:: 14 | 15 | This guide was last updated for version 1.0.0. Ensure 16 | that you are up to date by running ``[p]cog update rhymes``. 17 | 18 | If there is something missing, or something that needs improving 19 | in this documentation, feel free to create an issue `here `_. 20 | 21 | This documentation is auto-generated everytime this cog receives an update. 22 | 23 | -------------- 24 | About this cog 25 | -------------- 26 | 27 | Generate rhymes. 28 | 29 | -------- 30 | Commands 31 | -------- 32 | 33 | Here are all the commands included in this cog (1): 34 | 35 | +---------------+------------------------+ 36 | | Command | Help | 37 | +===============+========================+ 38 | | ``[p]rhymes`` | Get rhymes for a word. | 39 | +---------------+------------------------+ 40 | 41 | ------------ 42 | Installation 43 | ------------ 44 | 45 | If you haven't added my repo before, lets add it first. We'll call it 46 | "kreusada-cogs" here. 47 | 48 | .. code-block:: 49 | 50 | [p]repo add kreusada-cogs https://github.com/Kreusada/Kreusada-Cogs 51 | 52 | Now, we can install Rhymes. 53 | 54 | .. code-block:: 55 | 56 | [p]cog install kreusada-cogs rhymes 57 | 58 | Once it's installed, it is not loaded by default. Load it by running the following 59 | command: 60 | 61 | .. code-block:: 62 | 63 | [p]load rhymes 64 | 65 | --------------- 66 | Further Support 67 | --------------- 68 | 69 | For more support, head over to the `cog support server `_, 70 | I have my own channel over there at #support_kreusada-cogs. Feel free to join my 71 | `personal server `_ whilst you're here. 72 | -------------------------------------------------------------------------------- /rhymes/__init__.py: -------------------------------------------------------------------------------- 1 | import aiohttp 2 | import discord 3 | from redbot.core import Config, commands 4 | from redbot.core.bot import Red 5 | from redbot.core.utils import get_end_user_data_statement 6 | 7 | __red_end_user_data_statement__ = get_end_user_data_statement(__file__) 8 | 9 | 10 | def chunks(l, n): 11 | for i in range(0, len(l), n): 12 | yield l[i : i + n] 13 | 14 | 15 | class Rhymes(commands.Cog): 16 | """Generate rhymes.""" 17 | 18 | __author__ = "Kreusada" 19 | __version__ = "1.0.0" 20 | 21 | def __init__(self, bot: Red): 22 | self.bot = bot 23 | self.config = Config.get_conf(self, 408953096836490568, True) 24 | self.config.register_global(blocked_words=[]) 25 | self.session = aiohttp.ClientSession() 26 | 27 | def format_help_for_context(self, ctx: commands.Context) -> str: 28 | context = super().format_help_for_context(ctx) 29 | return f"{context}\n\nAuthor: {self.__author__}\nVersion: {self.__version__}" 30 | 31 | async def cog_unload(self): 32 | await self.session.close() 33 | 34 | async def red_delete_data_for_user(self, **kwargs): 35 | return 36 | 37 | @commands.command() 38 | @commands.has_permissions(embed_links=True) 39 | async def rhymes(self, ctx: commands.Context, word: str): 40 | """Get rhymes for a word.""" 41 | await ctx.typing() 42 | async with self.session.get("https://api.datamuse.com/words?rel_rhy=" + word) as session: 43 | data = await session.json() 44 | embed = discord.Embed( 45 | title=f"Words rhyming with '{word.lower()}' ({len(data)})", 46 | colour=await ctx.embed_colour(), 47 | ) 48 | for rhymes in [["- " + rhyme["word"] for rhyme in chunk] for chunk in chunks(data, 10)]: 49 | embed.add_field(name="\u2800", value="\n".join(rhymes)) 50 | await ctx.send(embed=embed) 51 | 52 | 53 | async def setup(bot: Red): 54 | await bot.add_cog(Rhymes(bot)) 55 | -------------------------------------------------------------------------------- /rhymes/info.json: -------------------------------------------------------------------------------- 1 | { 2 | "author": [ 3 | "Kreusada" 4 | ], 5 | "description": "Generate rhymes, use a reverse dictionary, and more word related generators.", 6 | "disabled": false, 7 | "end_user_data_statement": "This cog does not persistently store data or metadata about users.", 8 | "hidden": false, 9 | "install_msg": "Thanks for installing, have fun. Please refer to my docs if you need any help: https://kreusadacogs.readthedocs.io/en/latest/cog_wordbase.html\n\n**WARNING:** This cog can retrieve explicit words/swear words. If you are unhappy with one of these words, please block them using `[p]wordbase block`. Don't worry, the N word doesn't appear - but others do such as ||fuck|| and ||wh*re|| from my testing. It's in your best interest to block these words if they are unwanted.", 10 | "name": "WordBase", 11 | "required_cogs": {}, 12 | "requirements": [], 13 | "short": "Generate rhymes, use a reverse dictionary, and more word related generators.", 14 | "tags": [ 15 | "Reverse Dictionary", 16 | "Rhyme", 17 | "Rhyming", 18 | "Consonants", 19 | "Homophones", 20 | "Triggers" 21 | ], 22 | "type": "COG" 23 | } 24 | -------------------------------------------------------------------------------- /riddles/README.rst: -------------------------------------------------------------------------------- 1 | .. _riddles: 2 | 3 | ======= 4 | Riddles 5 | ======= 6 | 7 | This is the cog guide for the 'Riddles' cog. This guide 8 | contains the collection of commands which you can use in the cog. 9 | 10 | Through this guide, ``[p]`` will always represent your prefix. Replace 11 | ``[p]`` with your own prefix when you use these commands in Discord. 12 | 13 | .. note:: 14 | 15 | This guide was last updated for version 1.0.1. Ensure 16 | that you are up to date by running ``[p]cog update riddles``. 17 | 18 | If there is something missing, or something that needs improving 19 | in this documentation, feel free to create an issue `here `_. 20 | 21 | This documentation is auto-generated everytime this cog receives an update. 22 | 23 | -------------- 24 | About this cog 25 | -------------- 26 | 27 | Get a random riddle. 28 | 29 | -------- 30 | Commands 31 | -------- 32 | 33 | Here are all the commands included in this cog (1): 34 | 35 | +---------------+----------------------+ 36 | | Command | Help | 37 | +===============+======================+ 38 | | ``[p]riddle`` | Get a random riddle. | 39 | +---------------+----------------------+ 40 | 41 | ------------ 42 | Installation 43 | ------------ 44 | 45 | If you haven't added my repo before, lets add it first. We'll call it 46 | "kreusada-cogs" here. 47 | 48 | .. code-block:: 49 | 50 | [p]repo add kreusada-cogs https://github.com/Kreusada/Kreusada-Cogs 51 | 52 | Now, we can install Riddles. 53 | 54 | .. code-block:: 55 | 56 | [p]cog install kreusada-cogs riddles 57 | 58 | Once it's installed, it is not loaded by default. Load it by running the following 59 | command: 60 | 61 | .. code-block:: 62 | 63 | [p]load riddles 64 | 65 | --------------- 66 | Further Support 67 | --------------- 68 | 69 | For more support, head over to the `cog support server `_, 70 | I have my own channel over there at #support_kreusada-cogs. Feel free to join my 71 | `personal server `_ whilst you're here. 72 | -------------------------------------------------------------------------------- /riddles/__init__.py: -------------------------------------------------------------------------------- 1 | from redbot.core.bot import Red 2 | from redbot.core.utils import get_end_user_data_statement 3 | 4 | from .riddles import Riddles 5 | 6 | __red_end_user_data_statement__ = get_end_user_data_statement(__file__) 7 | 8 | 9 | async def setup(bot: Red): 10 | await bot.add_cog(Riddles()) 11 | -------------------------------------------------------------------------------- /riddles/info.json: -------------------------------------------------------------------------------- 1 | { 2 | "author": [ 3 | "Kreusada", 4 | "MeatyChunks" 5 | ], 6 | "description": "Get a random riddle.", 7 | "disabled": false, 8 | "end_user_data_statement": "This cog does not persistently store data or metadata about users.", 9 | "hidden": false, 10 | "install_msg": "Thanks for installing, have fun. Please refer to my docs if you need any help: https://kreusadacogs.readthedocs.io/en/latest/cog_riddles.html", 11 | "name": "Riddles", 12 | "required_cogs": {}, 13 | "requirements": [], 14 | "short": "Get a random riddle.", 15 | "tags": [ 16 | "Riddles" 17 | ], 18 | "type": "COG" 19 | } 20 | -------------------------------------------------------------------------------- /roleboards/__init__.py: -------------------------------------------------------------------------------- 1 | from redbot.core.bot import Red 2 | from redbot.core.utils import get_end_user_data_statement 3 | 4 | from .roleboards import RoleBoards 5 | 6 | __red_end_user_data_statement__ = get_end_user_data_statement(__file__) 7 | 8 | 9 | async def setup(bot: Red): 10 | await bot.add_cog(RoleBoards(bot)) 11 | -------------------------------------------------------------------------------- /roleboards/info.json: -------------------------------------------------------------------------------- 1 | { 2 | "author": [ 3 | "Kreusada" 4 | ], 5 | "description": "Get 'leaderboards' about guild roles, such as the users with the most roles, the roles with the most users, and a full list of all the roles.", 6 | "disabled": false, 7 | "end_user_data_statement": "This cog does not persistently store data or metadata about users.", 8 | "hidden": false, 9 | "install_msg": "Thanks for installing, have fun. Please refer to my docs if you need any help: https://kreusadacogs.readthedocs.io/en/latest/cog_roleboards.html", 10 | "name": "RoleBoards", 11 | "required_cogs": {}, 12 | "requirements": [], 13 | "short": "Get 'leaderboards' about guild roles.", 14 | "tags": [ 15 | "Roles", 16 | "List", 17 | "Users", 18 | "Most", 19 | "Leaderboards" 20 | ], 21 | "type": "COG" 22 | } 23 | -------------------------------------------------------------------------------- /roleboards/roleboards.py: -------------------------------------------------------------------------------- 1 | from redbot.core import commands 2 | from redbot.core.bot import Red 3 | from redbot.core.utils.views import SimpleMenu 4 | 5 | from .utils import ValidRoleIndex, ValidUserIndex, format_embed_pages, get_members, get_roles 6 | 7 | roleboard_perms = commands.bot_has_permissions(embed_links=True, add_reactions=True) 8 | 9 | 10 | class RoleBoards(commands.Cog): 11 | """ 12 | Get 'leaderboards' about guild roles, such as the users with the most roles 13 | and the roles with the most users. 14 | """ 15 | 16 | __author__ = "Kreusada" 17 | __version__ = "3.2.1" 18 | 19 | def __init__(self, bot: Red): 20 | self.bot = bot 21 | 22 | def format_help_for_context(self, ctx: commands.Context) -> str: 23 | context = super().format_help_for_context(ctx) 24 | return f"{context}\n\nAuthor: {self.__author__}\nVersion: {self.__version__}" 25 | 26 | async def red_delete_data_for_user(self, **kwargs): 27 | return 28 | 29 | @commands.group(aliases=["roleboards", "rb"]) 30 | @commands.guild_only() 31 | async def roleboard(self, ctx: commands.Context): 32 | """Get roleboards for this server..""" 33 | pass 34 | 35 | @roleboard.command(aliases=["topusers"]) 36 | @roleboard_perms 37 | async def topmembers(self, ctx: commands.Context, index: ValidUserIndex): 38 | """Get the members with the most roles. 39 | 40 | **Arguments** 41 | 42 | - ````: The number of members to get the data for. 43 | """ 44 | data = get_members(ctx.guild, index=index) 45 | pages = format_embed_pages( 46 | ctx, data=data, data_type="members", embed_colour=await ctx.embed_colour() 47 | ) 48 | menu = SimpleMenu(pages, use_select_menu=True) 49 | await menu.start(ctx) 50 | 51 | @roleboard.command() 52 | @roleboard_perms 53 | async def toproles(self, ctx: commands.Context, index: ValidRoleIndex): 54 | """Get the roles with the most members. 55 | 56 | **Arguments** 57 | 58 | - ````: The number of roles to get the data for. 59 | """ 60 | data = get_roles(ctx.guild, index=index) 61 | pages = format_embed_pages( 62 | ctx, data=data, data_type="roles", embed_colour=await ctx.embed_colour() 63 | ) 64 | menu = SimpleMenu(pages, use_select_menu=True) 65 | await menu.start(ctx) 66 | -------------------------------------------------------------------------------- /roleboards/utils.py: -------------------------------------------------------------------------------- 1 | from typing import List, Literal, Tuple 2 | 3 | import discord 4 | from redbot.core.commands import BadArgument, Context, Converter 5 | from redbot.core.utils.chat_formatting import box 6 | 7 | 8 | class ValidRoleIndex(Converter): 9 | async def convert(self, ctx: Context, argument): 10 | try: 11 | argument = int(argument) 12 | except ValueError: 13 | raise BadArgument("Please provide an integer.") 14 | if argument > (len(ctx.guild.roles) - 1): 15 | raise BadArgument( 16 | "Please provide an index lower than the number of roles in this guild." 17 | ) 18 | return argument 19 | 20 | 21 | class ValidUserIndex(Converter): 22 | async def convert(self, ctx: Context, argument): 23 | try: 24 | argument = int(argument) 25 | except ValueError: 26 | raise BadArgument("Please provide an integer.") 27 | if argument > len(ctx.guild.members): 28 | raise BadArgument( 29 | "Please provide an index lower than the number of users in this guild." 30 | ) 31 | return argument 32 | 33 | 34 | def format_embed_pages( 35 | ctx: Context, 36 | *, 37 | data: List[Tuple[str, int]], 38 | data_type: Literal["roles", "members"], 39 | embed_colour: discord.Colour, 40 | ): 41 | pages = [] 42 | enum = 1 43 | two_digits = lambda x: f"0{x}" if len(str(x)) == 1 else x 44 | reverse_types = {"roles": "members", "members": "roles"} 45 | total_data = len(getattr(ctx.guild, data_type)) 46 | 47 | if data_type == "roles": 48 | total_data -= 1 # @everyone 49 | 50 | for sector in data: 51 | description = "\n".join( 52 | f"#{two_digits(c)} [{two_digits(v[1])}] {v[0]}" for c, v in enumerate(sector, enum) 53 | ) 54 | embed = discord.Embed( 55 | title=f"{data_type.capitalize()} with the most {reverse_types[data_type]}", 56 | description=box(description, lang="css"), 57 | color=embed_colour, 58 | ) 59 | 60 | embed.set_footer(text=f"Page {data.index(sector)+1}/{len(data)}") 61 | 62 | embed.set_author( 63 | name=ctx.guild.name + f" | {total_data} {data_type}", icon_url=ctx.guild.icon.url if ctx.guild.icon else None 64 | ) 65 | 66 | pages.append(embed) 67 | enum += 10 68 | 69 | return pages 70 | 71 | 72 | def yield_chunks(l, n): 73 | for i in range(0, len(l), n): 74 | yield l[i : i + n] 75 | 76 | 77 | def get_roles(guild: discord.Guild, *, index: int): 78 | key = lambda x: len(x.members) 79 | roles = [r for r in guild.roles if r.id != guild.id] # exclude @everyone 80 | top_roles = sorted(roles, key=key, reverse=True) 81 | data = [(x.name, len(x.members)) for x in top_roles[:index]] 82 | return list(yield_chunks(data, 10)) 83 | 84 | 85 | def get_members(guild: discord.Guild, *, index: int): 86 | key = lambda x: len(x.roles) 87 | top_members = sorted([x for x in guild.members], key=key, reverse=True) 88 | data = [(x.display_name, len(x.roles) - 1) for x in top_members[:index]] 89 | return list(yield_chunks(data, 10)) 90 | -------------------------------------------------------------------------------- /sendcards/README.rst: -------------------------------------------------------------------------------- 1 | .. _sendcards: 2 | 3 | ========= 4 | SendCards 5 | ========= 6 | 7 | This is the cog guide for the 'SendCards' cog. This guide 8 | contains the collection of commands which you can use in the cog. 9 | 10 | Through this guide, ``[p]`` will always represent your prefix. Replace 11 | ``[p]`` with your own prefix when you use these commands in Discord. 12 | 13 | .. note:: 14 | 15 | This guide was last updated for version 1.0.2. Ensure 16 | that you are up to date by running ``[p]cog update sendcards``. 17 | 18 | If there is something missing, or something that needs improving 19 | in this documentation, feel free to create an issue `here `_. 20 | 21 | This documentation is auto-generated everytime this cog receives an update. 22 | 23 | -------------- 24 | About this cog 25 | -------------- 26 | 27 | Send cards to other users! (Christmas, birthday, get well soon, etc...) 28 | 29 | -------- 30 | Commands 31 | -------- 32 | 33 | Here are all the commands included in this cog (2): 34 | 35 | +-----------------------+-----------------------------------------------------------------------------+ 36 | | Command | Help | 37 | +=======================+=============================================================================+ 38 | | ``[p]sendcard`` | Send a card to a user. | 39 | | | | 40 | | | The bot must share a server with the recipient. Provide | 41 | | | a user ID, mention, or username. The command will ask you further questions | 42 | | | in order to get information for the card. | 43 | +-----------------------+-----------------------------------------------------------------------------+ 44 | | ``[p]sendcard types`` | List all the different card types. | 45 | +-----------------------+-----------------------------------------------------------------------------+ 46 | 47 | ------------ 48 | Installation 49 | ------------ 50 | 51 | If you haven't added my repo before, lets add it first. We'll call it 52 | "kreusada-cogs" here. 53 | 54 | .. code-block:: 55 | 56 | [p]repo add kreusada-cogs https://github.com/Kreusada/Kreusada-Cogs 57 | 58 | Now, we can install SendCards. 59 | 60 | .. code-block:: 61 | 62 | [p]cog install kreusada-cogs sendcards 63 | 64 | Once it's installed, it is not loaded by default. Load it by running the following 65 | command: 66 | 67 | .. code-block:: 68 | 69 | [p]load sendcards 70 | 71 | --------------- 72 | Further Support 73 | --------------- 74 | 75 | For more support, head over to the `cog support server `_, 76 | I have my own channel over there at #support_kreusada-cogs. Feel free to join my 77 | `personal server `_ whilst you're here. 78 | -------------------------------------------------------------------------------- /sendcards/__init__.py: -------------------------------------------------------------------------------- 1 | from redbot.core.bot import Red 2 | from redbot.core.utils import get_end_user_data_statement 3 | 4 | from .sendcards import SendCards 5 | 6 | __red_end_user_data_statement__ = get_end_user_data_statement(__file__) 7 | 8 | 9 | async def setup(bot: Red): 10 | await bot.add_cog(SendCards(bot)) 11 | -------------------------------------------------------------------------------- /sendcards/info.json: -------------------------------------------------------------------------------- 1 | { 2 | "author": [ 3 | "Kreusada" 4 | ], 5 | "description": "Send cards to other users (Christmas, birthday, get well soon, etc...)", 6 | "disabled": false, 7 | "end_user_data_statement": "This cog does not persistently store data or metadata about users.", 8 | "hidden": false, 9 | "install_msg": "Thanks for installing, have fun. Please refer to my docs if you need any help: https://kreusadacogs.readthedocs.io/en/latest/cog_sendcards.html", 10 | "name": "SendCards", 11 | "required_cogs": {}, 12 | "requirements": [], 13 | "short": "Send cards to other users", 14 | "tags": [ 15 | "Cards", 16 | "Christmas", 17 | "Birthday", 18 | "Halloween", 19 | "Message", 20 | "DMs" 21 | ], 22 | "type": "COG" 23 | } 24 | -------------------------------------------------------------------------------- /termino/__init__.py: -------------------------------------------------------------------------------- 1 | from redbot.core.bot import Red 2 | from redbot.core.utils import get_end_user_data_statement 3 | 4 | from .termino import setup 5 | 6 | __red_end_user_data_statement__ = get_end_user_data_statement(__file__) 7 | -------------------------------------------------------------------------------- /termino/info.json: -------------------------------------------------------------------------------- 1 | { 2 | "author": [ 3 | "Kreusada", 4 | "Jojo#7791" 5 | ], 6 | "description": "Customize restart and shutdown messages with your own text, and predicates.", 7 | "disabled": false, 8 | "end_user_data_statement": "This cog does not persistently store data or metadata about users.", 9 | "hidden": false, 10 | "install_msg": "Thanks for installing, have fun. Please refer to my docs if you need any help: https://kreusadacogs.readthedocs.io/en/latest/cog_termino.html", 11 | "name": "Termino", 12 | "required_cogs": {}, 13 | "requirements": [], 14 | "short": "Customize restart and shutdown messages with your own text, and predicates.", 15 | "tags": [ 16 | "Shutdown", 17 | "Restart", 18 | "Custom" 19 | ], 20 | "type": "COG" 21 | } 22 | -------------------------------------------------------------------------------- /texteditor/__init__.py: -------------------------------------------------------------------------------- 1 | from redbot.core.bot import Red 2 | from redbot.core.utils import get_end_user_data_statement 3 | 4 | from .texteditor import TextEditor 5 | 6 | __red_end_user_data_statement__ = get_end_user_data_statement(__file__) 7 | 8 | 9 | async def setup(bot: Red): 10 | await bot.add_cog(TextEditor(bot)) 11 | -------------------------------------------------------------------------------- /texteditor/info.json: -------------------------------------------------------------------------------- 1 | { 2 | "author": [ 3 | "Kreusada" 4 | ], 5 | "description": "Edit and manipulate with text.", 6 | "install_msg": "Thanks for installing, have fun. Please refer to my docs if you need any help: https://kreusadacogs.readthedocs.io/en/latest/cog_texteditor.html", 7 | "short": "Edit text.", 8 | "tags": [ 9 | "Text", 10 | "Editor", 11 | "Format" 12 | ], 13 | "type": "COG", 14 | "end_user_data_statement": "This cog does not persistently store data or metadata about users." 15 | } 16 | -------------------------------------------------------------------------------- /textfont/README.rst: -------------------------------------------------------------------------------- 1 | .. _textfont: 2 | 3 | ======== 4 | TextFont 5 | ======== 6 | 7 | This is the cog guide for the 'TextFont' cog. This guide 8 | contains the collection of commands which you can use in the cog. 9 | 10 | Through this guide, ``[p]`` will always represent your prefix. Replace 11 | ``[p]`` with your own prefix when you use these commands in Discord. 12 | 13 | .. note:: 14 | 15 | This guide was last updated for version 1.0.0. Ensure 16 | that you are up to date by running ``[p]cog update textfont``. 17 | 18 | If there is something missing, or something that needs improving 19 | in this documentation, feel free to create an issue `here `_. 20 | 21 | This documentation is auto-generated everytime this cog receives an update. 22 | 23 | -------------- 24 | About this cog 25 | -------------- 26 | 27 | Generate text in different fonts. 28 | 29 | -------- 30 | Commands 31 | -------- 32 | 33 | Here are all the commands included in this cog (1): 34 | 35 | +--------------+----------------------------------------------------------------+ 36 | | Command | Help | 37 | +==============+================================================================+ 38 | | ``[p]write`` | Write text in different fonts (alphabetic unicode variations). | 39 | +--------------+----------------------------------------------------------------+ 40 | 41 | ------------ 42 | Installation 43 | ------------ 44 | 45 | If you haven't added my repo before, lets add it first. We'll call it 46 | "kreusada-cogs" here. 47 | 48 | .. code-block:: 49 | 50 | [p]repo add kreusada-cogs https://github.com/Kreusada/Kreusada-Cogs 51 | 52 | Now, we can install TextFont. 53 | 54 | .. code-block:: 55 | 56 | [p]cog install kreusada-cogs textfont 57 | 58 | Once it's installed, it is not loaded by default. Load it by running the following 59 | command: 60 | 61 | .. code-block:: 62 | 63 | [p]load textfont 64 | 65 | --------------- 66 | Further Support 67 | --------------- 68 | 69 | For more support, head over to the `cog support server `_, 70 | I have my own channel over there at #support_kreusada-cogs. Feel free to join my 71 | `personal server `_ whilst you're here. 72 | -------------------------------------------------------------------------------- /textfont/info.json: -------------------------------------------------------------------------------- 1 | { 2 | "author": [ 3 | "Kreusada" 4 | ], 5 | "description": "Write 𝕥𝕖𝕩𝕥 in 𝗱𝗶𝗳𝗳𝗲𝗿𝗲𝗻𝘁 𝚏𝚘𝚗𝚝𝚜!", 6 | "disabled": false, 7 | "end_user_data_statement": "This cog does not persistently store data or metadata about users.", 8 | "hidden": false, 9 | "install_msg": "Thanks for installing, have fun. Please refer to my docs if you need any help: https://kreusadacogs.readthedocs.io/en/latest/cog_textfont.html", 10 | "name": "TextFont", 11 | "required_cogs": {}, 12 | "requirements": [], 13 | "short": "Write 𝕥𝕖𝕩𝕥 in 𝗱𝗶𝗳𝗳𝗲𝗿𝗲𝗻𝘁 𝚏𝚘𝚗𝚝𝚜!", 14 | "tags": [ 15 | "Text", 16 | "Fonts" 17 | ], 18 | "type": "COG" 19 | } -------------------------------------------------------------------------------- /timestamps/__init__.py: -------------------------------------------------------------------------------- 1 | from redbot.core.bot import Red 2 | from redbot.core.utils import get_end_user_data_statement 3 | 4 | from .timestamps import TimeStamps 5 | 6 | __red_end_user_data_statement__ = get_end_user_data_statement(__file__) 7 | 8 | 9 | async def setup(bot: Red): 10 | await bot.add_cog(TimeStamps(bot)) 11 | -------------------------------------------------------------------------------- /timestamps/info.json: -------------------------------------------------------------------------------- 1 | { 2 | "author": [ 3 | "Kreusada" 4 | ], 5 | "description": "Produce Discord timestamps.", 6 | "disabled": false, 7 | "end_user_data_statement": "This cog does not persistently store data or metadata about users.", 8 | "hidden": false, 9 | "install_msg": "Thanks for installing, have fun. Please refer to my docs if you need any help: https://kreusadacogs.readthedocs.io/en/latest/cog_timestamps.html", 10 | "name": "TimeStamps", 11 | "required_cogs": {}, 12 | "requirements": [ 13 | "dateparser" 14 | ], 15 | "short": "Produce Discord timestamps.", 16 | "tags": [ 17 | "Timestamps", 18 | "Date", 19 | "Time" 20 | ], 21 | "type": "COG" 22 | } 23 | -------------------------------------------------------------------------------- /tonguetwisters/README.rst: -------------------------------------------------------------------------------- 1 | .. _tonguetwisters: 2 | 3 | ============== 4 | TongueTwisters 5 | ============== 6 | 7 | This is the cog guide for the 'TongueTwisters' cog. This guide 8 | contains the collection of commands which you can use in the cog. 9 | 10 | Through this guide, ``[p]`` will always represent your prefix. Replace 11 | ``[p]`` with your own prefix when you use these commands in Discord. 12 | 13 | .. note:: 14 | 15 | This guide was last updated for version 1.0.1. Ensure 16 | that you are up to date by running ``[p]cog update tonguetwisters``. 17 | 18 | If there is something missing, or something that needs improving 19 | in this documentation, feel free to create an issue `here `_. 20 | 21 | This documentation is auto-generated everytime this cog receives an update. 22 | 23 | -------------- 24 | About this cog 25 | -------------- 26 | 27 | Generate tongue twisters. 28 | 29 | -------- 30 | Commands 31 | -------- 32 | 33 | Here are all the commands included in this cog (1): 34 | 35 | +----------------------+---------------------------+ 36 | | Command | Help | 37 | +======================+===========================+ 38 | | ``[p]tonguetwister`` | Generate a tonguetwister. | 39 | +----------------------+---------------------------+ 40 | 41 | ------------ 42 | Installation 43 | ------------ 44 | 45 | If you haven't added my repo before, lets add it first. We'll call it 46 | "kreusada-cogs" here. 47 | 48 | .. code-block:: 49 | 50 | [p]repo add kreusada-cogs https://github.com/Kreusada/Kreusada-Cogs 51 | 52 | Now, we can install TongueTwisters. 53 | 54 | .. code-block:: 55 | 56 | [p]cog install kreusada-cogs tonguetwisters 57 | 58 | Once it's installed, it is not loaded by default. Load it by running the following 59 | command: 60 | 61 | .. code-block:: 62 | 63 | [p]load tonguetwisters 64 | 65 | --------------- 66 | Further Support 67 | --------------- 68 | 69 | For more support, head over to the `cog support server `_, 70 | I have my own channel over there at #support_kreusada-cogs. Feel free to join my 71 | `personal server `_ whilst you're here. 72 | -------------------------------------------------------------------------------- /tonguetwisters/__init__.py: -------------------------------------------------------------------------------- 1 | from redbot.core.bot import Red 2 | from redbot.core.utils import get_end_user_data_statement 3 | 4 | from .tonguetwisters import TongueTwisters 5 | 6 | __red_end_user_data_statement__ = get_end_user_data_statement(__file__) 7 | 8 | 9 | async def setup(bot: Red): 10 | await bot.add_cog(TongueTwisters(bot)) 11 | -------------------------------------------------------------------------------- /tonguetwisters/info.json: -------------------------------------------------------------------------------- 1 | { 2 | "author": [ 3 | "Kreusada" 4 | ], 5 | "description": "Generate tongue twisters.", 6 | "install_msg": "Thanks for installing, have fun. Please refer to my docs if you need any help: https://kreusadacogs.readthedocs.io/en/latest/cog_tonguetwisters.html", 7 | "short": "Generate tongue twisters.", 8 | "name": "TongueTwisters", 9 | "tags": [ 10 | "Tongue twisters" 11 | ], 12 | "requirements": [], 13 | "type": "COG", 14 | "end_user_data_statement": "This cog does not persistently store data or metadata about users." 15 | } 16 | -------------------------------------------------------------------------------- /unicodelookup/README.rst: -------------------------------------------------------------------------------- 1 | .. _unicodelookup: 2 | 3 | ============= 4 | UnicodeLookup 5 | ============= 6 | 7 | This is the cog guide for the 'UnicodeLookup' cog. This guide 8 | contains the collection of commands which you can use in the cog. 9 | 10 | Through this guide, ``[p]`` will always represent your prefix. Replace 11 | ``[p]`` with your own prefix when you use these commands in Discord. 12 | 13 | .. note:: 14 | 15 | This guide was last updated for version 1.0.0. Ensure 16 | that you are up to date by running ``[p]cog update unicodelookup``. 17 | 18 | If there is something missing, or something that needs improving 19 | in this documentation, feel free to create an issue `here `_. 20 | 21 | This documentation is auto-generated everytime this cog receives an update. 22 | 23 | -------------- 24 | About this cog 25 | -------------- 26 | 27 | Search the unicode library for characters and names. Supports fuzzy searching. 28 | 29 | -------- 30 | Commands 31 | -------- 32 | 33 | Here are all the commands included in this cog (4): 34 | 35 | +----------------------+-------------------------------------------------------------------------------------------------------------+ 36 | | Command | Help | 37 | +======================+=============================================================================================================+ 38 | | ``[p]ulookup`` | Unicode lookup commands. | 39 | +----------------------+-------------------------------------------------------------------------------------------------------------+ 40 | | ``[p]ulookup char`` | Get the unicode character from the name. | 41 | +----------------------+-------------------------------------------------------------------------------------------------------------+ 42 | | ``[p]ulookup fuzzy`` | Get unicode characters from the fuzzy search term. | 43 | | | | 44 | | | Strength must be a number from 50 to 100, used by the fuzzy search algorithm. Defaults to 80 (recommended). | 45 | +----------------------+-------------------------------------------------------------------------------------------------------------+ 46 | | ``[p]ulookup name`` | Get the unicode names of characters. | 47 | +----------------------+-------------------------------------------------------------------------------------------------------------+ 48 | 49 | ------------ 50 | Installation 51 | ------------ 52 | 53 | If you haven't added my repo before, lets add it first. We'll call it 54 | "kreusada-cogs" here. 55 | 56 | .. code-block:: 57 | 58 | [p]repo add kreusada-cogs https://github.com/Kreusada/Kreusada-Cogs 59 | 60 | Now, we can install UnicodeLookup. 61 | 62 | .. code-block:: 63 | 64 | [p]cog install kreusada-cogs unicodelookup 65 | 66 | Once it's installed, it is not loaded by default. Load it by running the following 67 | command: 68 | 69 | .. code-block:: 70 | 71 | [p]load unicodelookup 72 | 73 | --------------- 74 | Further Support 75 | --------------- 76 | 77 | For more support, head over to the `cog support server `_, 78 | I have my own channel over there at #support_kreusada-cogs. Feel free to join my 79 | `personal server `_ whilst you're here. 80 | -------------------------------------------------------------------------------- /unicodelookup/__init__.py: -------------------------------------------------------------------------------- 1 | import unicodedata 2 | 3 | import rapidfuzz 4 | from redbot.core import commands 5 | from redbot.core.utils import get_end_user_data_statement 6 | from redbot.core.utils.chat_formatting import inline, pagify 7 | from redbot.core.utils.views import SimpleMenu 8 | 9 | __red_end_user_data_statement__ = get_end_user_data_statement(__file__) 10 | 11 | 12 | class UnicodeLookup(commands.Cog): 13 | """Search the unicode library for characters and names. Supports fuzzy searching.""" 14 | 15 | __author__ = "Kreusada" 16 | __version__ = "1.0.0" 17 | 18 | def format_help_for_context(self, ctx: commands.Context) -> str: 19 | context = super().format_help_for_context(ctx) 20 | return f"{context}\n\nAuthor: {self.__author__}\nVersion: {self.__version__}" 21 | 22 | async def red_delete_data_for_user(self, **kwargs): 23 | return 24 | 25 | @staticmethod 26 | def fuzzy_lookup(term: str, *, strength: int): 27 | ret = {} 28 | 29 | # Loop through all Unicode characters 30 | for codepoint in range(0x110000): 31 | try: 32 | name = unicodedata.name(c := chr(codepoint)) 33 | if rapidfuzz.fuzz.ratio(term.lower(), name.lower()) > strength: 34 | ret[c] = name 35 | except ValueError: 36 | # Ignore characters that don't have a name 37 | continue 38 | 39 | return ret 40 | 41 | @staticmethod 42 | async def maybe_send_menu(ctx: commands.Context, *, message: str): 43 | if len(message) > 500: 44 | paged = list(pagify(message, page_length=500)) 45 | for i in range(1, len(paged) + 1): 46 | paged[i - 1] += f"\n\n**(Page {i}/{len(paged)})**" 47 | menu = SimpleMenu(paged, use_select_menu=True) 48 | await menu.start(ctx) 49 | else: 50 | await ctx.send(message) 51 | 52 | @commands.group(aliases=["unicodelookup"]) 53 | async def ulookup(self, ctx: commands.Context): 54 | """Unicode lookup commands.""" 55 | 56 | @ulookup.command(aliases=["names"]) 57 | async def name(self, ctx: commands.Context, *, characters: str): 58 | """Get the unicode names of characters.""" 59 | if len(characters) == 1: 60 | return await ctx.send(f"{inline(characters[0])} - {unicodedata.name(characters[0])}") 61 | message = "\n".join( 62 | f"- {inline(c)} - {unicodedata.name(c)}" for c in dict.fromkeys(characters) 63 | ) 64 | await self.maybe_send_menu(ctx, message=message) 65 | 66 | @ulookup.command() 67 | async def char(self, ctx: commands.Context, *, name: str): 68 | """Get the unicode character from the name.""" 69 | try: 70 | lookup = unicodedata.lookup(name) 71 | except KeyError: 72 | await ctx.send(f"No unicode character with the name {name!r} found.") 73 | else: 74 | await ctx.send(f"{inline(name.upper())} - {inline(lookup)}") 75 | 76 | @ulookup.command() 77 | async def fuzzy( 78 | self, ctx: commands.Context, strength: commands.Range[int, 50, 100] = 80, *, term: str 79 | ): 80 | """Get unicode characters from the fuzzy search term. 81 | 82 | Strength must be a number from 50 to 100, used by the fuzzy search algorithm. Defaults to 80 (recommended). 83 | """ 84 | search = self.fuzzy_lookup(term, strength=strength) 85 | if not search: 86 | return await ctx.send("No fuzzy terms found.") 87 | message = "\n".join(f"- {inline(char)} - {inline(name)}" for char, name in search.items()) 88 | await self.maybe_send_menu(ctx, message=message) 89 | 90 | 91 | async def setup(bot): 92 | await bot.add_cog(UnicodeLookup()) 93 | -------------------------------------------------------------------------------- /unicodelookup/info.json: -------------------------------------------------------------------------------- 1 | { 2 | "author": [ 3 | "Kreusada" 4 | ], 5 | "description": "Search the unicode library for characters and names. Supports fuzzy searching.", 6 | "disabled": false, 7 | "end_user_data_statement": "This cog does not persistently store data or metadata about users.", 8 | "hidden": false, 9 | "install_msg": "Thanks for installing, have fun. Please refer to my docs if you need any help: https://kreusadacogs.readthedocs.io/en/latest/cog_unicodelookup.html", 10 | "name": "TextFont", 11 | "required_cogs": {}, 12 | "requirements": [], 13 | "short": "Search the unicode library for characters and names. Supports fuzzy searching.", 14 | "tags": [ 15 | "Unicode", 16 | "Characters", 17 | "Names", 18 | "Fuzzy", 19 | "Search" 20 | ], 21 | "type": "COG" 22 | } --------------------------------------------------------------------------------