mirror of
https://github.com/alterware/aw-bot.git
synced 2025-10-26 06:05:54 +00:00
chore: lighten the load for messages
This commit is contained in:
@@ -1,15 +1,33 @@
|
||||
from typing import Literal
|
||||
import re
|
||||
|
||||
import discord
|
||||
from discord import app_commands
|
||||
|
||||
from database import add_pattern, add_user_to_blacklist
|
||||
from database import add_pattern, add_user_to_blacklist, is_user_blacklisted
|
||||
|
||||
from bot.config import update_patterns
|
||||
from bot.config import update_patterns, message_patterns
|
||||
from bot.utils import compile_stats, fetch_game_stats, perform_search
|
||||
|
||||
GUILD_ID = 1110531063161299074
|
||||
|
||||
BOT_LOG = 1112049391482703873
|
||||
GENERAL_CHANNEL = 1110531063744303138
|
||||
ALLOWED_CHANNELS = [
|
||||
GENERAL_CHANNEL,
|
||||
1119371841711112314, # vip-channel
|
||||
1112048063448617142, # off-topic
|
||||
1112016681880014928, # mw2 sp
|
||||
1145459504436220014, # iw5 support
|
||||
1145469136919613551, # s1 general
|
||||
1145459788151537804, # s1 support
|
||||
1145469106133401682, # iw6 general
|
||||
1145458770122649691, # iw6 support
|
||||
1180796251529293844, # bo3 general
|
||||
1180796301953212537, # bo3 support
|
||||
BOT_LOG,
|
||||
]
|
||||
|
||||
|
||||
async def setup(bot):
|
||||
async def on_tree_error(
|
||||
@@ -92,6 +110,44 @@ async def setup(bot):
|
||||
|
||||
await interaction.response.send_message(stats_message, ephemeral=True)
|
||||
|
||||
@bot.tree.command(
|
||||
name="meme",
|
||||
description="Check if the input matches any predefined memess.",
|
||||
guild=discord.Object(id=GUILD_ID),
|
||||
)
|
||||
async def meme(interaction: discord.Interaction, input: str):
|
||||
"""
|
||||
Slash command to check if the input matches any predefined patterns.
|
||||
"""
|
||||
# Check if the command is executed in an allowed channel
|
||||
if interaction.channel_id not in ALLOWED_CHANNELS:
|
||||
await interaction.response.send_message(
|
||||
"This command cannot be used in this channel.", ephemeral=True
|
||||
)
|
||||
return
|
||||
|
||||
# Check if the user is blacklisted
|
||||
if is_user_blacklisted(interaction.user.id):
|
||||
await interaction.response.send_message(
|
||||
"You are blacklisted from using this command.", ephemeral=True
|
||||
)
|
||||
return
|
||||
|
||||
# Check if any of the patterns match the input
|
||||
for pattern in message_patterns:
|
||||
if re.search(pattern["regex"], input, re.IGNORECASE):
|
||||
response = pattern["response"]
|
||||
reply_message = await interaction.response.send_message(
|
||||
response, ephemeral=False
|
||||
)
|
||||
# Add a reaction to the reply message (if the user decides to delete it)
|
||||
await reply_message.add_reaction("\U0000274C")
|
||||
break
|
||||
else:
|
||||
await interaction.response.send_message(
|
||||
"No matching patterns found.", ephemeral=True
|
||||
)
|
||||
|
||||
await bot.tree.sync(guild=discord.Object(id=GUILD_ID)) # Force sync
|
||||
|
||||
print("Commands extension loaded!")
|
||||
|
||||
@@ -2,10 +2,6 @@ import json
|
||||
import os
|
||||
from database import get_patterns
|
||||
|
||||
PATTERNS_FILE = "patterns.json"
|
||||
|
||||
BOT_DATA_DIR = os.getenv("BOT_DATA_DIR", "/bot-data")
|
||||
|
||||
message_patterns = get_patterns()
|
||||
|
||||
|
||||
|
||||
@@ -1,12 +1,10 @@
|
||||
from datetime import timedelta
|
||||
import re
|
||||
import discord
|
||||
|
||||
from bot.utils import timeout_member, aware_utcnow
|
||||
from bot.config import message_patterns
|
||||
from bot.ai.handle_request import forward_to_google_api
|
||||
|
||||
from database import add_user_to_role, is_user_blacklisted
|
||||
from database import add_user_to_role
|
||||
|
||||
BOT_LOG = 1112049391482703873
|
||||
GENERAL_CHANNEL = 1110531063744303138
|
||||
@@ -20,20 +18,6 @@ HATE_ME_USER_ID = 748201351665680438
|
||||
HATE_ME_URL = "https://cdn.discordapp.com/attachments/1160511084143312959/1361051561400205524/download_1.png"
|
||||
hate_me_last_response_time = None
|
||||
|
||||
ALLOWED_CHANNELS = [
|
||||
GENERAL_CHANNEL,
|
||||
1112048063448617142, # off-topic
|
||||
1112016681880014928, # mw2 sp
|
||||
1145459504436220014, # iw5 support
|
||||
1145469136919613551, # s1 general
|
||||
1145459788151537804, # s1 support
|
||||
1145469106133401682, # iw6 general
|
||||
1145458770122649691, # iw6 support
|
||||
1180796251529293844, # bo3 general
|
||||
1180796301953212537, # bo3 support
|
||||
BOT_LOG,
|
||||
]
|
||||
|
||||
SPAM_ROLE_ID = 1350511935677927514
|
||||
STAFF_ROLE_ID = 1112016152873414707
|
||||
GROK_ROLE_ID = 1362837967919386916
|
||||
@@ -422,20 +406,3 @@ async def handle_message(message, bot):
|
||||
):
|
||||
await message.reply(FAILED_EMBED_MESSAGE)
|
||||
return
|
||||
|
||||
# Check if the message is in an allowed channel
|
||||
if message.channel.id not in ALLOWED_CHANNELS:
|
||||
return
|
||||
|
||||
if is_user_blacklisted(message.author.id):
|
||||
return
|
||||
|
||||
# Check if any of the patterns match the message
|
||||
# print('Checking for patterns...')
|
||||
for pattern in message_patterns:
|
||||
if re.search(pattern["regex"], message.content, re.IGNORECASE):
|
||||
response = pattern["response"]
|
||||
reply_message = await message.reply(response, mention_author=True)
|
||||
# Add a reaction to the reply message (if the user decides to delete it)
|
||||
await reply_message.add_reaction("\U0000274C")
|
||||
break
|
||||
|
||||
Reference in New Issue
Block a user