(interaction, error, error_type="Error")
| 157 | client = None |
| 158 | |
| 159 | async def handle_errors(interaction, error, error_type="Error"): |
| 160 | error_message = f"{error_type}: {error}" |
| 161 | logger.error(f"Error occurred for user {interaction.user} in {interaction.guild.name if interaction.guild else 'Direct Message'}: {error_message}") |
| 162 | |
| 163 | try: |
| 164 | # Check if the interaction has been responded to |
| 165 | if interaction.response.is_done(): |
| 166 | await interaction.followup.send(error_message) |
| 167 | else: |
| 168 | await interaction.response.send_message(error_message, ephemeral=True) |
| 169 | except discord.HTTPException as http_err: |
| 170 | logger.warning(f"HTTP error while responding to {interaction.user}: {http_err}") |
| 171 | try: |
| 172 | await interaction.followup.send(error_message) |
| 173 | except discord.HTTPException as followup_http_err: |
| 174 | logger.error(f"HTTP error during followup to {interaction.user}: {followup_http_err}") |
| 175 | except Exception as unexpected_followup_error: |
| 176 | logger.error(f"Unexpected error during followup to {interaction.user}: {unexpected_followup_error}") |
| 177 | except Exception as unexpected_err: |
| 178 | logger.error(f"Unexpected error while responding to {interaction.user}: {unexpected_err}") |
| 179 | try: |
| 180 | await interaction.followup.send("An unexpected error occurred. Please try again later.") |
| 181 | except Exception as followup_error: |
| 182 | logger.error(f"Failed to send followup: {followup_error}") |
| 183 | |
| 184 | async def process_shodan_results(interaction: discord.Interaction, result: dict, max_results: int = 10, display_mode: str = "full"): |
| 185 | user = interaction.user.name |
no outgoing calls
no test coverage detected