maple/main.py
2024-04-06 18:32:49 +02:00

47 lines
1.5 KiB
Python

from interactions import Client, Intents, listen
from interactions.api.events import MessageCreate, ThreadCreate
from interactions.client.utils import get
from interactions.models.discord.channel import GuildForumPost
import re
from os.path import exists
from messageresponder.mangadex import send_manga_response
from messageresponder.thread_renamer import update_manga_thread
from util.config import DB_PATH, DISCORD_TOKEN
from util.db import setup_database
import locale
locale.setlocale(locale.LC_TIME, "")
if not exists(DB_PATH):
# Set up database
r = setup_database()
if not r:
raise "Could not create database, check above for any errors!"
bot = Client(intents=Intents.new(default=True, guilds=True, guild_messages=True, messages=True, message_content=True))
@listen()
async def on_ready():
print("Ready")
print(f"This bot is owned by {bot.owner}")
@listen()
async def on_message_create(event: MessageCreate):
if event.message.author.bot:
return # No bots
if isinstance(event.message.channel, GuildForumPost) and event.message.channel.initial_post.id == event.message.id\
and event.message.channel.parent_channel.id == 1076231074927091784:
# Manga Thread
await update_manga_thread(event)
return
manga_matches = re.findall(r"<([^@]+?)>", event.message.content, re.MULTILINE)
if len(manga_matches) > 0:
await send_manga_response(event, manga_matches[0])
return
bot.load_extension("commands.yuri")
bot.start(DISCORD_TOKEN)