dont even know if it works lol didnt even test it
This commit is contained in:
commit
5a9c6a45ed
15 changed files with 905 additions and 0 deletions
53
cogs/listener.py
Normal file
53
cogs/listener.py
Normal file
|
|
@ -0,0 +1,53 @@
|
|||
import discord
|
||||
from discord.ext import commands
|
||||
import aiohttp
|
||||
import os
|
||||
from dotenv import load_dotenv
|
||||
|
||||
load_dotenv()
|
||||
|
||||
class MessageLogger(commands.Cog):
|
||||
def __init__(self, bot):
|
||||
self.bot = bot
|
||||
|
||||
# Load webhook URL
|
||||
self.webhook_url = os.getenv("WEBHOOK_URL")
|
||||
if not self.webhook_url:
|
||||
raise ValueError("WEBHOOK_URL environment variable not set.")
|
||||
|
||||
# Load ignored user IDs
|
||||
ignored_ids_str = os.getenv("IGNORED_USER_IDS", "")
|
||||
self.ignored_user_ids = [int(uid) for uid in ignored_ids_str.split(",") if uid.strip().isdigit()]
|
||||
|
||||
# Load allowed channel IDs
|
||||
channel_ids_str = os.getenv("CHANNEL_IDS", "")
|
||||
self.allowed_channel_ids = [int(cid) for cid in channel_ids_str.split(",") if cid.strip().isdigit()]
|
||||
|
||||
@commands.Cog.listener()
|
||||
async def on_message(self, message):
|
||||
if message.author == self.bot.user:
|
||||
return
|
||||
|
||||
if message.author.id in self.ignored_user_ids:
|
||||
return
|
||||
|
||||
if message.channel.id not in self.allowed_channel_ids:
|
||||
return
|
||||
|
||||
embed = {
|
||||
"title": "Message Log",
|
||||
"description": message.content,
|
||||
"color": 3426654,
|
||||
"timestamp": message.created_at.isoformat(),
|
||||
"author": {
|
||||
"name": message.author.name,
|
||||
"icon_url": message.author.avatar.url if message.author.avatar else ""
|
||||
},
|
||||
"fields": [
|
||||
{"name": "Channel", "value": message.channel.mention, "inline": False},
|
||||
{"name": "User ID", "value": str(message.author.id), "inline": False}
|
||||
]
|
||||
}
|
||||
|
||||
async with aiohttp.ClientSession() as session:
|
||||
await session.post(self.webhook_url, json={"embeds": [embed]})
|
||||
Loading…
Add table
Add a link
Reference in a new issue