47 lines
1.5 KiB
Python
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)
|