├── .dockerignore ├── .github ├── PULL_REQUEST_TEMPLATE.md └── workflows │ └── push-bot.yml ├── .gitignore ├── Dockerfile ├── LICENSE ├── SECURITY.md ├── convert.py ├── count.py ├── example-docker-compose.yml ├── main.py ├── pyproject.toml ├── pytest.ini ├── readme.md ├── suggestions ├── __init__.py ├── abc │ ├── __init__.py │ └── loadable.py ├── bot.py ├── buttons │ ├── __init__.py │ ├── suggestions_components.py │ └── virtual_queue.py ├── checks.py ├── clunk2 │ ├── __init__.py │ └── edits.py ├── codes.py ├── cogs │ ├── blacklist_cog.py │ ├── blocking_cog.py │ ├── guild_config_cog.py │ ├── help_guild_cog.py │ ├── suggestion_cog.py │ ├── suggestion_notes_cog.py │ ├── suggestion_queue_cog.py │ ├── suggestions_message_commands.py │ ├── user_config_cog.py │ └── view_voters_cog.py ├── colors.py ├── cooldown_bucket.py ├── core │ ├── __init__.py │ ├── base.py │ ├── suggestion_notes.py │ ├── suggestion_resolution.py │ └── suggestions_queue.py ├── database.py ├── emojis.py ├── exceptions.py ├── garven.py ├── http_error_parser.py ├── interaction_handler.py ├── locales │ ├── README.md │ ├── da.json │ ├── de.json │ ├── en_GB.json │ ├── en_US.json │ ├── es_ES.json │ ├── fr.json │ ├── pt_BR.json │ └── tr.json ├── low_level │ ├── __init__.py │ ├── disnake_state.py │ └── message_editing.py ├── main.py ├── objects │ ├── __init__.py │ ├── error.py │ ├── guild_config.py │ ├── premium_guild_config.py │ ├── queued_suggestion.py │ ├── stats │ │ ├── __init__.py │ │ ├── member_command_stats.py │ │ └── member_stats.py │ ├── suggestion.py │ └── user_config.py ├── qs_paginator.py ├── scheduler.py ├── state.py ├── stats.py ├── telemetry │ ├── __init__.py │ ├── error_telemetry.py │ └── main.py ├── utility │ ├── __init__.py │ ├── disnake_paginator.py │ ├── error_wrapper.py │ └── r2.py └── zonis_routes.py ├── tests ├── __init__.py ├── conftest.py ├── helpers.py ├── mocks │ ├── __init__.py │ └── database.py ├── test_bot.py ├── test_help_guild_cog.py ├── test_interaction_handler.py └── test_user_config_cog.py └── uv.lock /.dockerignore: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/suggestionsbot/suggestions-bot/HEAD/.dockerignore -------------------------------------------------------------------------------- /.github/PULL_REQUEST_TEMPLATE.md: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/suggestionsbot/suggestions-bot/HEAD/.github/PULL_REQUEST_TEMPLATE.md -------------------------------------------------------------------------------- /.github/workflows/push-bot.yml: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/suggestionsbot/suggestions-bot/HEAD/.github/workflows/push-bot.yml -------------------------------------------------------------------------------- /.gitignore: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/suggestionsbot/suggestions-bot/HEAD/.gitignore -------------------------------------------------------------------------------- /Dockerfile: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/suggestionsbot/suggestions-bot/HEAD/Dockerfile -------------------------------------------------------------------------------- /LICENSE: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/suggestionsbot/suggestions-bot/HEAD/LICENSE -------------------------------------------------------------------------------- /SECURITY.md: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/suggestionsbot/suggestions-bot/HEAD/SECURITY.md -------------------------------------------------------------------------------- /convert.py: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/suggestionsbot/suggestions-bot/HEAD/convert.py -------------------------------------------------------------------------------- /count.py: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/suggestionsbot/suggestions-bot/HEAD/count.py -------------------------------------------------------------------------------- /example-docker-compose.yml: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/suggestionsbot/suggestions-bot/HEAD/example-docker-compose.yml -------------------------------------------------------------------------------- /main.py: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/suggestionsbot/suggestions-bot/HEAD/main.py -------------------------------------------------------------------------------- /pyproject.toml: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/suggestionsbot/suggestions-bot/HEAD/pyproject.toml -------------------------------------------------------------------------------- /pytest.ini: -------------------------------------------------------------------------------- 1 | [pytest] 2 | asyncio_mode = auto -------------------------------------------------------------------------------- /readme.md: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/suggestionsbot/suggestions-bot/HEAD/readme.md -------------------------------------------------------------------------------- /suggestions/__init__.py: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/suggestionsbot/suggestions-bot/HEAD/suggestions/__init__.py -------------------------------------------------------------------------------- /suggestions/abc/__init__.py: -------------------------------------------------------------------------------- 1 | -------------------------------------------------------------------------------- /suggestions/abc/loadable.py: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/suggestionsbot/suggestions-bot/HEAD/suggestions/abc/loadable.py -------------------------------------------------------------------------------- /suggestions/bot.py: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/suggestionsbot/suggestions-bot/HEAD/suggestions/bot.py -------------------------------------------------------------------------------- /suggestions/buttons/__init__.py: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/suggestionsbot/suggestions-bot/HEAD/suggestions/buttons/__init__.py -------------------------------------------------------------------------------- /suggestions/buttons/suggestions_components.py: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/suggestionsbot/suggestions-bot/HEAD/suggestions/buttons/suggestions_components.py -------------------------------------------------------------------------------- /suggestions/buttons/virtual_queue.py: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/suggestionsbot/suggestions-bot/HEAD/suggestions/buttons/virtual_queue.py -------------------------------------------------------------------------------- /suggestions/checks.py: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/suggestionsbot/suggestions-bot/HEAD/suggestions/checks.py -------------------------------------------------------------------------------- /suggestions/clunk2/__init__.py: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/suggestionsbot/suggestions-bot/HEAD/suggestions/clunk2/__init__.py -------------------------------------------------------------------------------- /suggestions/clunk2/edits.py: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/suggestionsbot/suggestions-bot/HEAD/suggestions/clunk2/edits.py -------------------------------------------------------------------------------- /suggestions/codes.py: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/suggestionsbot/suggestions-bot/HEAD/suggestions/codes.py -------------------------------------------------------------------------------- /suggestions/cogs/blacklist_cog.py: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/suggestionsbot/suggestions-bot/HEAD/suggestions/cogs/blacklist_cog.py -------------------------------------------------------------------------------- /suggestions/cogs/blocking_cog.py: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/suggestionsbot/suggestions-bot/HEAD/suggestions/cogs/blocking_cog.py -------------------------------------------------------------------------------- /suggestions/cogs/guild_config_cog.py: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/suggestionsbot/suggestions-bot/HEAD/suggestions/cogs/guild_config_cog.py -------------------------------------------------------------------------------- /suggestions/cogs/help_guild_cog.py: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/suggestionsbot/suggestions-bot/HEAD/suggestions/cogs/help_guild_cog.py -------------------------------------------------------------------------------- /suggestions/cogs/suggestion_cog.py: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/suggestionsbot/suggestions-bot/HEAD/suggestions/cogs/suggestion_cog.py -------------------------------------------------------------------------------- /suggestions/cogs/suggestion_notes_cog.py: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/suggestionsbot/suggestions-bot/HEAD/suggestions/cogs/suggestion_notes_cog.py -------------------------------------------------------------------------------- /suggestions/cogs/suggestion_queue_cog.py: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/suggestionsbot/suggestions-bot/HEAD/suggestions/cogs/suggestion_queue_cog.py -------------------------------------------------------------------------------- /suggestions/cogs/suggestions_message_commands.py: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/suggestionsbot/suggestions-bot/HEAD/suggestions/cogs/suggestions_message_commands.py -------------------------------------------------------------------------------- /suggestions/cogs/user_config_cog.py: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/suggestionsbot/suggestions-bot/HEAD/suggestions/cogs/user_config_cog.py -------------------------------------------------------------------------------- /suggestions/cogs/view_voters_cog.py: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/suggestionsbot/suggestions-bot/HEAD/suggestions/cogs/view_voters_cog.py -------------------------------------------------------------------------------- /suggestions/colors.py: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/suggestionsbot/suggestions-bot/HEAD/suggestions/colors.py -------------------------------------------------------------------------------- /suggestions/cooldown_bucket.py: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/suggestionsbot/suggestions-bot/HEAD/suggestions/cooldown_bucket.py -------------------------------------------------------------------------------- /suggestions/core/__init__.py: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/suggestionsbot/suggestions-bot/HEAD/suggestions/core/__init__.py -------------------------------------------------------------------------------- /suggestions/core/base.py: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/suggestionsbot/suggestions-bot/HEAD/suggestions/core/base.py -------------------------------------------------------------------------------- /suggestions/core/suggestion_notes.py: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/suggestionsbot/suggestions-bot/HEAD/suggestions/core/suggestion_notes.py -------------------------------------------------------------------------------- /suggestions/core/suggestion_resolution.py: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/suggestionsbot/suggestions-bot/HEAD/suggestions/core/suggestion_resolution.py -------------------------------------------------------------------------------- /suggestions/core/suggestions_queue.py: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/suggestionsbot/suggestions-bot/HEAD/suggestions/core/suggestions_queue.py -------------------------------------------------------------------------------- /suggestions/database.py: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/suggestionsbot/suggestions-bot/HEAD/suggestions/database.py -------------------------------------------------------------------------------- /suggestions/emojis.py: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/suggestionsbot/suggestions-bot/HEAD/suggestions/emojis.py -------------------------------------------------------------------------------- /suggestions/exceptions.py: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/suggestionsbot/suggestions-bot/HEAD/suggestions/exceptions.py -------------------------------------------------------------------------------- /suggestions/garven.py: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/suggestionsbot/suggestions-bot/HEAD/suggestions/garven.py -------------------------------------------------------------------------------- /suggestions/http_error_parser.py: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/suggestionsbot/suggestions-bot/HEAD/suggestions/http_error_parser.py -------------------------------------------------------------------------------- /suggestions/interaction_handler.py: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/suggestionsbot/suggestions-bot/HEAD/suggestions/interaction_handler.py -------------------------------------------------------------------------------- /suggestions/locales/README.md: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/suggestionsbot/suggestions-bot/HEAD/suggestions/locales/README.md -------------------------------------------------------------------------------- /suggestions/locales/da.json: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/suggestionsbot/suggestions-bot/HEAD/suggestions/locales/da.json -------------------------------------------------------------------------------- /suggestions/locales/de.json: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/suggestionsbot/suggestions-bot/HEAD/suggestions/locales/de.json -------------------------------------------------------------------------------- /suggestions/locales/en_GB.json: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/suggestionsbot/suggestions-bot/HEAD/suggestions/locales/en_GB.json -------------------------------------------------------------------------------- /suggestions/locales/en_US.json: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/suggestionsbot/suggestions-bot/HEAD/suggestions/locales/en_US.json -------------------------------------------------------------------------------- /suggestions/locales/es_ES.json: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/suggestionsbot/suggestions-bot/HEAD/suggestions/locales/es_ES.json -------------------------------------------------------------------------------- /suggestions/locales/fr.json: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/suggestionsbot/suggestions-bot/HEAD/suggestions/locales/fr.json -------------------------------------------------------------------------------- /suggestions/locales/pt_BR.json: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/suggestionsbot/suggestions-bot/HEAD/suggestions/locales/pt_BR.json -------------------------------------------------------------------------------- /suggestions/locales/tr.json: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/suggestionsbot/suggestions-bot/HEAD/suggestions/locales/tr.json -------------------------------------------------------------------------------- /suggestions/low_level/__init__.py: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/suggestionsbot/suggestions-bot/HEAD/suggestions/low_level/__init__.py -------------------------------------------------------------------------------- /suggestions/low_level/disnake_state.py: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/suggestionsbot/suggestions-bot/HEAD/suggestions/low_level/disnake_state.py -------------------------------------------------------------------------------- /suggestions/low_level/message_editing.py: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/suggestionsbot/suggestions-bot/HEAD/suggestions/low_level/message_editing.py -------------------------------------------------------------------------------- /suggestions/main.py: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/suggestionsbot/suggestions-bot/HEAD/suggestions/main.py -------------------------------------------------------------------------------- /suggestions/objects/__init__.py: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/suggestionsbot/suggestions-bot/HEAD/suggestions/objects/__init__.py -------------------------------------------------------------------------------- /suggestions/objects/error.py: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/suggestionsbot/suggestions-bot/HEAD/suggestions/objects/error.py -------------------------------------------------------------------------------- /suggestions/objects/guild_config.py: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/suggestionsbot/suggestions-bot/HEAD/suggestions/objects/guild_config.py -------------------------------------------------------------------------------- /suggestions/objects/premium_guild_config.py: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/suggestionsbot/suggestions-bot/HEAD/suggestions/objects/premium_guild_config.py -------------------------------------------------------------------------------- /suggestions/objects/queued_suggestion.py: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/suggestionsbot/suggestions-bot/HEAD/suggestions/objects/queued_suggestion.py -------------------------------------------------------------------------------- /suggestions/objects/stats/__init__.py: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/suggestionsbot/suggestions-bot/HEAD/suggestions/objects/stats/__init__.py -------------------------------------------------------------------------------- /suggestions/objects/stats/member_command_stats.py: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/suggestionsbot/suggestions-bot/HEAD/suggestions/objects/stats/member_command_stats.py -------------------------------------------------------------------------------- /suggestions/objects/stats/member_stats.py: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/suggestionsbot/suggestions-bot/HEAD/suggestions/objects/stats/member_stats.py -------------------------------------------------------------------------------- /suggestions/objects/suggestion.py: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/suggestionsbot/suggestions-bot/HEAD/suggestions/objects/suggestion.py -------------------------------------------------------------------------------- /suggestions/objects/user_config.py: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/suggestionsbot/suggestions-bot/HEAD/suggestions/objects/user_config.py -------------------------------------------------------------------------------- /suggestions/qs_paginator.py: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/suggestionsbot/suggestions-bot/HEAD/suggestions/qs_paginator.py -------------------------------------------------------------------------------- /suggestions/scheduler.py: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/suggestionsbot/suggestions-bot/HEAD/suggestions/scheduler.py -------------------------------------------------------------------------------- /suggestions/state.py: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/suggestionsbot/suggestions-bot/HEAD/suggestions/state.py -------------------------------------------------------------------------------- /suggestions/stats.py: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/suggestionsbot/suggestions-bot/HEAD/suggestions/stats.py -------------------------------------------------------------------------------- /suggestions/telemetry/__init__.py: -------------------------------------------------------------------------------- 1 | -------------------------------------------------------------------------------- /suggestions/telemetry/error_telemetry.py: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/suggestionsbot/suggestions-bot/HEAD/suggestions/telemetry/error_telemetry.py -------------------------------------------------------------------------------- /suggestions/telemetry/main.py: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/suggestionsbot/suggestions-bot/HEAD/suggestions/telemetry/main.py -------------------------------------------------------------------------------- /suggestions/utility/__init__.py: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/suggestionsbot/suggestions-bot/HEAD/suggestions/utility/__init__.py -------------------------------------------------------------------------------- /suggestions/utility/disnake_paginator.py: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/suggestionsbot/suggestions-bot/HEAD/suggestions/utility/disnake_paginator.py -------------------------------------------------------------------------------- /suggestions/utility/error_wrapper.py: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/suggestionsbot/suggestions-bot/HEAD/suggestions/utility/error_wrapper.py -------------------------------------------------------------------------------- /suggestions/utility/r2.py: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/suggestionsbot/suggestions-bot/HEAD/suggestions/utility/r2.py -------------------------------------------------------------------------------- /suggestions/zonis_routes.py: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/suggestionsbot/suggestions-bot/HEAD/suggestions/zonis_routes.py -------------------------------------------------------------------------------- /tests/__init__.py: -------------------------------------------------------------------------------- 1 | -------------------------------------------------------------------------------- /tests/conftest.py: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/suggestionsbot/suggestions-bot/HEAD/tests/conftest.py -------------------------------------------------------------------------------- /tests/helpers.py: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/suggestionsbot/suggestions-bot/HEAD/tests/helpers.py -------------------------------------------------------------------------------- /tests/mocks/__init__.py: -------------------------------------------------------------------------------- 1 | from .database import MockedSuggestionsMongoManager 2 | -------------------------------------------------------------------------------- /tests/mocks/database.py: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/suggestionsbot/suggestions-bot/HEAD/tests/mocks/database.py -------------------------------------------------------------------------------- /tests/test_bot.py: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/suggestionsbot/suggestions-bot/HEAD/tests/test_bot.py -------------------------------------------------------------------------------- /tests/test_help_guild_cog.py: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/suggestionsbot/suggestions-bot/HEAD/tests/test_help_guild_cog.py -------------------------------------------------------------------------------- /tests/test_interaction_handler.py: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/suggestionsbot/suggestions-bot/HEAD/tests/test_interaction_handler.py -------------------------------------------------------------------------------- /tests/test_user_config_cog.py: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/suggestionsbot/suggestions-bot/HEAD/tests/test_user_config_cog.py -------------------------------------------------------------------------------- /uv.lock: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/suggestionsbot/suggestions-bot/HEAD/uv.lock --------------------------------------------------------------------------------