From bc17ec3f60b061ce93f627c1f69182f655d4fc37 Mon Sep 17 00:00:00 2001 From: Joseph Banks Date: Sat, 11 Apr 2020 19:18:31 +0100 Subject: Address review comments from Mark --- bot.svg | 3795 +++++++++++++++++++++++++++++++++++++++++++++ bot/__main__.py | 4 +- bot/cogs/defcon.py | 2 +- bot/cogs/error_handler.py | 2 +- bot/cogs/filtering.py | 2 +- bot/cogs/stats.py | 46 +- 6 files changed, 3837 insertions(+), 14 deletions(-) create mode 100644 bot.svg diff --git a/bot.svg b/bot.svg new file mode 100644 index 000000000..97a3914d4 --- /dev/null +++ b/bot.svg @@ -0,0 +1,3795 @@ + + + + + + +G + + + +bot_cogs_clean + +bot.cogs.clean + + + +requests + +requests + + + +discord_Webhook + +discord. +Webhook + + + +requests->discord_Webhook + + + + + +bot_cogs_doc + +bot.cogs.doc + + + +requests->bot_cogs_doc + + + + + +bot_bot + +bot.bot + + + +bot_bot->bot_cogs_clean + + + + + +bot_cogs_moderation_management + +bot. +cogs. +moderation. +management + + + +bot_bot->bot_cogs_moderation_management + + + + + +bot_cogs_webhook_remover + +bot. +cogs. +webhook_remover + + + +bot_bot->bot_cogs_webhook_remover + + + + + + + +bot_cogs_verification + +bot. +cogs. +verification + + + +bot_bot->bot_cogs_verification + + + + + +bot_cogs_wolfram + +bot. +cogs. +wolfram + + + +bot_bot->bot_cogs_wolfram + + + + + + +bot_cogs_site + +bot.cogs.site + + + +bot_bot->bot_cogs_site + + + + + +bot_cogs_watchchannels_watchchannel + +bot. +cogs. +watchchannels. +watchchannel + + + +bot_bot->bot_cogs_watchchannels_watchchannel + + + + + + +bot_cogs_extensions + +bot. +cogs. +extensions + + + +bot_bot->bot_cogs_extensions + + + + + +bot_cogs_antimalware + +bot. +cogs. +antimalware + + + +bot_bot->bot_cogs_antimalware + + + + + +bot___main__ + +bot.__main__ + + + +bot_bot->bot___main__ + + + + + +bot_cogs_moderation + +bot. +cogs. +moderation + + + +bot_bot->bot_cogs_moderation + + + + + +bot_cogs_duck_pond + +bot. +cogs. +duck_pond + + + +bot_bot->bot_cogs_duck_pond + + + + + + +bot_cogs_antispam + +bot. +cogs. +antispam + + + +bot_bot->bot_cogs_antispam + + + + + +bot_interpreter + +bot. +interpreter + + + +bot_bot->bot_interpreter + + + + + +bot_cogs_moderation_superstarify + +bot. +cogs. +moderation. +superstarify + + + +bot_bot->bot_cogs_moderation_superstarify + + + + +bot_cogs_defcon + +bot. +cogs. +defcon + + + +bot_bot->bot_cogs_defcon + + + + + + +bot_cogs_moderation_ModLog + +bot. +cogs. +moderation. +ModLog + + + +bot_bot->bot_cogs_moderation_ModLog + + + + + +bot_cogs_watchchannels_talentpool + +bot. +cogs. +watchchannels. +talentpool + + + +bot_bot->bot_cogs_watchchannels_talentpool + + + + +bot_cogs_information + +bot. +cogs. +information + + + +bot_bot->bot_cogs_information + + + + + +bot_cogs_off_topic_names + +bot. +cogs. +off_topic_names + + + +bot_bot->bot_cogs_off_topic_names + + + + + + +bot_cogs_alias + +bot.cogs.alias + + + +bot_bot->bot_cogs_alias + + + + + + +bot_cogs_moderation_silence + +bot. +cogs. +moderation. +silence + + + +bot_bot->bot_cogs_moderation_silence + + + + + +bot_cogs_sync_syncers + +bot. +cogs. +sync. +syncers + + + +bot_bot->bot_cogs_sync_syncers + + + + + + +bot_cogs_moderation_scheduler + +bot. +cogs. +moderation. +scheduler + + + +bot_bot->bot_cogs_moderation_scheduler + + + + + + +bot_cogs_eval + +bot.cogs.eval + + + +bot_bot->bot_cogs_eval + + + + + +bot_cogs_help_channels + +bot. +cogs. +help_channels + + + +bot_bot->bot_cogs_help_channels + + + + + +bot_cogs_tags + +bot.cogs.tags + + + +bot_bot->bot_cogs_tags + + + + + + +bot_cogs_reddit + +bot. +cogs. +reddit + + + +bot_bot->bot_cogs_reddit + + + + + + +bot_cogs_utils + +bot.cogs.utils + + + +bot_bot->bot_cogs_utils + + + + + +bot_cogs_sync + +bot.cogs.sync + + + +bot_bot->bot_cogs_sync + + + + + +bot_cogs_help + +bot.cogs.help + + + +bot_bot->bot_cogs_help + + + + + +bot_cogs_bot + +bot.cogs.bot + + + +bot_bot->bot_cogs_bot + + + + + + + + +bot_cogs_watchchannels_bigbrother + +bot. +cogs. +watchchannels. +bigbrother + + + +bot_bot->bot_cogs_watchchannels_bigbrother + + + + +bot_cogs_logging + +bot. +cogs. +logging + + + +bot_bot->bot_cogs_logging + + + + + + +bot_cogs_config_verifier + +bot. +cogs. +config_verifier + + + +bot_bot->bot_cogs_config_verifier + + + + + + +bot_cogs_moderation_modlog + +bot. +cogs. +moderation. +modlog + + + +bot_bot->bot_cogs_moderation_modlog + + + + + + +bot_cogs_sync_cog + +bot. +cogs. +sync. +cog + + + +bot_bot->bot_cogs_sync_cog + + + + + + +bot_cogs_snekbox + +bot. +cogs. +snekbox + + + +bot_bot->bot_cogs_snekbox + + + + + +bot_cogs_moderation_infractions + +bot. +cogs. +moderation. +infractions + + + +bot_bot->bot_cogs_moderation_infractions + + + + + +bot_cogs_watchchannels + +bot. +cogs. +watchchannels + + + +bot_bot->bot_cogs_watchchannels + + + + + +bot_bot->bot_cogs_doc + + + + + +bot_cogs_security + +bot. +cogs. +security + + + +bot_bot->bot_cogs_security + + + + + +bot_cogs_reminders + +bot. +cogs. +reminders + + + +bot_bot->bot_cogs_reminders + + + + + +bot_cogs_token_remover + +bot. +cogs. +token_remover + + + +bot_bot->bot_cogs_token_remover + + + + + + +bot_cogs_filtering + +bot. +cogs. +filtering + + + +bot_bot->bot_cogs_filtering + + + + + +bot_cogs_jams + +bot.cogs.jams + + + +bot_bot->bot_cogs_jams + + + + + +bot_cogs_error_handler + +bot. +cogs. +error_handler + + + +bot_bot->bot_cogs_error_handler + + + + + +bot_rules_attachments + +bot. +rules. +attachments + + + +bot_rules + +bot.rules + + + +bot_rules_attachments->bot_rules + + + + + +bot_cogs_stats + +bot.cogs.stats + + + +bot_api + +bot.api + + + +bot_api->bot_bot + + + + + +bot_api->bot_cogs_watchchannels_watchchannel + + + + +bot_cogs_moderation_utils + +bot. +cogs. +moderation. +utils + + + +bot_api->bot_cogs_moderation_utils + + + + + +bot_api->bot_cogs_watchchannels_talentpool + + + + +bot_api->bot_cogs_off_topic_names + + + + + +bot_api->bot_cogs_sync_syncers + + + + + +bot_api->bot_cogs_moderation_scheduler + + + + +bot_api->bot_cogs_sync_cog + + + + + +bot_api->bot_cogs_error_handler + + + + + + + +bot_cogs_moderation_management->bot_cogs_moderation + + + + + +urllib3_exceptions + +urllib3. +exceptions + + + +urllib3_exceptions->requests + + + + + +urllib3 + +urllib3 + + + +urllib3_exceptions->urllib3 + + + + + +urllib3_exceptions->bot_cogs_doc + + + + + +dateutil_parser + +dateutil. +parser + + + +bot_converters + +bot.converters + + + +dateutil_parser->bot_converters + + + + + +dateutil_parser->bot_cogs_watchchannels_watchchannel + + + + + + +bot_utils_time + +bot.utils.time + + + +dateutil_parser->bot_utils_time + + + + + +dateutil_parser->bot_cogs_moderation_scheduler + + + + + + +dateutil_parser->bot_cogs_reminders + + + + +dateutil_relativedelta + +dateutil. +relativedelta + + + +dateutil_relativedelta->bot_cogs_wolfram + + + + + + +dateutil_relativedelta->bot_converters + + + + + + +dateutil_relativedelta->bot_cogs_moderation_ModLog + + + + + + +dateutil_relativedelta->bot_utils_time + + + + + +dateutil_relativedelta->bot_cogs_utils + + + + + +dateutil_relativedelta->bot_cogs_moderation_modlog + + + + + +dateutil_relativedelta->bot_cogs_reminders + + + + +dateutil_relativedelta->bot_cogs_filtering + + + + + + +bot_rules_chars + +bot. +rules. +chars + + + +bot_rules_chars->bot_rules + + + + + +discord_Guild + +discord.Guild + + + +discord_Guild->bot_cogs_sync_syncers + + + + + +bot_converters->bot_cogs_moderation_management + + + + +bot_converters->bot_cogs_antispam + + + + + +bot_converters->bot_cogs_moderation_superstarify + + + + +bot_converters->bot_cogs_watchchannels_talentpool + + + + + + +bot_converters->bot_cogs_alias + + + + + +bot_converters->bot_cogs_moderation_silence + + + + +bot_converters->bot_cogs_tags + + + + + +bot_converters->bot_cogs_reddit + + + + + +bot_converters->bot_cogs_watchchannels_bigbrother + + + + +bot_converters->bot_cogs_moderation_infractions + + + + + +bot_converters->bot_cogs_doc + + + + + +bot_converters->bot_cogs_reminders + + + + +bot_converters->bot_cogs_error_handler + + + + + +bs4 + +bs4 + + + +bs4->bot_cogs_doc + + + + + +discord_Client + +discord.Client + + + +bot_utils_messages + +bot. +utils. +messages + + + +discord_Client->bot_utils_messages + + + + +bot_rules_burst_shared + +bot. +rules. +burst_shared + + + +bot_rules_burst_shared->bot_rules + + + + + +bot_cogs_watchchannels_watchchannel->bot_cogs_watchchannels_talentpool + + + + + +bot_cogs_watchchannels_watchchannel->bot_cogs_watchchannels_bigbrother + + + + + +aiohttp + +aiohttp + + + +aiohttp->bot_bot + + + + + +aiohttp->bot_api + + + + + + +aiohttp->bot_converters + + + + + +aiohttp->discord_Client + + + + + + +aiohttp->discord_Webhook + + + + + +aiohttp->bot_cogs_reddit + + + + + +bot_cogs_extensions->bot_cogs_alias + + + + + +discord_User + +discord.User + + + +discord_User->bot_cogs_clean + + + + + + +discord_User->bot_cogs_duck_pond + + + + + + + +discord_User->bot_cogs_sync_syncers + + + + + +discord_User->bot_cogs_help + + + + + +discord_User->bot_cogs_sync_cog + + + + + +discord_User->bot_cogs_snekbox + + + + + +bot_rules->bot_cogs_antispam + + + + + +bot_cogs_moderation->bot_cogs_clean + + + + + +bot_cogs_moderation->bot_cogs_webhook_remover + + + + + +bot_cogs_moderation->bot_cogs_verification + + + + + +bot_cogs_moderation->bot_cogs_watchchannels_watchchannel + + + + + +bot_cogs_moderation->bot_cogs_antispam + + + + + +bot_cogs_moderation->bot_cogs_defcon + + + + + +bot_cogs_moderation->bot_cogs_watchchannels_bigbrother + + + + +bot_cogs_moderation->bot_cogs_token_remover + + + + + +bot_cogs_moderation->bot_cogs_filtering + + + + + +discord + +discord + + + +discord->bot_cogs_clean + + + + + +discord->bot_bot + + + + + +discord->bot_rules_attachments + + + + + +discord->bot_cogs_stats + + + + + +discord->bot_cogs_moderation_management + + + + + +discord->bot_cogs_webhook_remover + + + + +discord->bot_cogs_verification + + + + + + +discord->bot_cogs_wolfram + + + + + + + +discord->bot_rules_chars + + + + + +discord->bot_converters + + + + + +discord->bot_cogs_site + + + + + + +discord->bot_rules_burst_shared + + + + + +discord->bot_cogs_watchchannels_watchchannel + + + + + +discord->bot_cogs_extensions + + + + + +discord->bot_cogs_antimalware + + + + + +discord->bot___main__ + + + + + + +discord->bot_cogs_duck_pond + + + + + +discord->bot_cogs_antispam + + + + +discord->bot_interpreter + + + + + +discord->bot_cogs_moderation_superstarify + + + + + +discord->bot_cogs_defcon + + + + + + +bot_pagination + +bot.pagination + + + +discord->bot_pagination + + + + + +discord->bot_cogs_moderation_ModLog + + + + + + +discord->bot_cogs_moderation_utils + + + + + + +bot_rules_newlines + +bot. +rules. +newlines + + + +discord->bot_rules_newlines + + + + + + +discord->bot_cogs_watchchannels_talentpool + + + + + +discord->bot_cogs_information + + + + + +discord->bot_cogs_off_topic_names + + + + + +discord->bot_cogs_alias + + + + + +discord->bot_cogs_moderation_silence + + + + + + +discord->bot_cogs_sync_syncers + + + + + + +discord->bot_cogs_moderation_scheduler + + + + + + +discord->bot_cogs_eval + + + + + + +bot_rules_burst + +bot. +rules. +burst + + + +discord->bot_rules_burst + + + + + +discord->bot_cogs_help_channels + + + + + + +discord->bot_cogs_tags + + + + + +discord->bot_cogs_reddit + + + + + + +discord->bot_cogs_utils + + + + + +bot_rules_discord_emojis + +bot. +rules. +discord_emojis + + + +discord->bot_rules_discord_emojis + + + + + +bot_rules_duplicates + +bot. +rules. +duplicates + + + +discord->bot_rules_duplicates + + + + + +discord->bot_cogs_help + + + + + +discord->bot_cogs_bot + + + + + + + +discord->bot_cogs_logging + + + + + + +bot_rules_mentions + +bot. +rules. +mentions + + + +discord->bot_rules_mentions + + + + + +bot_decorators + +bot.decorators + + + +discord->bot_decorators + + + + + +discord->bot_cogs_moderation_modlog + + + + + +discord->bot_cogs_sync_cog + + + + + +discord->bot_cogs_snekbox + + + + + +discord->bot_cogs_moderation_infractions + + + + + + +bot_rules_links + +bot. +rules. +links + + + +discord->bot_rules_links + + + + + + +discord->bot_cogs_doc + + + + + +discord->bot_utils_messages + + + + + +bot_patches_message_edited_at + +bot. +patches. +message_edited_at + + + +discord->bot_patches_message_edited_at + + + + + + + +discord->bot_cogs_reminders + + + + + +bot_rules_role_mentions + +bot. +rules. +role_mentions + + + +discord->bot_rules_role_mentions + + + + + +discord->bot_cogs_token_remover + + + + + +discord->bot_cogs_filtering + + + + + +discord->bot_cogs_jams + + + + + +bot_constants + +bot.constants + + + +bot_constants->bot_cogs_clean + + + + + +bot_constants->bot_bot + + + + + +bot_constants->bot_api + + + + + +bot_constants->bot_cogs_moderation_management + + + + + +bot_constants->bot_cogs_webhook_remover + + + + +bot_constants->bot_cogs_verification + + + + + +bot_constants->bot_cogs_wolfram + + + + +bot_constants->bot_cogs_site + + + + + + +bot_constants->bot_cogs_watchchannels_watchchannel + + + + + +bot_constants->bot_cogs_extensions + + + + + +bot_constants->bot_cogs_antimalware + + + + + +bot_constants->bot___main__ + + + + + +bot_constants->bot_cogs_duck_pond + + + + + + +bot_constants->bot_cogs_antispam + + + + + +bot_constants->bot_cogs_moderation_superstarify + + + + +bot_constants->bot_cogs_defcon + + + + + +bot_constants->bot_pagination + + + + + + +bot_constants->bot_cogs_moderation_ModLog + + + + + + +bot_constants->bot_cogs_moderation_utils + + + + + +bot_constants->bot_cogs_watchchannels_talentpool + + + + + + +bot_constants->bot_cogs_information + + + + + + +bot_constants->bot_cogs_off_topic_names + + + + + +bot_constants->bot_cogs_moderation_silence + + + + + + +bot_constants->bot_cogs_sync_syncers + + + + + +bot_constants->bot_cogs_moderation_scheduler + + + + + + +bot_constants->bot_cogs_eval + + + + + +bot_constants->bot_cogs_help_channels + + + + + +bot_constants->bot_cogs_tags + + + + + + +bot_constants->bot_cogs_reddit + + + + +bot_constants->bot_cogs_utils + + + + + +bot_constants->bot_cogs_help + + + + + + + +bot_constants->bot_cogs_bot + + + + + +bot_constants->bot_cogs_watchchannels_bigbrother + + + + + + +bot_constants->bot_cogs_logging + + + + + + +bot_constants->bot_cogs_config_verifier + + + + + +bot_constants->bot_decorators + + + + +bot_constants->bot_cogs_moderation_modlog + + + + + + +bot_constants->bot_cogs_sync_cog + + + + + + +bot_constants->bot_cogs_snekbox + + + + + + +bot_constants->bot_cogs_moderation_infractions + + + + + + +bot_constants->bot_cogs_doc + + + + + +bot_constants->bot_utils_messages + + + + + + +bot_constants->bot_cogs_reminders + + + + +bot_constants->bot_cogs_token_remover + + + + + +bot_constants->bot_cogs_filtering + + + + + + + + +bot_constants->bot_cogs_jams + + + + + +bot_constants->bot_cogs_error_handler + + + + +discord_File + +discord.File + + + +discord_File->bot_utils_messages + + + + +discord_Reaction + +discord. +Reaction + + + +discord_Reaction->bot_cogs_sync_syncers + + + + + +discord_Reaction->bot_cogs_help + + + + + +discord_Reaction->bot_cogs_snekbox + + + + + +discord_Reaction->bot_utils_messages + + + + + +bot_interpreter->bot_cogs_eval + + + + + + +bot_cogs_moderation_superstarify->bot_cogs_moderation + + + + + + +more_itertools + +more_itertools + + + +more_itertools->bot_cogs_jams + + + + + +statsd + +statsd + + + +statsd->bot_bot + + + + + +bot_pagination->bot_cogs_moderation_management + + + + + + + +bot_pagination->bot_cogs_wolfram + + + + + +bot_pagination->bot_cogs_site + + + + + +bot_pagination->bot_cogs_watchchannels_watchchannel + + + + + +bot_pagination->bot_cogs_extensions + + + + + +bot_pagination->bot_cogs_watchchannels_talentpool + + + + + +bot_pagination->bot_cogs_information + + + + + +bot_pagination->bot_cogs_off_topic_names + + + + + + +bot_pagination->bot_cogs_alias + + + + + +bot_pagination->bot_cogs_tags + + + + + +bot_pagination->bot_cogs_reddit + + + + + + +bot_pagination->bot_cogs_help + + + + + +bot_pagination->bot_cogs_doc + + + + + +bot_pagination->bot_cogs_reminders + + + + + +bot_utils_checks + +bot. +utils. +checks + + + +bot_utils_checks->bot_cogs_moderation_management + + + + + +bot_utils_checks->bot_cogs_verification + + + + + +bot_utils_checks->bot_cogs_extensions + + + + + + +bot_utils_checks->bot_cogs_moderation_superstarify + + + + + +bot_utils_checks->bot_cogs_information + + + + + +bot_utils_checks->bot_cogs_moderation_silence + + + + + + +bot_utils_checks->bot_decorators + + + + + +bot_utils_checks->bot_cogs_moderation_infractions + + + + + + +bot_utils_checks->bot_cogs_reminders + + + + +bot_cogs_moderation_ModLog->bot_cogs_clean + + + + + + +bot_cogs_moderation_ModLog->bot_cogs_verification + + + + + +bot_cogs_moderation_ModLog->bot_cogs_watchchannels_watchchannel + + + + + +bot_cogs_moderation_ModLog->bot_cogs_antispam + + + + + +bot_cogs_moderation_ModLog->bot_cogs_defcon + + + + + + +bot_cogs_moderation_ModLog->bot_cogs_token_remover + + + + + + + +bot_cogs_moderation_ModLog->bot_cogs_filtering + + + + + + + +discord_Object + +discord.Object + + + +discord_Object->bot_cogs_verification + + + + + +discord_Object->bot_cogs_antispam + + + + + + +bot_cogs_moderation_utils->bot_cogs_moderation_management + + + + + +bot_cogs_moderation_utils->bot_cogs_moderation_superstarify + + + + + + +bot_cogs_moderation_utils->bot_cogs_moderation_scheduler + + + + + +bot_cogs_moderation_utils->bot_cogs_watchchannels_bigbrother + + + + + + + +bot_cogs_moderation_utils->bot_cogs_moderation_infractions + + + + + +discord_Webhook->bot_utils_messages + + + + + + + +bot_rules_newlines->bot_rules + + + + + +bot_cogs_watchchannels_talentpool->bot_cogs_watchchannels + + + + + +discord_utils + +discord.utils + + + +discord_utils->discord_Guild + + + + + +discord_utils->discord_Client + + + + +discord_utils->discord_User + + + + + +discord_utils->discord + + + + + +discord_utils->bot_cogs_moderation_ModLog + + + + + + +discord_utils->discord_Object + + + + + +discord_utils->discord_Webhook + + + + + +discord_utils->bot_cogs_information + + + + + + +discord_Message + +discord. +Message + + + +discord_utils->discord_Message + + + + + +discord_abc + +discord.abc + + + +discord_utils->discord_abc + + + + + +discord_message + +discord. +message + + + +discord_utils->discord_message + + + + + +discord_Role + +discord.Role + + + +discord_utils->discord_Role + + + + + +discord_Member + +discord.Member + + + +discord_utils->discord_Member + + + + + + +discord_utils->bot_cogs_moderation_modlog + + + + + +discord_utils->bot_patches_message_edited_at + + + + + +discord_utils->bot_cogs_token_remover + + + + + +discord_utils->bot_cogs_filtering + + + + + + +discord_utils->bot_cogs_jams + + + + + +bot_cogs_moderation_silence->bot_cogs_moderation + + + + + +bot_utils_time->bot_cogs_moderation_management + + + + + + +bot_utils_time->bot_cogs_wolfram + + + + + +bot_utils_time->bot_cogs_watchchannels_watchchannel + + + + + +bot_utils_time->bot_cogs_moderation_superstarify + + + + + +bot_utils_time->bot_cogs_moderation_ModLog + + + + + +bot_utils_time->bot_cogs_watchchannels_talentpool + + + + +bot_utils_time->bot_cogs_information + + + + + + +bot_utils_time->bot_cogs_moderation_scheduler + + + + + +bot_utils_time->bot_cogs_utils + + + + + +bot_utils_time->bot_cogs_moderation_modlog + + + + + + + +bot_utils_time->bot_cogs_reminders + + + + + +discord_Message->bot_cogs_clean + + + + + +discord_Message->bot_rules_attachments + + + + + +discord_Message->bot_cogs_stats + + + + + +discord_Message->bot_cogs_webhook_remover + + + + + + + +discord_Message->bot_cogs_verification + + + + + +discord_Message->bot_rules_chars + + + + + + +discord_Message->bot_rules_burst_shared + + + + + +discord_Message->bot_cogs_watchchannels_watchchannel + + + + + + +discord_Message->bot_cogs_antimalware + + + + + +discord_Message->bot_cogs_duck_pond + + + + + +discord_Message->bot_cogs_antispam + + + + + +discord_Message->bot_rules_newlines + + + + + + +discord_Message->bot_cogs_information + + + + + +discord_Message->bot_cogs_sync_syncers + + + + + +discord_Message->bot_rules_burst + + + + + + + +discord_Message->bot_cogs_utils + + + + + +discord_Message->bot_rules_discord_emojis + + + + + + +discord_Message->bot_rules_duplicates + + + + + + +discord_Message->bot_cogs_help + + + + + + + + +discord_Message->bot_cogs_bot + + + + + + +discord_Message->bot_rules_mentions + + + + + + +discord_Message->bot_cogs_snekbox + + + + + + + +discord_Message->bot_rules_links + + + + + + +discord_Message->bot_utils_messages + + + + + +discord_Message->bot_rules_role_mentions + + + + + +discord_Message->bot_cogs_token_remover + + + + + + +discord_Message->bot_cogs_filtering + + + + + + + +bot_cogs_sync_syncers->bot_cogs_sync_cog + + + + + +dateutil + +dateutil + + + +dateutil->bot_cogs_wolfram + + + + + +dateutil->bot_converters + + + + + + + +dateutil->bot_cogs_watchchannels_watchchannel + + + + +dateutil->bot_cogs_moderation_ModLog + + + + + +dateutil->bot_utils_time + + + + + +dateutil->bot_cogs_moderation_scheduler + + + + + +dateutil->bot_cogs_utils + + + + + +dateutil->bot_cogs_moderation_modlog + + + + + +dateutil->bot_cogs_reminders + + + + +dateutil->bot_cogs_filtering + + + + + +bot_cogs_moderation_scheduler->bot_cogs_moderation_superstarify + + + + + +bot_cogs_moderation_scheduler->bot_cogs_moderation_infractions + + + + + +bot_rules_burst->bot_rules + + + + + +discord_abc->discord_User + + + + + +discord_abc->discord + + + + + +discord_abc->bot_pagination + + + + + +discord_abc->bot_cogs_moderation_ModLog + + + + + +discord_abc->discord_Member + + + + + +discord_abc->bot_cogs_moderation_modlog + + + + + +discord_abc->bot_utils_messages + + + + +discord_message->discord + + + + + +discord_message->discord_Webhook + + + + + +discord_message->bot_patches_message_edited_at + + + + + + +bot_rules_discord_emojis->bot_rules + + + + + +yaml + +yaml + + + +yaml->bot_constants + + + + + +bot_rules_duplicates->bot_rules + + + + + +urllib3->requests + + + + + +urllib3->bot_cogs_doc + + + + + + +discord_Role->bot_cogs_information + + + + + +discord_Role->bot_cogs_utils + + + + + +discord_Role->bot_cogs_sync_cog + + + + + +discord_Colour + +discord.Colour + + + +discord_Colour->bot_cogs_clean + + + + +discord_Colour->bot_cogs_webhook_remover + + + + + +discord_Colour->bot_cogs_verification + + + + + +discord_Colour->bot_cogs_site + + + + + + +discord_Colour->bot_cogs_extensions + + + + + +discord_Colour->bot_cogs_antispam + + + + + +discord_Colour->bot_cogs_moderation_superstarify + + + + + + +discord_Colour->bot_cogs_defcon + + + + + + +discord_Colour->bot_cogs_moderation_ModLog + + + + + + +discord_Colour->bot_cogs_information + + + + + +discord_Colour->bot_cogs_off_topic_names + + + + + +discord_Colour->bot_cogs_alias + + + + + +discord_Colour->bot_cogs_tags + + + + + +discord_Colour->bot_cogs_reddit + + + + + +discord_Colour->bot_cogs_utils + + + + + +discord_Colour->bot_cogs_help + + + + + +discord_Colour->bot_decorators + + + + + +discord_Colour->bot_cogs_moderation_modlog + + + + + + +discord_Colour->bot_cogs_token_remover + + + + + + +discord_Colour->bot_cogs_filtering + + + + + +bot_cogs_watchchannels_bigbrother->bot_cogs_watchchannels + + + + + +discord_Member->bot_rules_attachments + + + + + + + +discord_Member->bot_cogs_stats + + + + + +discord_Member->bot_rules_chars + + + + + +discord_Member->bot_rules_burst_shared + + + + + +discord_Member->bot_cogs_duck_pond + + + + + + +discord_Member->bot_cogs_antispam + + + + +discord_Member->bot_cogs_moderation_superstarify + + + + + +discord_Member->bot_cogs_defcon + + + + + +discord_Member->bot_rules_newlines + + + + + +discord_Member->bot_cogs_watchchannels_talentpool + + + + + + +discord_Member->bot_cogs_information + + + + + +discord_Member->bot_cogs_sync_syncers + + + + + +discord_Member->bot_rules_burst + + + + + +discord_Member->bot_rules_discord_emojis + + + + + +discord_Member->bot_rules_duplicates + + + + +discord_Member->bot_rules_mentions + + + + +discord_Member->bot_decorators + + + + + +discord_Member->bot_cogs_sync_cog + + + + + +discord_Member->bot_cogs_moderation_infractions + + + + + +discord_Member->bot_rules_links + + + + + +discord_Member->bot_utils_messages + + + + + + +discord_Member->bot_rules_role_mentions + + + + + +discord_Member->bot_cogs_filtering + + + + + + + +discord_Member->bot_cogs_jams + + + + + +bot_rules_mentions->bot_rules + + + + + +bot_decorators->bot_cogs_clean + + + + + + + + +bot_decorators->bot_cogs_verification + + + + +bot_decorators->bot_cogs_defcon + + + + + +bot_decorators->bot_cogs_watchchannels_talentpool + + + + + +bot_decorators->bot_cogs_information + + + + + +bot_decorators->bot_cogs_off_topic_names + + + + + +bot_decorators->bot_cogs_eval + + + + + +bot_decorators->bot_cogs_help_channels + + + + + + +bot_decorators->bot_cogs_reddit + + + + + +bot_decorators->bot_cogs_utils + + + + + +bot_decorators->bot_cogs_help + + + + + +bot_decorators->bot_cogs_bot + + + + +bot_decorators->bot_cogs_watchchannels_bigbrother + + + + + +bot_decorators->bot_cogs_snekbox + + + + + + +bot_decorators->bot_cogs_moderation_infractions + + + + + +bot_decorators->bot_cogs_doc + + + + + +bot_decorators->bot_cogs_jams + + + + + +bot_decorators->bot_cogs_error_handler + + + + + +bot_cogs_moderation_modlog->bot_cogs_moderation_management + + + + + + +bot_cogs_moderation_modlog->bot_cogs_webhook_remover + + + + + +bot_cogs_moderation_modlog->bot_cogs_moderation + + + + +bot_cogs_moderation_modlog->bot_cogs_moderation_scheduler + + + + + +bot_patches + +bot.patches + + + +bot_patches->bot___main__ + + + + + +bot_cogs_sync_cog->bot_cogs_sync + + + + + +bot_utils + +bot.utils + + + +bot_utils->bot_cogs_moderation_management + + + + +bot_utils->bot_cogs_verification + + + + + + +bot_utils->bot_cogs_wolfram + + + + + +bot_utils->bot_cogs_watchchannels_watchchannel + + + + + + +bot_utils->bot_cogs_extensions + + + + + +bot_utils->bot_cogs_duck_pond + + + + +bot_utils->bot_cogs_antispam + + + + + + +bot_utils->bot_cogs_moderation_superstarify + + + + + +bot_utils->bot_cogs_moderation_ModLog + + + + + + +bot_utils->bot_cogs_watchchannels_talentpool + + + + + + +bot_utils->bot_cogs_information + + + + +bot_utils->bot_cogs_moderation_silence + + + + + + + +bot_utils->bot_cogs_moderation_scheduler + + + + + +bot_utils->bot_cogs_help_channels + + + + + +bot_utils->bot_cogs_tags + + + + + +bot_utils->bot_cogs_utils + + + + + +bot_utils->bot_cogs_bot + + + + + + +bot_utils->bot_decorators + + + + + +bot_utils->bot_cogs_moderation_modlog + + + + + +bot_utils->bot_cogs_snekbox + + + + + +bot_utils->bot_cogs_moderation_infractions + + + + + + + +bot_utils->bot_cogs_reminders + + + + + + +bot_cogs_moderation_infractions->bot_cogs_moderation_management + + + + + +bot_cogs_moderation_infractions->bot_cogs_moderation + + + + + +bot_rules_links->bot_rules + + + + + +discord_errors + +discord.errors + + + +discord_errors->discord_Guild + + + + + +discord_errors->discord_Client + + + + + + +discord_errors->bot_cogs_watchchannels_watchchannel + + + + +discord_errors->discord_User + + + + + + +discord_errors->discord + + + + + +discord_errors->bot_cogs_duck_pond + + + + + +discord_errors->discord_Webhook + + + + + +discord_errors->discord_utils + + + + + +discord_errors->discord_Message + + + + + + +discord_errors->discord_abc + + + + + +discord_errors->discord_message + + + + + +discord_errors->discord_Role + + + + + + +discord_errors->bot_decorators + + + + + + +discord_errors->bot_cogs_doc + + + + + + +discord_errors->bot_utils_messages + + + + + +discord_errors->bot_cogs_filtering + + + + + +bot_utils_scheduling + +bot. +utils. +scheduling + + + +bot_utils_scheduling->bot_cogs_moderation_scheduler + + + + +bot_utils_scheduling->bot_cogs_help_channels + + + + + +bot_utils_scheduling->bot_cogs_reminders + + + + + +bs4_element + +bs4.element + + + +bs4_element->bs4 + + + + + +bs4_element->bot_cogs_doc + + + + + +dateutil_tz + +dateutil.tz + + + +dateutil_tz->bot_converters + + + + +bot_utils_messages->bot_cogs_watchchannels_watchchannel + + + + + + + +bot_utils_messages->bot_cogs_duck_pond + + + + + +bot_utils_messages->bot_cogs_antispam + + + + + + +bot_utils_messages->bot_cogs_tags + + + + + +bot_utils_messages->bot_cogs_bot + + + + +bot_utils_messages->bot_cogs_snekbox + + + + +bot_patches_message_edited_at->bot_patches + + + + + +bot_rules_role_mentions->bot_rules + + + + + +bot_cogs_token_remover->bot_cogs_bot + + + + + diff --git a/bot/__main__.py b/bot/__main__.py index 2125e8590..3aa36bfc0 100644 --- a/bot/__main__.py +++ b/bot/__main__.py @@ -46,8 +46,8 @@ bot.load_extension("bot.cogs.verification") # Feature cogs bot.load_extension("bot.cogs.alias") bot.load_extension("bot.cogs.defcon") -bot.load_extension("bot.cogs.eval") bot.load_extension("bot.cogs.duck_pond") +bot.load_extension("bot.cogs.eval") bot.load_extension("bot.cogs.information") bot.load_extension("bot.cogs.jams") bot.load_extension("bot.cogs.moderation") @@ -56,8 +56,8 @@ bot.load_extension("bot.cogs.reddit") bot.load_extension("bot.cogs.reminders") bot.load_extension("bot.cogs.site") bot.load_extension("bot.cogs.snekbox") -bot.load_extension("bot.cogs.sync") bot.load_extension("bot.cogs.stats") +bot.load_extension("bot.cogs.sync") bot.load_extension("bot.cogs.tags") bot.load_extension("bot.cogs.token_remover") bot.load_extension("bot.cogs.utils") diff --git a/bot/cogs/defcon.py b/bot/cogs/defcon.py index 80dc6082f..06b2f25c6 100644 --- a/bot/cogs/defcon.py +++ b/bot/cogs/defcon.py @@ -104,7 +104,7 @@ class Defcon(Cog): log.exception(f"Unable to send rejection message to user: {member}") await member.kick(reason="DEFCON active, user is too new") - self.bot.stats.incr("defcon_leaves") + self.bot.stats.incr("defcon.leaves") message = ( f"{member} (`{member.id}`) was denied entry because their account is too new." diff --git a/bot/cogs/error_handler.py b/bot/cogs/error_handler.py index 747ab4a6e..722376cc6 100644 --- a/bot/cogs/error_handler.py +++ b/bot/cogs/error_handler.py @@ -236,7 +236,7 @@ class ErrorHandler(Cog): f"```{e.__class__.__name__}: {e}```" ) - ctx.bot.stats.incr("command_error_count") + ctx.bot.stats.incr("errors.commands") with push_scope() as scope: scope.user = { diff --git a/bot/cogs/filtering.py b/bot/cogs/filtering.py index fa4420be1..6a703f5a1 100644 --- a/bot/cogs/filtering.py +++ b/bot/cogs/filtering.py @@ -207,7 +207,7 @@ class Filtering(Cog): log.debug(message) - self.bot.stats.incr(f"bot.filters.{filter_name}") + self.bot.stats.incr(f"filters.{filter_name}") additional_embeds = None additional_embeds_msg = None diff --git a/bot/cogs/stats.py b/bot/cogs/stats.py index b75d29b7e..e963dc312 100644 --- a/bot/cogs/stats.py +++ b/bot/cogs/stats.py @@ -1,6 +1,16 @@ from discord import Member, Message, Status from discord.ext.commands import Bot, Cog, Context +from bot.constants import Guild + + +CHANNEL_NAME_OVERRIDES = { + Guild.channels.off_topic_0: "off_topic_0", + Guild.channels.off_topic_1: "off_topic_1", + Guild.channels.off_topic_2: "off_topic_2", + Guild.channels.staff_lounge: "staff_lounge" +} + class Stats(Cog): """A cog which provides a way to hook onto Discord events and forward to stats.""" @@ -14,12 +24,13 @@ class Stats(Cog): if message.guild is None: return + if message.guild.id != Guild.id: + return + reformatted_name = message.channel.name.replace('-', '_') - if reformatted_name.startswith("ot"): - # Off-topic channels change names, we don't want this for stats. - # This will change 'ot1-lemon-in-the-dishwasher' to just 'ot1' - reformatted_name = reformatted_name[:3] + if CHANNEL_NAME_OVERRIDES.get(message.channel.id): + reformatted_name = CHANNEL_NAME_OVERRIDES.get(message.channel.id) stat_name = f"channels.{reformatted_name}" self.bot.stats.incr(stat_name) @@ -37,22 +48,39 @@ class Stats(Cog): @Cog.listener() async def on_member_join(self, member: Member) -> None: """Update member count stat on member join.""" + if member.guild.id != Guild.id: + return + self.bot.stats.gauge(f"guild.total_members", len(member.guild.members)) @Cog.listener() async def on_member_leave(self, member: Member) -> None: """Update member count stat on member leave.""" + if member.guild.id != Guild.id: + return + self.bot.stats.gauge(f"guild.total_members", len(member.guild.members)) @Cog.listener() async def on_member_update(self, _before: Member, after: Member) -> None: """Update presence estimates on member update.""" - members = after.guild.members + if after.guild.id != Guild.id: + return - online = len([m for m in members if m.status == Status.online]) - idle = len([m for m in members if m.status == Status.idle]) - dnd = len([m for m in members if m.status == Status.do_not_disturb]) - offline = len([m for m in members if m.status == Status.offline]) + online = 0 + idle = 0 + dnd = 0 + offline = 0 + + for member in after.guild.members: + if member.status == Status.online: + online += 1 + elif member.status == Status.dnd: + dnd += 1 + elif member.status == Status.idle: + idle += 1 + else: + offline += 1 self.bot.stats.gauge("guild.status.online", online) self.bot.stats.gauge("guild.status.idle", idle) -- cgit v1.2.3