From e16910a735a7a4229ffd133fcef56951ae4912d1 Mon Sep 17 00:00:00 2001 From: diamante0018 Date: Fri, 29 Aug 2025 19:30:43 +0200 Subject: [PATCH] feat: limit embeds --- aw.py | 4 ++-- bot/ai/handle_request.py | 3 ++- bot/commands.py | 7 +++---- bot/config.py | 3 ++- bot/discourse/__init__.py | 2 +- bot/discourse/handle_request.py | 2 +- bot/events.py | 8 ++++---- bot/events_handlers/__init__.py | 6 +++--- bot/events_handlers/member_events.py | 6 +++--- bot/events_handlers/message_events.py | 14 ++++++++++---- bot/events_handlers/reaction_events.py | 1 + bot/events_handlers/voice_events.py | 3 ++- bot/tasks.py | 11 +++++------ database/__init__.py | 2 +- 14 files changed, 40 insertions(+), 32 deletions(-) diff --git a/aw.py b/aw.py index 42219f1..57197d8 100644 --- a/aw.py +++ b/aw.py @@ -1,11 +1,11 @@ -from dotenv import load_dotenv import os import discord from discord.ext import commands +from dotenv import load_dotenv -from database import initialize_db from bot.ai.handle_request import DiscourseSummarizer +from database import initialize_db GUILD_ID = 1110531063161299074 BOT_LOG = 1112049391482703873 diff --git a/bot/ai/handle_request.py b/bot/ai/handle_request.py index 2b48103..8e77b50 100644 --- a/bot/ai/handle_request.py +++ b/bot/ai/handle_request.py @@ -1,7 +1,8 @@ import os + import requests -from google.genai import types from google import genai +from google.genai import types API_KEY = os.getenv("GOOGLE_API_KEY") diff --git a/bot/commands.py b/bot/commands.py index f755a47..cf61b74 100644 --- a/bot/commands.py +++ b/bot/commands.py @@ -1,13 +1,12 @@ -from typing import Literal import re +from typing import Literal import discord from discord import app_commands -from database import add_pattern, add_user_to_blacklist, is_user_blacklisted - -from bot.config import update_patterns, message_patterns +from bot.config import message_patterns, update_patterns from bot.utils import compile_stats, fetch_game_stats, perform_search +from database import add_pattern, add_user_to_blacklist, is_user_blacklisted GUILD_ID = 1110531063161299074 diff --git a/bot/config.py b/bot/config.py index 7cf1a34..f3bf9d8 100644 --- a/bot/config.py +++ b/bot/config.py @@ -1,5 +1,6 @@ -import os import csv +import os + from database import get_patterns message_patterns = get_patterns() diff --git a/bot/discourse/__init__.py b/bot/discourse/__init__.py index f08ff3d..4deaafa 100644 --- a/bot/discourse/__init__.py +++ b/bot/discourse/__init__.py @@ -1 +1 @@ -from .handle_request import fetch_cooked_posts, get_topics_by_tag, get_topics_by_id +from .handle_request import fetch_cooked_posts, get_topics_by_id, get_topics_by_tag diff --git a/bot/discourse/handle_request.py b/bot/discourse/handle_request.py index 51fd166..2fef2ff 100644 --- a/bot/discourse/handle_request.py +++ b/bot/discourse/handle_request.py @@ -1,6 +1,6 @@ -import requests import os +import requests from bs4 import BeautifulSoup DISCOURSE_BASE_URL = os.getenv("DISCOURSE_BASE_URL") diff --git a/bot/events.py b/bot/events.py index df3ecdc..b8e552a 100644 --- a/bot/events.py +++ b/bot/events.py @@ -1,11 +1,11 @@ from bot.events_handlers import ( + handle_bulk_message_delete, handle_member_join, handle_member_update, - handle_reaction_add, - handle_message_edit, - handle_bulk_message_delete, - handle_message_delete, handle_message, + handle_message_delete, + handle_message_edit, + handle_reaction_add, handle_voice_state_update, ) diff --git a/bot/events_handlers/__init__.py b/bot/events_handlers/__init__.py index 4fe18dc..9d84bd8 100644 --- a/bot/events_handlers/__init__.py +++ b/bot/events_handlers/__init__.py @@ -1,9 +1,9 @@ from .member_events import handle_member_join, handle_member_update -from .reaction_events import handle_reaction_add from .message_events import ( - handle_message_edit, handle_bulk_message_delete, - handle_message_delete, handle_message, + handle_message_delete, + handle_message_edit, ) +from .reaction_events import handle_reaction_add from .voice_events import handle_voice_state_update diff --git a/bot/events_handlers/member_events.py b/bot/events_handlers/member_events.py index 0dd8bec..aa8e023 100644 --- a/bot/events_handlers/member_events.py +++ b/bot/events_handlers/member_events.py @@ -1,8 +1,8 @@ -from bot.utils import generate_random_nickname, is_valid_username, is_numeric_name -from database import user_has_role - import discord +from bot.utils import generate_random_nickname, is_numeric_name, is_valid_username +from database import user_has_role + SPAM_ROLE_ID = 1350511935677927514 diff --git a/bot/events_handlers/message_events.py b/bot/events_handlers/message_events.py index 13983cf..8c84e9d 100644 --- a/bot/events_handlers/message_events.py +++ b/bot/events_handlers/message_events.py @@ -1,10 +1,10 @@ -from datetime import timedelta -import discord import time +from datetime import timedelta + +import discord -from bot.utils import timeout_member, aware_utcnow from bot.ai.handle_request import forward_to_google_api - +from bot.utils import aware_utcnow, timeout_member from database import add_user_to_role BOT_LOG = 1112049391482703873 @@ -390,6 +390,12 @@ async def handle_message(message, bot): await message.delete() return + if len(message.embeds) > 2: + member = message.guild.get_member(message.author.id) + await timeout_member(member, timedelta(minutes=5), "Too many embeds") + await message.delete() + return + if "@everyone" in message.content or "@here" in message.content: if not message.channel.permissions_for(message.author).mention_everyone: spam_role = message.guild.get_role(SPAM_ROLE_ID) diff --git a/bot/events_handlers/reaction_events.py b/bot/events_handlers/reaction_events.py index f73cb59..fd06e83 100644 --- a/bot/events_handlers/reaction_events.py +++ b/bot/events_handlers/reaction_events.py @@ -1,4 +1,5 @@ from datetime import timedelta + from bot.utils import aware_utcnow diff --git a/bot/events_handlers/voice_events.py b/bot/events_handlers/voice_events.py index ef3ef2a..83bfca9 100644 --- a/bot/events_handlers/voice_events.py +++ b/bot/events_handlers/voice_events.py @@ -1,6 +1,7 @@ -import discord import asyncio +import discord + MP3_PATH = "sounds/hello.mp3" diff --git a/bot/tasks.py b/bot/tasks.py index aea58ac..332ba51 100644 --- a/bot/tasks.py +++ b/bot/tasks.py @@ -1,14 +1,13 @@ -from datetime import datetime, timezone import random -import requests +from datetime import datetime, timezone import discord -from discord.ext import tasks, commands +import requests +from discord.ext import commands, tasks -from bot.utils import aware_utcnow, fetch_api_data from bot.config import schizo_messages -from bot.discourse.handle_request import fetch_cooked_posts, combine_posts_text - +from bot.discourse.handle_request import combine_posts_text, fetch_cooked_posts +from bot.utils import aware_utcnow, fetch_api_data from database import migrate_users_with_role TARGET_DATE = datetime(2036, 8, 12, tzinfo=timezone.utc) diff --git a/database/__init__.py b/database/__init__.py index 64fd64e..60471ca 100644 --- a/database/__init__.py +++ b/database/__init__.py @@ -1,5 +1,5 @@ -import sqlite3 import os +import sqlite3 from bot.utils import aware_utcnow