An API wrapper for Discord written in Python.
This report summarizes scanner evidence for Rapptz/discord.py, a Python project with 16,195 GitHub stars. SynthScan examined 100,762 lines of code across 228 source files, recording 1254 pattern matches distributed across 17 syntactic categories. The legacy adjusted pattern signal is 25.6 (Elevated pattern signal); it is not an authorship estimate.
Use the findings to ask whether maintainers can explain intent, verify dependencies, simplify unnecessary scaffolding, and focus review effort. Risk Payload v1 adds ownership, supply-chain, over-engineering, and review-effort vectors when available. These are prompts for human verification, not probabilities, security findings, or measured maintenance costs.
Use each vector to guide manual verification of the underlying findings.
Can maintainers explain intent, assumptions, and trade-offs? 540 finding(s).
Are imports declared and package/API names verified? 298 finding(s).
Are wrappers, guards, and repeated structures necessary? 807 finding(s).
Which changes need focused human review? 1254 finding(s).
This chart tracks the legacy adjusted pattern score across scan runs. Changes can reflect source changes, scan coverage, or detector/scoring versions; they do not measure AI adoption or prove that a team refactored code. Compare runs only when their scoring versions are compatible. The dashed line tracks the raw pattern-hit count.
Groups findings by configured severity weight. Severity is not a confidence estimate, security rating, or proof that a package is missing. Verify imports against the project's manifests and inspect each finding in its local design context.
This horizontal bar chart shows where configured pattern scores accumulate across directories. Treat the bars as locations to inspect, not as evidence of authorship or code quality. Use the file-level findings to decide whether a directory needs a focused ownership, dependency, complexity, or review check.
The scanner identified 1254 distinct pattern matches across 17 syntactic categories. Each entry below represents a discrete location in the source code where the engine recorded a detector match to inspect in context. Expand any category row to inspect the individual file paths, line numbers, code snippets, and the lexical context (CODE, COMMENT, or STRING) in which each match was detected.
Reading the findings table: The Severity column indicates the configured finding weight (CRITICAL / HIGH / MEDIUM / LOW). The Context column identifies whether the match occurred inside executable code, an inline comment, or a string literal — legacy comment-context matches receive a ×1.5 score weight. The ⚡ bolt icon marks clustered matches: three or more patterns within a 10-line window, each receiving an additional ×1.5 density multiplier under the legacy scoring model.
| Severity | File | Line | Snippet | Context |
|---|---|---|---|---|
| HIGH | discord/sku.py | 0 | the mit license (mit) copyright (c) 2015-present rapptz permission is hereby granted, free of charge, to any person obta | STRING |
| HIGH | discord/user.py | 0 | the mit license (mit) copyright (c) 2015-present rapptz permission is hereby granted, free of charge, to any person obta | STRING |
| HIGH | discord/mixins.py | 0 | the mit license (mit) copyright (c) 2015-present rapptz permission is hereby granted, free of charge, to any person obta | STRING |
| HIGH | discord/_types.py | 0 | the mit license (mit) copyright (c) 2015-present rapptz permission is hereby granted, free of charge, to any person obta | STRING |
| HIGH | discord/sticker.py | 0 | the mit license (mit) copyright (c) 2015-present rapptz permission is hereby granted, free of charge, to any person obta | STRING |
| HIGH | discord/gateway.py | 0 | the mit license (mit) copyright (c) 2015-present rapptz permission is hereby granted, free of charge, to any person obta | STRING |
| HIGH | discord/enums.py | 0 | the mit license (mit) copyright (c) 2015-present rapptz permission is hereby granted, free of charge, to any person obta | STRING |
| HIGH | discord/widget.py | 0 | the mit license (mit) copyright (c) 2015-present rapptz permission is hereby granted, free of charge, to any person obta | STRING |
| HIGH | discord/subscription.py | 0 | the mit license (mit) copyright (c) 2015-present rapptz permission is hereby granted, free of charge, to any person obta | STRING |
| HIGH | discord/asset.py | 0 | the mit license (mit) copyright (c) 2015-present rapptz permission is hereby granted, free of charge, to any person obta | STRING |
| HIGH | discord/object.py | 0 | the mit license (mit) copyright (c) 2015-present rapptz permission is hereby granted, free of charge, to any person obta | STRING |
| HIGH | discord/emoji.py | 0 | the mit license (mit) copyright (c) 2015-present rapptz permission is hereby granted, free of charge, to any person obta | STRING |
| HIGH | discord/oggparse.py | 0 | the mit license (mit) copyright (c) 2015-present rapptz permission is hereby granted, free of charge, to any person obta | STRING |
| HIGH | discord/onboarding.py | 0 | the mit license (mit) copyright (c) 2015-present rapptz permission is hereby granted, free of charge, to any person obta | STRING |
| HIGH | discord/appinfo.py | 0 | the mit license (mit) copyright (c) 2015-present rapptz permission is hereby granted, free of charge, to any person obta | STRING |
| HIGH | discord/flags.py | 0 | the mit license (mit) copyright (c) 2015-present rapptz permission is hereby granted, free of charge, to any person obta | STRING |
| HIGH | discord/client.py | 0 | the mit license (mit) copyright (c) 2015-present rapptz permission is hereby granted, free of charge, to any person obta | STRING |
| HIGH | discord/invite.py | 0 | the mit license (mit) copyright (c) 2015-present rapptz permission is hereby granted, free of charge, to any person obta | STRING |
| HIGH | discord/channel.py | 0 | the mit license (mit) copyright (c) 2015-present rapptz permission is hereby granted, free of charge, to any person obta | STRING |
| HIGH | discord/member.py | 0 | the mit license (mit) copyright (c) 2015-present rapptz permission is hereby granted, free of charge, to any person obta | STRING |
| HIGH | discord/activity.py | 0 | the mit license (mit) copyright (c) 2015-present rapptz permission is hereby granted, free of charge, to any person obta | STRING |
| HIGH | discord/partial_emoji.py | 0 | the mit license (mit) copyright (c) 2015-present rapptz permission is hereby granted, free of charge, to any person obta | STRING |
| HIGH | discord/message.py | 0 | the mit license (mit) copyright (c) 2015-present rapptz permission is hereby granted, free of charge, to any person obta | STRING |
| HIGH | discord/role.py | 0 | the mit license (mit) copyright (c) 2015-present rapptz permission is hereby granted, free of charge, to any person obta | STRING |
| HIGH | discord/welcome_screen.py | 0 | the mit license (mit) copyright (c) 2015-present rapptz permission is hereby granted, free of charge, to any person obta | STRING |
| HIGH | discord/team.py | 0 | the mit license (mit) copyright (c) 2015-present rapptz permission is hereby granted, free of charge, to any person obta | STRING |
| HIGH | discord/scheduled_event.py | 0 | the mit license (mit) copyright (c) 2015-present rapptz permission is hereby granted, free of charge, to any person obta | STRING |
| HIGH | discord/backoff.py | 0 | the mit license (mit) copyright (c) 2015-present rapptz permission is hereby granted, free of charge, to any person obta | STRING |
| HIGH | discord/shard.py | 0 | the mit license (mit) copyright (c) 2015-present rapptz permission is hereby granted, free of charge, to any person obta | STRING |
| HIGH | discord/file.py | 0 | the mit license (mit) copyright (c) 2015-present rapptz permission is hereby granted, free of charge, to any person obta | STRING |
| HIGH | discord/threads.py | 0 | the mit license (mit) copyright (c) 2015-present rapptz permission is hereby granted, free of charge, to any person obta | STRING |
| HIGH | discord/context_managers.py | 0 | the mit license (mit) copyright (c) 2015-present rapptz permission is hereby granted, free of charge, to any person obta | STRING |
| HIGH | discord/utils.py | 0 | the mit license (mit) copyright (c) 2015-present rapptz permission is hereby granted, free of charge, to any person obta | STRING |
| HIGH | discord/player.py | 0 | the mit license (mit) copyright (c) 2015-present rapptz permission is hereby granted, free of charge, to any person obta | STRING |
| HIGH | discord/primary_guild.py | 0 | the mit license (mit) copyright (c) 2015-present rapptz permission is hereby granted, free of charge, to any person obta | STRING |
| HIGH | discord/http.py | 0 | the mit license (mit) copyright (c) 2015-present rapptz permission is hereby granted, free of charge, to any person obta | STRING |
| HIGH | discord/opus.py | 0 | the mit license (mit) copyright (c) 2015-present rapptz permission is hereby granted, free of charge, to any person obta | STRING |
| HIGH | discord/template.py | 0 | the mit license (mit) copyright (c) 2015-present rapptz permission is hereby granted, free of charge, to any person obta | STRING |
| HIGH | discord/permissions.py | 0 | the mit license (mit) copyright (c) 2015-present rapptz permission is hereby granted, free of charge, to any person obta | STRING |
| HIGH | discord/automod.py | 0 | the mit license (mit) copyright (c) 2015-present rapptz permission is hereby granted, free of charge, to any person obta | STRING |
| HIGH | discord/soundboard.py | 0 | the mit license (mit) copyright (c) 2015-present rapptz permission is hereby granted, free of charge, to any person obta | STRING |
| HIGH | discord/mentions.py | 0 | the mit license (mit) copyright (c) 2015-present rapptz permission is hereby granted, free of charge, to any person obta | STRING |
| HIGH | discord/errors.py | 0 | the mit license (mit) copyright (c) 2015-present rapptz permission is hereby granted, free of charge, to any person obta | STRING |
| HIGH | discord/interactions.py | 0 | the mit license (mit) copyright (c) 2015-present rapptz permission is hereby granted, free of charge, to any person obta | STRING |
| HIGH | discord/embeds.py | 0 | the mit license (mit) copyright (c) 2015-present rapptz permission is hereby granted, free of charge, to any person obta | STRING |
| HIGH | discord/poll.py | 0 | the mit license (mit) copyright (c) 2015-present rapptz permission is hereby granted, free of charge, to any person obta | STRING |
| HIGH | discord/components.py | 0 | the mit license (mit) copyright (c) 2015-present rapptz permission is hereby granted, free of charge, to any person obta | STRING |
| HIGH | discord/stage_instance.py | 0 | the mit license (mit) copyright (c) 2015-present rapptz permission is hereby granted, free of charge, to any person obta | STRING |
| HIGH | discord/voice_client.py | 0 | the mit license (mit) copyright (c) 2015-present rapptz permission is hereby granted, free of charge, to any person obta | STRING |
| HIGH | discord/audit_logs.py | 0 | the mit license (mit) copyright (c) 2015-present rapptz permission is hereby granted, free of charge, to any person obta | STRING |
| HIGH | discord/colour.py | 0 | the mit license (mit) copyright (c) 2015-present rapptz permission is hereby granted, free of charge, to any person obta | STRING |
| HIGH | discord/integrations.py | 0 | the mit license (mit) copyright (c) 2015-present rapptz permission is hereby granted, free of charge, to any person obta | STRING |
| HIGH | discord/__main__.py | 0 | the mit license (mit) copyright (c) 2015-present rapptz permission is hereby granted, free of charge, to any person obta | STRING |
| HIGH | discord/presences.py | 0 | the mit license (mit) copyright (c) 2015-present rapptz permission is hereby granted, free of charge, to any person obta | STRING |
| HIGH | discord/guild.py | 0 | the mit license (mit) copyright (c) 2015-present rapptz permission is hereby granted, free of charge, to any person obta | STRING |
| HIGH | discord/state.py | 0 | the mit license (mit) copyright (c) 2015-present rapptz permission is hereby granted, free of charge, to any person obta | STRING |
| HIGH | discord/raw_models.py | 0 | the mit license (mit) copyright (c) 2015-present rapptz permission is hereby granted, free of charge, to any person obta | STRING |
| HIGH | discord/collectible.py | 0 | the mit license (mit) copyright (c) 2015-present rapptz permission is hereby granted, free of charge, to any person obta | STRING |
| HIGH | discord/reaction.py | 0 | the mit license (mit) copyright (c) 2015-present rapptz permission is hereby granted, free of charge, to any person obta | STRING |
| HIGH | discord/abc.py | 0 | the mit license (mit) copyright (c) 2015-present rapptz permission is hereby granted, free of charge, to any person obta | STRING |
| 141 more matches not shown… | ||||
| Severity | File | Line | Snippet | Context |
|---|---|---|---|---|
| HIGH | setup.py | 26 | except Exception: | CODE |
| HIGH | discord/sticker.py | 482 | except TypeError: | CODE |
| HIGH | discord/gateway.py | 49 | except ImportError: | CODE |
| HIGH | discord/voice_state.py | 106 | except ValueError: | CODE |
| HIGH | discord/voice_state.py | 547 | except asyncio.CancelledError: | CODE |
| HIGH | discord/appinfo.py | 644 | except KeyError: | CODE |
| HIGH | discord/client.py | 509 | except asyncio.CancelledError: | CODE |
| HIGH | discord/client.py | 563 | except AttributeError: | CODE |
| HIGH | discord/client.py | 514 | except asyncio.CancelledError: | CODE |
| HIGH | discord/channel.py | 2756 | except KeyError: | CODE |
| HIGH | discord/channel.py | 2763 | except KeyError: | CODE |
| HIGH | discord/channel.py | 2775 | except KeyError: | CODE |
| HIGH | discord/channel.py | 2784 | except KeyError: | CODE |
| HIGH | discord/channel.py | 2794 | except KeyError: | CODE |
| HIGH | discord/channel.py | 2858 | except (KeyError, IndexError, ValueError): | CODE |
| HIGH | discord/member.py | 426 | except KeyError: | CODE |
| HIGH | discord/member.py | 431 | except KeyError: | CODE |
| HIGH | discord/member.py | 1183 | except ValueError: | CODE |
| HIGH | discord/message.py | 874 | except KeyError: | CODE |
| HIGH | discord/message.py | 880 | except KeyError: | CODE |
| HIGH | discord/message.py | 890 | except KeyError: | CODE |
| HIGH | discord/message.py | 896 | except KeyError: | CODE |
| HIGH | discord/message.py | 902 | except KeyError: | CODE |
| HIGH | discord/message.py | 2228 | except KeyError: | CODE |
| HIGH | discord/message.py | 2257 | except KeyError: | CODE |
| HIGH | discord/message.py | 2265 | except KeyError: | CODE |
| HIGH | discord/message.py | 2305 | except KeyError: | CODE |
| HIGH | discord/message.py | 2313 | except KeyError: | CODE |
| HIGH | discord/message.py | 2321 | except KeyError: | CODE |
| HIGH | discord/message.py | 2341 | except KeyError: | CODE |
| HIGH | discord/message.py | 2242 | except KeyError: | CODE |
| HIGH | discord/message.py | 2278 | except KeyError: | CODE |
| HIGH | discord/message.py | 2411 | except AttributeError: | CODE |
| HIGH | discord/message.py | 1303 | except HTTPException: | CODE |
| HIGH | discord/threads.py | 218 | except KeyError: | CODE |
| HIGH | discord/threads.py | 227 | except KeyError: | CODE |
| HIGH | discord/context_managers.py | 48 | except (asyncio.CancelledError, Exception): | CODE |
| HIGH | discord/utils.py | 1415 | except ValueError: | CODE |
| HIGH | discord/utils.py | 1179 | except ValueError: | CODE |
| HIGH | discord/player.py | 896 | except Exception: | CODE |
| HIGH | discord/player.py | 270 | except Exception: | CODE |
| HIGH | discord/http.py | 115 | except KeyError: | CODE |
| HIGH | discord/http.py | 628 | except KeyError: | CODE |
| HIGH | discord/opus.py | 214 | except KeyError: | CODE |
| HIGH | discord/interactions.py | 285 | except KeyError: | CODE |
| HIGH | discord/interactions.py | 293 | except KeyError: | CODE |
| HIGH | discord/interactions.py | 1113 | except HTTPException: | CODE |
| HIGH | discord/interactions.py | 1259 | except HTTPException: | CODE |
| HIGH | discord/interactions.py | 1649 | except HTTPException: | CODE |
| HIGH | discord/embeds.py | 247 | except KeyError: | CODE |
| HIGH | discord/embeds.py | 252 | except KeyError: | CODE |
| HIGH | discord/embeds.py | 276 | except (AttributeError, KeyError): | CODE |
| HIGH | discord/embeds.py | 283 | except AttributeError: | CODE |
| HIGH | discord/embeds.py | 411 | except AttributeError: | CODE |
| HIGH | discord/embeds.py | 580 | except AttributeError: | CODE |
| HIGH | discord/embeds.py | 698 | except (AttributeError, IndexError): | CODE |
| HIGH | discord/embeds.py | 754 | except KeyError: | CODE |
| HIGH | discord/embeds.py | 762 | except KeyError: | CODE |
| HIGH | discord/embeds.py | 450 | except AttributeError: | CODE |
| HIGH | discord/embeds.py | 493 | except AttributeError: | CODE |
| 65 more matches not shown… | ||||
| Severity | File | Line | Snippet | Context |
|---|---|---|---|---|
| LOW | discord/voice_state.py | 268 | def max_dave_protocol_version(self) -> int: | CODE |
| LOW | discord/voice_state.py | 293 | async def _recover_from_invalid_commit(self, transition_id: int) -> None: | CODE |
| LOW | discord/asset.py | 299 | def _from_scheduled_event_cover_image(cls, state: _State, scheduled_event_id: int, cover_image_hash: str) -> Self: | CODE |
| LOW⚡ | discord/flags.py | 340 | def guild_reminder_notifications(self): | CODE |
| LOW⚡ | discord/flags.py | 348 | def join_notification_replies(self): | CODE |
| LOW⚡ | discord/flags.py | 357 | def role_subscription_purchase_notifications(self): | CODE |
| LOW⚡ | discord/flags.py | 366 | def role_subscription_purchase_notification_replies(self): | CODE |
| LOW | discord/flags.py | 506 | def failed_to_mention_some_roles_in_thread(self): | CODE |
| LOW | discord/flags.py | 690 | def early_verified_bot_developer(self): | CODE |
| LOW | discord/flags.py | 698 | def discord_certified_moderator(self): | CODE |
| LOW | discord/flags.py | 1317 | def auto_moderation_configuration(self): | CODE |
| LOW | discord/flags.py | 1331 | def auto_moderation_execution(self): | CODE |
| LOW | discord/flags.py | 1650 | def gateway_guild_members_limited(self): | STRING |
| LOW | discord/flags.py | 1657 | def verification_pending_guild_limit(self): | STRING |
| LOW | discord/flags.py | 1675 | def gateway_message_content_limited(self): | CODE |
| LOW | discord/flags.py | 1773 | def hide_media_download_options(self): | CODE |
| LOW⚡ | discord/flags.py | 2142 | def automod_quarantined_username(self): | CODE |
| LOW⚡ | discord/flags.py | 2151 | def automod_quarantined_guild_tag(self): | CODE |
| LOW⚡ | discord/flags.py | 2160 | def dm_settings_upsell_acknowledged(self): | CODE |
| LOW | discord/client.py | 586 | async def _call_before_identify_hook(self, shard_id: Optional[int], *, initial: bool = False) -> None: | CODE |
| LOW | discord/client.py | 3023 | async def fetch_premium_sticker_packs(self) -> List[StickerPack]: | CODE |
| LOW | discord/client.py | 3043 | async def fetch_premium_sticker_pack(self, sticker_pack_id: int, /) -> StickerPack: | CODE |
| LOW | discord/client.py | 3070 | async def fetch_soundboard_default_sounds(self) -> List[SoundboardDefaultSound]: | CODE |
| LOW | discord/channel.py | 403 | def _scheduled_event_entity_type(self) -> Optional[EntityType]: | CODE |
| LOW | discord/channel.py | 1540 | def _scheduled_event_entity_type(self) -> Optional[EntityType]: | CODE |
| LOW | discord/channel.py | 1772 | def _scheduled_event_entity_type(self) -> Optional[EntityType]: | CODE |
| LOW | discord/channel.py | 2075 | def _scheduled_event_entity_type(self) -> Optional[EntityType]: | CODE |
| LOW | discord/channel.py | 2526 | def _scheduled_event_entity_type(self) -> Optional[EntityType]: | CODE |
| LOW | discord/channel.py | 3668 | def _threaded_channel_factory(channel_type: int): | CODE |
| LOW | discord/channel.py | 3675 | def _threaded_guild_channel_factory(channel_type: int): | CODE |
| LOW | discord/partial_emoji.py | 180 | def _to_onboarding_prompt_option_payload(self) -> Dict[str, Any]: | CODE |
| LOW | discord/message.py | 914 | def original_response_message(self) -> Optional[Message]: | CODE |
| LOW | discord/message.py | 1968 | def to_message_reference_dict(self) -> MessageReferencePayload: | CODE |
| LOW | discord/message.py | 2509 | def _handle_interaction_metadata(self, data: MessageInteractionMetadataPayload): | STRING |
| LOW | discord/message.py | 2516 | def _rebind_cached_references( | STRING |
| LOW | discord/role.py | 109 | def is_available_for_purchase(self) -> bool: | CODE |
| LOW | discord/shard.py | 455 | async def fetch_session_start_limits(self) -> SessionStartLimits: | CODE |
| LOW | discord/utils.py | 1125 | def normalise_optional_params(parameters: Iterable[Any]) -> Tuple[Any, ...]: | STRING |
| LOW | discord/player.py | 217 | def _check_process_returncode(self) -> None: | CODE |
| LOW | discord/http.py | 141 | def handle_message_parameters( | CODE |
| LOW | discord/http.py | 576 | def _try_clear_expired_ratelimits(self) -> None: | CODE |
| LOW | discord/http.py | 1236 | def edit_voice_channel_status( | CODE |
| LOW | discord/http.py | 1298 | def start_thread_with_message( | CODE |
| LOW | discord/http.py | 1319 | def start_thread_without_message( | CODE |
| LOW | discord/http.py | 1370 | def get_public_archived_threads( | CODE |
| LOW | discord/http.py | 1381 | def get_private_archived_threads( | CODE |
| LOW | discord/http.py | 1392 | def get_joined_private_archived_threads( | CODE |
| LOW | discord/http.py | 1665 | def list_premium_sticker_packs(self) -> Response[sticker.ListPremiumStickerPacks]: | CODE |
| LOW | discord/http.py | 1994 | def delete_channel_permissions( | CODE |
| LOW | discord/http.py | 2066 | def create_guild_scheduled_event( | CODE |
| LOW | discord/http.py | 2163 | def get_scheduled_event_users( | CODE |
| LOW | discord/http.py | 2174 | def get_scheduled_event_users( | CODE |
| LOW | discord/http.py | 2185 | def get_scheduled_event_users( | CODE |
| LOW | discord/http.py | 2195 | def get_scheduled_event_users( | CODE |
| LOW | discord/http.py | 2273 | def bulk_upsert_global_commands( | CODE |
| LOW | discord/http.py | 2358 | def bulk_upsert_guild_commands( | CODE |
| LOW | discord/http.py | 2372 | def get_guild_application_command_permissions( | CODE |
| LOW | discord/http.py | 2385 | def get_application_command_permissions( | CODE |
| LOW | discord/http.py | 2400 | def edit_application_command_permissions( | CODE |
| LOW | discord/http.py | 2416 | def get_auto_moderation_rules(self, guild_id: Snowflake) -> Response[List[automod.AutoModerationRule]]: | CODE |
| 223 more matches not shown… | ||||
| Severity | File | Line | Snippet | Context |
|---|---|---|---|---|
| LOW | discord/sku.py | 25 | CODE | |
| LOW | discord/user.py | 25 | CODE | |
| LOW | discord/_types.py | 25 | CODE | |
| LOW | discord/sticker.py | 25 | CODE | |
| LOW | discord/gateway.py | 25 | CODE | |
| LOW | discord/enums.py | 25 | CODE | |
| LOW | discord/widget.py | 25 | CODE | |
| LOW | discord/voice_state.py | 40 | CODE | |
| LOW | discord/subscription.py | 25 | CODE | |
| LOW | discord/asset.py | 25 | CODE | |
| LOW | discord/object.py | 25 | CODE | |
| LOW | discord/emoji.py | 25 | CODE | |
| LOW | discord/oggparse.py | 25 | CODE | |
| LOW | discord/onboarding.py | 25 | CODE | |
| LOW | discord/appinfo.py | 25 | CODE | |
| LOW | discord/flags.py | 25 | CODE | |
| LOW | discord/client.py | 25 | CODE | |
| LOW | discord/client.py | 62 | CODE | |
| LOW | discord/client.py | 65 | CODE | |
| LOW | discord/invite.py | 25 | CODE | |
| LOW | discord/channel.py | 25 | CODE | |
| LOW | discord/member.py | 25 | CODE | |
| LOW | discord/activity.py | 25 | CODE | |
| LOW | discord/partial_emoji.py | 25 | CODE | |
| LOW | discord/__init__.py | 23 | CODE | |
| LOW | discord/__init__.py | 24 | CODE | |
| LOW | discord/__init__.py | 25 | CODE | |
| LOW | discord/__init__.py | 26 | CODE | |
| LOW | discord/__init__.py | 27 | CODE | |
| LOW | discord/__init__.py | 28 | CODE | |
| LOW | discord/__init__.py | 29 | CODE | |
| LOW | discord/__init__.py | 30 | CODE | |
| LOW | discord/__init__.py | 31 | CODE | |
| LOW | discord/__init__.py | 32 | CODE | |
| LOW | discord/__init__.py | 33 | CODE | |
| LOW | discord/__init__.py | 34 | CODE | |
| LOW | discord/__init__.py | 35 | CODE | |
| LOW | discord/__init__.py | 36 | CODE | |
| LOW | discord/__init__.py | 37 | CODE | |
| LOW | discord/__init__.py | 38 | CODE | |
| LOW | discord/__init__.py | 39 | CODE | |
| LOW | discord/__init__.py | 40 | CODE | |
| LOW | discord/__init__.py | 41 | CODE | |
| LOW | discord/__init__.py | 42 | CODE | |
| LOW | discord/__init__.py | 43 | CODE | |
| LOW | discord/__init__.py | 44 | CODE | |
| LOW | discord/__init__.py | 45 | CODE | |
| LOW | discord/__init__.py | 46 | CODE | |
| LOW | discord/__init__.py | 47 | CODE | |
| LOW | discord/__init__.py | 48 | CODE | |
| LOW | discord/__init__.py | 48 | CODE | |
| LOW | discord/__init__.py | 48 | CODE | |
| LOW | discord/__init__.py | 48 | CODE | |
| LOW | discord/__init__.py | 55 | CODE | |
| LOW | discord/__init__.py | 56 | CODE | |
| LOW | discord/__init__.py | 57 | CODE | |
| LOW | discord/__init__.py | 58 | CODE | |
| LOW | discord/__init__.py | 59 | CODE | |
| LOW | discord/__init__.py | 60 | CODE | |
| LOW | discord/__init__.py | 61 | CODE | |
| 225 more matches not shown… | ||||
| Severity | File | Line | Snippet | Context |
|---|---|---|---|---|
| LOW | discord/gateway.py | 364 | CODE | |
| LOW | discord/appinfo.py | 299 | CODE | |
| LOW | discord/client.py | 2840 | CODE | |
| LOW | discord/channel.py | 465 | CODE | |
| LOW | discord/channel.py | 641 | CODE | |
| LOW | discord/channel.py | 1285 | CODE | |
| LOW | discord/channel.py | 1555 | CODE | |
| LOW | discord/channel.py | 1917 | CODE | |
| LOW | discord/channel.py | 2650 | CODE | |
| LOW | discord/channel.py | 2864 | CODE | |
| LOW | discord/channel.py | 2882 | CODE | |
| LOW | discord/channel.py | 2904 | CODE | |
| LOW | discord/member.py | 806 | CODE | |
| LOW | discord/message.py | 352 | CODE | |
| LOW | discord/message.py | 1737 | CODE | |
| LOW | discord/message.py | 1752 | CODE | |
| LOW | discord/message.py | 1767 | CODE | |
| LOW | discord/message.py | 1787 | CODE | |
| LOW | discord/message.py | 1807 | CODE | |
| LOW | discord/message.py | 1827 | CODE | |
| LOW | discord/message.py | 1966 | CODE | |
| LOW | discord/message.py | 2868 | CODE | |
| LOW | discord/role.py | 453 | CODE | |
| LOW | discord/scheduled_event.py | 302 | CODE | |
| LOW | discord/scheduled_event.py | 316 | CODE | |
| LOW | discord/scheduled_event.py | 332 | CODE | |
| LOW | discord/scheduled_event.py | 348 | CODE | |
| LOW | discord/scheduled_event.py | 363 | CODE | |
| LOW | discord/scheduled_event.py | 377 | CODE | |
| LOW | discord/threads.py | 500 | CODE | |
| LOW | discord/threads.py | 582 | CODE | |
| LOW | discord/http.py | 141 | CODE | |
| LOW | discord/http.py | 1848 | CODE | |
| LOW | discord/http.py | 2478 | CODE | |
| LOW | discord/automod.py | 457 | CODE | |
| LOW | discord/interactions.py | 955 | CODE | |
| LOW | discord/interactions.py | 973 | CODE | |
| LOW | discord/interactions.py | 1120 | CODE | |
| LOW | discord/interactions.py | 1467 | CODE | |
| LOW | discord/interactions.py | 1480 | CODE | |
| LOW | discord/guild.py | 1403 | CODE | |
| LOW | discord/guild.py | 1545 | CODE | |
| LOW | discord/guild.py | 1646 | CODE | |
| LOW | discord/guild.py | 1804 | CODE | |
| LOW | discord/guild.py | 2000 | CODE | |
| LOW | discord/guild.py | 3282 | CODE | |
| LOW | discord/guild.py | 3635 | CODE | |
| LOW | discord/guild.py | 3650 | CODE | |
| LOW | discord/guild.py | 3664 | CODE | |
| LOW | discord/abc.py | 169 | CODE | |
| LOW | discord/abc.py | 1274 | CODE | |
| LOW | discord/abc.py | 1414 | CODE | |
| LOW | discord/abc.py | 1429 | CODE | |
| LOW | discord/abc.py | 1444 | CODE | |
| LOW | discord/abc.py | 1464 | CODE | |
| LOW | discord/abc.py | 1484 | CODE | |
| LOW | discord/abc.py | 1504 | CODE | |
| LOW | discord/abc.py | 1523 | CODE | |
| LOW | discord/webhook/sync.py | 878 | CODE | |
| LOW | discord/webhook/sync.py | 896 | CODE | |
| 48 more matches not shown… | ||||
| Severity | File | Line | Snippet | Context |
|---|---|---|---|---|
| LOW | discord/gateway.py | 157 | CODE | |
| LOW | discord/gateway.py | 644 | CODE | |
| LOW | discord/gateway.py | 996 | CODE | |
| LOW | discord/gateway.py | 1047 | CODE | |
| LOW | discord/gateway.py | 1165 | CODE | |
| LOW | discord/enums.py | 509 | CODE | |
| LOW | discord/voice_state.py | 148 | CODE | |
| LOW | discord/voice_state.py | 378 | CODE | |
| LOW | discord/voice_state.py | 667 | CODE | |
| LOW | discord/appinfo.py | 299 | CODE | |
| LOW | discord/client.py | 528 | CODE | |
| LOW | discord/client.py | 695 | CODE | |
| LOW | discord/channel.py | 3638 | CODE | |
| LOW | discord/channel.py | 979 | CODE | |
| LOW | discord/channel.py | 2672 | CODE | |
| LOW | discord/channel.py | 3120 | CODE | |
| LOW | discord/activity.py | 871 | CODE | |
| LOW | discord/activity.py | 793 | CODE | |
| LOW | discord/message.py | 2193 | CODE | |
| LOW | discord/role.py | 613 | CODE | |
| LOW | discord/scheduled_event.py | 377 | CODE | |
| LOW | discord/shard.py | 519 | CODE | |
| LOW | discord/utils.py | 623 | CODE | |
| LOW | discord/utils.py | 1130 | CODE | |
| LOW | discord/utils.py | 1488 | CODE | |
| LOW | discord/player.py | 784 | CODE | |
| LOW | discord/http.py | 141 | CODE | |
| LOW | discord/http.py | 459 | CODE | |
| LOW | discord/http.py | 592 | CODE | |
| LOW | discord/automod.py | 251 | CODE | |
| LOW | discord/automod.py | 297 | CODE | |
| LOW | discord/soundboard.py | 235 | CODE | |
| LOW | discord/interactions.py | 215 | CODE | |
| LOW | discord/components.py | 1750 | CODE | |
| LOW | discord/audit_logs.py | 281 | CODE | |
| LOW | discord/audit_logs.py | 376 | CODE | |
| LOW | discord/audit_logs.py | 508 | CODE | |
| LOW | discord/audit_logs.py | 706 | CODE | |
| LOW | discord/__main__.py | 291 | CODE | |
| LOW | discord/guild.py | 2000 | CODE | |
| LOW | discord/guild.py | 3282 | CODE | |
| LOW | discord/state.py | 606 | CODE | |
| LOW | discord/state.py | 869 | CODE | |
| LOW | discord/state.py | 1663 | CODE | |
| LOW | discord/state.py | 1705 | CODE | |
| LOW | discord/state.py | 1900 | CODE | |
| LOW | discord/abc.py | 478 | CODE | |
| LOW | discord/abc.py | 1146 | CODE | |
| LOW | discord/abc.py | 1902 | CODE | |
| LOW | discord/webhook/sync.py | 115 | CODE | |
| LOW | discord/webhook/async_.py | 547 | CODE | |
| LOW | discord/webhook/async_.py | 130 | CODE | |
| LOW | discord/ui/view.py | 101 | CODE | |
| LOW | discord/ui/view.py | 114 | CODE | |
| LOW | discord/ui/view.py | 386 | CODE | |
| LOW | discord/ui/view.py | 745 | CODE | |
| LOW | discord/ui/view.py | 847 | CODE | |
| LOW | discord/ui/modal.py | 176 | CODE | |
| LOW | discord/ui/select.py | 133 | CODE | |
| LOW | discord/ext/tasks/__init__.py | 208 | CODE | |
| 27 more matches not shown… | ||||
| Severity | File | Line | Snippet | Context |
|---|---|---|---|---|
| LOW | setup.py | 26 | except Exception: | CODE |
| LOW | discord/gateway.py | 166 | except Exception: | CODE |
| LOW | discord/gateway.py | 195 | except Exception: | CODE |
| LOW | discord/gateway.py | 619 | except Exception as exc: | CODE |
| LOW | discord/gateway.py | 1078 | except Exception: | CODE |
| LOW | discord/gateway.py | 1088 | except Exception: | CODE |
| LOW | discord/voice_state.py | 141 | except Exception: | CODE |
| LOW | discord/voice_state.py | 175 | except Exception: | CODE |
| LOW | discord/voice_state.py | 463 | except Exception: | CODE |
| LOW | discord/voice_state.py | 516 | except Exception: | CODE |
| LOW | discord/voice_state.py | 563 | except Exception: | CODE |
| LOW | discord/oggparse.py | 69 | except Exception: | CODE |
| LOW | discord/client.py | 511 | except Exception: | CODE |
| LOW | discord/client.py | 542 | except Exception as exc: | CODE |
| LOW | discord/shard.py | 184 | except Exception as e: | CODE |
| LOW | discord/shard.py | 211 | except Exception as e: | CODE |
| LOW | discord/shard.py | 225 | except Exception as e: | CODE |
| LOW | discord/shard.py | 486 | except Exception: | CODE |
| LOW | discord/player.py | 174 | except Exception: | CODE |
| LOW | discord/player.py | 236 | except Exception: | CODE |
| LOW⚡ | discord/player.py | 257 | except Exception: | CODE |
| LOW⚡ | discord/player.py | 262 | except Exception: | CODE |
| LOW⚡ | discord/player.py | 270 | except Exception: | CODE |
| LOW | discord/player.py | 294 | except Exception: | CODE |
| LOW | discord/player.py | 306 | except Exception: | CODE |
| LOW | discord/player.py | 313 | except Exception: | CODE |
| LOW | discord/player.py | 838 | except Exception as exc: | CODE |
| LOW | discord/player.py | 851 | except Exception as exc: | CODE |
| LOW⚡ | discord/player.py | 889 | except Exception: | CODE |
| LOW⚡ | discord/player.py | 896 | except Exception: | CODE |
| MEDIUM | discord/player.py | 835 | def run(self) -> None: | CODE |
| LOW | discord/opus.py | 238 | except Exception: | CODE |
| LOW | discord/__main__.py | 85 | except Exception as exc: | CODE |
| LOW | discord/state.py | 170 | except Exception: | CODE |
| LOW | discord/state.py | 288 | except Exception: | CODE |
| LOW | discord/abc.py | 2156 | except Exception: | STRING |
| LOW | discord/ui/view.py | 599 | except Exception as e: | CODE |
| LOW | discord/ui/view.py | 1011 | except Exception: | CODE |
| LOW | discord/ui/view.py | 1030 | except Exception: | CODE |
| LOW | discord/ui/view.py | 1038 | except Exception: | CODE |
| LOW | discord/ui/modal.py | 217 | except Exception as e: | CODE |
| LOW | discord/ext/tasks/__init__.py | 276 | except Exception as exc: | CODE |
| LOW | discord/ext/commands/hybrid.py | 211 | except Exception as exc: | CODE |
| LOW | discord/ext/commands/hybrid.py | 225 | except Exception as exc: | CODE |
| LOW | discord/ext/commands/flags.py | 412 | except Exception as e: | CODE |
| LOW | discord/ext/commands/flags.py | 435 | except Exception as e: | CODE |
| LOW | discord/ext/commands/flags.py | 473 | except Exception as e: | CODE |
| LOW | discord/ext/commands/converter.py | 763 | except Exception as exc: | CODE |
| LOW | discord/ext/commands/converter.py | 1358 | except Exception as exc: | STRING |
| LOW | discord/ext/commands/converter.py | 1365 | except Exception as exc: | STRING |
| LOW | discord/ext/commands/core.py | 253 | except Exception as exc: | CODE |
| LOW | discord/ext/commands/core.py | 273 | except Exception as exc: | CODE |
| LOW | discord/ext/commands/bot.py | 248 | except Exception: | CODE |
| LOW | discord/ext/commands/bot.py | 254 | except Exception: | CODE |
| LOW | discord/ext/commands/bot.py | 946 | except Exception: | CODE |
| LOW | discord/ext/commands/bot.py | 962 | except Exception as e: | CODE |
| LOW | discord/ext/commands/bot.py | 974 | except Exception as e: | CODE |
| LOW | discord/ext/commands/bot.py | 1144 | except Exception: | CODE |
| LOW | discord/ext/commands/cog.py | 721 | except Exception as e: | CODE |
| LOW | discord/ext/commands/cog.py | 781 | except Exception: | CODE |
| 8 more matches not shown… | ||||
| Severity | File | Line | Snippet | Context |
|---|---|---|---|---|
| MEDIUM | discord/ext/commands/cooldowns.py | 176 | """This class is a version of a semaphore. | STRING |
| MEDIUM | docs/conf.py | 5 | # This file is execfile()d with the current directory set to its | COMMENT |
| MEDIUM | examples/modals/report.py | 36 | # Define a modal dialog for reporting issues or feedback | COMMENT |
| MEDIUM | examples/views/link.py | 24 | # Define a simple View that gives us a google link button. | COMMENT |
| MEDIUM | examples/views/ephemeral.py | 23 | # Define a simple View that gives us a counter button | COMMENT |
| MEDIUM | examples/views/ephemeral.py | 25 | # Define the actual button | COMMENT |
| MEDIUM | examples/views/ephemeral.py | 41 | # Define a View that will give us our own personal counter button | COMMENT |
| MEDIUM | examples/views/layout.py | 23 | # Define a LayoutView, which will allow us to add v2 components to it. | COMMENT |
| MEDIUM | examples/views/persistent.py | 9 | # Define a simple View that persists between bot restarts | COMMENT |
| MEDIUM | examples/views/dropdown.py | 62 | # Create the view containing our dropdown | COMMENT |
| MEDIUM | examples/views/embed_like.py | 18 | # Create a session for making HTTP requests. | COMMENT |
| MEDIUM | examples/views/counter.py | 23 | # Define a simple View that gives us a counter button | COMMENT |
| MEDIUM | examples/views/counter.py | 25 | # Define the actual button | COMMENT |
| MEDIUM | examples/views/tic_tac_toe.py | 21 | # This function is called whenever this particular button is pressed | COMMENT |
| MEDIUM | examples/views/confirm.py | 22 | # Define a simple View that gives us a confirmation menu | COMMENT |
| Severity | File | Line | Snippet | Context |
|---|---|---|---|---|
| LOW | discord/voice_state.py | 787 | def _update_voice_channel(self, channel_id: Optional[int]) -> None: | CODE |
| LOW | discord/flags.py | 231 | def _set_flag(self, o: int, toggle: bool) -> None: | CODE |
| LOW | discord/flags.py | 321 | def _set_flag(self, o: int, toggle: bool) -> None: | STRING |
| LOW | discord/channel.py | 3400 | def _update_group(self, data: GroupChannelPayload) -> None: | CODE |
| LOW | discord/member.py | 372 | def _update_from_message(self, data: MemberPayload) -> None: | CODE |
| LOW⚡ | discord/player.py | 880 | def set_source(self, source: AudioSource) -> None: | CODE |
| LOW⚡ | discord/opus.py | 387 | def set_bandwidth(self, req: BAND_CTL) -> None: | CODE |
| LOW⚡ | discord/opus.py | 394 | def set_signal_type(self, req: SIGNAL_CTL) -> None: | CODE |
| LOW⚡ | discord/opus.py | 401 | def set_fec(self, enabled: bool = True) -> None: | CODE |
| LOW⚡ | discord/opus.py | 404 | def set_expected_packet_loss_percent(self, percentage: float) -> None: | CODE |
| LOW | discord/poll.py | 162 | def _update_with_results(self, payload: PollAnswerCountPayload) -> None: | CODE |
| LOW | discord/poll.py | 401 | def _update_results_from_message(self, message: Message) -> None: | CODE |
| LOW | discord/poll.py | 427 | def _update_results(self, data: PollResultPayload) -> None: | CODE |
| LOW | discord/state.py | 380 | def _update_references(self, ws: DiscordWebSocket) -> None: | CODE |
| LOW | discord/state.py | 558 | def _update_poll_results(self, from_: Message, to: Union[Message, int]) -> None: | CODE |
| LOW | discord/state.py | 1853 | def _update_message_references(self) -> None: | CODE |
| LOW | discord/ui/section.py | 144 | def _update_view(self, view) -> None: | CODE |
| LOW | discord/ui/view.py | 1105 | def update_from_message(self, message_id: int, data: List[ComponentBasePayload]) -> None: | CODE |
| LOW | discord/ui/action_row.py | 170 | def _update_view(self, view) -> None: | STRING |
| LOW | discord/ui/item.py | 206 | def _update_view(self, view) -> None: | CODE |
| LOW | discord/app_commands/tree.py | 1032 | async def set_translator(self, translator: Optional[Translator]) -> None: | CODE |
| LOW | discord/app_commands/namespace.py | 261 | def _update_with_defaults(self, defaults: Iterable[Tuple[str, Any]]) -> None: | CODE |
| Severity | File | Line | Snippet | Context |
|---|---|---|---|---|
| LOW | discord/player.py | 804 | # Check if the source has an error (e.g., from FFmpegAudio process failure) | COMMENT |
| LOW | discord/http.py | 465 | # Check if we can pre-emptively block this request for having too large of a timeout | COMMENT |
| LOW | discord/ui/view.py | 296 | # Check if we've elapsed our currently set timeout | COMMENT |
| LOW | discord/ext/commands/help.py | 982 | # Check if it's a cog | COMMENT |
| LOW | discord/app_commands/transformers.py | 810 | # Check if a transform @classmethod is given to the class | COMMENT |
| LOW | discord/app_commands/transformers.py | 821 | # Check if there's an origin | COMMENT |
| LOW | discord/app_commands/transformers.py | 911 | # Check if the method is overridden | COMMENT |
| LOW | discord/app_commands/commands.py | 262 | # Check if there's an origin | COMMENT |
| LOW | discord/app_commands/commands.py | 831 | # Check if the on_error is overridden | COMMENT |
| LOW | discord/app_commands/commands.py | 839 | # Check if we have a bound error handler | COMMENT |
| LOW | discord/app_commands/commands.py | 2546 | # Check if called with parentheses or not | STRING |
| LOW | discord/app_commands/commands.py | 2599 | # Check if called with parentheses or not | STRING |
| LOW | discord/app_commands/commands.py | 2649 | # Check if called with parentheses or not | STRING |
| LOW | discord/app_commands/commands.py | 2743 | # Check if called with parentheses or not | STRING |
| LOW | discord/app_commands/commands.py | 2792 | # Check if called with parentheses or not | STRING |
| LOW | examples/reaction_roles.py | 28 | # Check if we're still in the guild and it's cached. | COMMENT |
| LOW | examples/reaction_roles.py | 60 | # Check if we're still in the guild and it's cached. | COMMENT |
| Severity | File | Line | Snippet | Context |
|---|---|---|---|---|
| MEDIUM | discord/ui/container.py | 91 | # or you can use your subclass: | COMMENT |
| MEDIUM | discord/ui/action_row.py | 106 | # or you can use your subclass: | COMMENT |
| MEDIUM | discord/ui/action_row.py | 109 | # you can add items with row.button and row.select | COMMENT |
| MEDIUM | examples/custom_context.py | 47 | # with your new helper function, you can add a | COMMENT |
| MEDIUM | examples/views/layout.py | 25 | # you can add any top-level component (ui.ActionRow, ui.Section, ui.Container, ui.File, etc.) here | COMMENT |
| MEDIUM | examples/views/embed_like.py | 106 | # If you want the "embed" to have multiple images you can add a MediaGallery item | COMMENT |
| Severity | File | Line | Snippet | Context |
|---|---|---|---|---|
| LOW | discord/enums.py | 136 | # Special case classmethod to just pass through | COMMENT |
| MEDIUM | discord/__init__.py | 94 | # Essentially forcing the exception to have different base classes | COMMENT |
| LOW | discord/message.py | 2388 | # didn't find anything so just return | STRING |
| LOW | discord/http.py | 708 | # the request was successful so just return the text/json | COMMENT |
| LOW | discord/ext/commands/core.py | 1320 | # since we have no checks, then we just return True. | COMMENT |
| MEDIUM | discord/app_commands/translator.py | 111 | # For type checking purposes, it makes sense to allow the user to leverage type narrowing | COMMENT |
| LOW | examples/converters.py | 64 | # Otherwise, we just return the converted member value. | COMMENT |
| MEDIUM | examples/views/dynamic_counter.py | 8 | # with state changes or dynamic items. In order to facilitate these complicated use cases, | COMMENT |
| Severity | File | Line | Snippet | Context |
|---|---|---|---|---|
| HIGH | examples/converters.py | 54 | # In this example we have made a custom converter. | COMMENT |
| HIGH | examples/app_commands/basic.py | 61 | # In this example, even though we use `text_to_send` in the code, the client will use `text` instead. | COMMENT |
| Severity | File | Line | Snippet | Context |
|---|---|---|---|---|
| LOW | discord/ext/tasks/__init__.py | 661 | def _start_time_relative_to(self, now: datetime.datetime) -> Optional[int]: | COMMENT |
| LOW | discord/ext/commands/help.py | 101 | FuncT = TypeVar('FuncT', bound=Callable[..., Any]) | COMMENT |
| LOW | discord/app_commands/commands.py | 861 | COMMENT | |
| LOW | docs/conf.py | 1 | # | COMMENT |
| LOW | docs/conf.py | 101 | COMMENT | |
| LOW | docs/conf.py | 121 | # List of patterns, relative to source directory, that match files and | COMMENT |
| LOW | docs/conf.py | 201 | COMMENT | |
| LOW | docs/conf.py | 221 | # Add any paths that contain custom static files (such as style sheets) here, | COMMENT |
| LOW | docs/conf.py | 241 | COMMENT | |
| LOW | docs/conf.py | 261 | # If true, "(C) Copyright ..." is shown in the HTML footer. Default is True. | COMMENT |
| LOW | docs/conf.py | 321 | # the title page. | COMMENT |
| LOW | docs/crowdin.yml | 1 | # -*- coding: utf-8 -*- | COMMENT |
| LOW | examples/views/embed_like.py | 81 | # A Section is a container that can hold 3 TextDisplay and an accessory. | COMMENT |
| Severity | File | Line | Snippet | Context |
|---|---|---|---|---|
| LOW | discord/components.py | 444 | 'placeholder', | CODE |
| LOW | discord/components.py | 460 | self.placeholder: Optional[str] = data.get('placeholder') | CODE |
| LOW | discord/components.py | 484 | payload['placeholder'] = self.placeholder | CODE |
| LOW | discord/components.py | 637 | 'placeholder', | CODE |
| LOW | discord/components.py | 651 | self.placeholder: Optional[str] = data.get('placeholder') | CODE |
| LOW | discord/components.py | 676 | payload['placeholder'] = self.placeholder | CODE |
| LOW | discord/components.py | 1010 | 'placeholder', | CODE |
| LOW | discord/components.py | 1046 | self.placeholder = data.get('placeholder') | CODE |
| LOW | discord/ui/text_input.py | 111 | 'placeholder', | CODE |
| LOW | discord/ui/select.py | 218 | 'placeholder', | CODE |
| LOW | discord/ui/select.py | 226 | 'placeholder', | CODE |
| LOW | discord/ui/select.py | 1220 | 'placeholder': placeholder, | CODE |
| Severity | File | Line | Snippet | Context |
|---|---|---|---|---|
| HIGH | discord/ext/commands/context.py | 281 | raise RuntimeError('interaction channel ID is null, this is probably a Discord bug') | STRING |
| Severity | File | Line | Snippet | Context |
|---|---|---|---|---|
| LOW | examples/views/tic_tac_toe.py | 117 | # If we're here, we need to check if a tie was made | COMMENT |