An API wrapper for Discord written in Python.
This report presents the forensic synthetic code analysis of Rapptz/discord.py, a Python project with 16,106 GitHub stars. SynthScan v2.0 examined 100,750 lines of code across 228 source files, recording 1129 pattern matches distributed across 16 syntactic categories. The overall adjusted score of 19.6 places this repository in the Moderate AI signal band.
The scanner applied 160+ deterministic lexical heuristics, multi-line block detectors, abstract syntax tree depth profilers, and a cross-file Jaccard similarity matrix to construct a statistically normalised synthetic code estimate. All matches are individually weighted by severity coefficient and contextual multiplier before summation, and the resulting headline score is temporally discounted to account for the repository's development history relative to the commercial emergence of large language model coding tooling (November 2022 onward).
This chart maps the temporal evolution of the adjusted synthetic code score across successive scan runs. An upward trajectory indicates ongoing incorporation of AI-generated code or expanding LLM-assisted scaffolding; a stable or declining trajectory may reflect active human refactoring, code removal, or the adoption of stricter authorship policies. The dashed secondary line (right axis) independently tracks total raw pattern hit count, which can diverge from the normalised score when codebase size changes significantly between scans.
Classifies detected patterns by their diagnostic confidence and structural impact. CRITICAL patterns (coefficient 10) represent definitive synthetic signatures — hallucinated imports, explicit LLM attribution metadata — virtually never produced by human authors. HIGH (5) indicates strong structural tells such as cross-file repetition or cross-linguistic idioms. MEDIUM (2) covers recognisable conversational padding and AI-specific vocabulary. LOW (1) captures subtle indicators like tautological comments and generic boilerplate that require density to carry independent signal.
This horizontal bar chart decomposes the repository's raw synthetic code score by top-level directory, allowing you to pinpoint precisely which modules or components carry the highest AI authorship density. Directories with disproportionately high scores relative to their size warrant targeted manual review: concentrated AI signatures often trace back to mass-generated configuration layers, auto-ported test suites, LLM-scaffolded boilerplate classes, or entire subsystems authored under heavy copilot assistance. Use this view to prioritise your human code-review effort.
The scanner identified 1129 distinct pattern matches across 16 syntactic categories. Each entry below represents a discrete location in the source code where the engine recorded a statistically significant AI authorship indicator. 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 diagnostic confidence level (CRITICAL / HIGH / MEDIUM / LOW). The Context column identifies whether the match occurred inside executable code, an inline comment, or a string literal — comment-context matches receive a ×1.5 weight because LLMs systematically over-annotate. The ⚡ bolt icon marks clustered matches: three or more patterns within a 10-line window, each receiving an additional ×1.5 density multiplier as dense clusters constitute far stronger evidence of synthetic authorship than isolated hits.
| 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 |
|---|---|---|---|---|
| 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 | 632 | CODE | |
| LOW | discord/gateway.py | 984 | CODE | |
| LOW | discord/gateway.py | 1035 | CODE | |
| LOW | discord/gateway.py | 1153 | 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 | 607 | except Exception as exc: | CODE |
| LOW | discord/gateway.py | 1066 | except Exception: | CODE |
| LOW | discord/gateway.py | 1076 | 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 |