MangaBot/main.py

77 lines
2.0 KiB
Python

import os
import discord
from discord import app_commands
from dotenv import load_dotenv
import embed_util
import manager
import manga_api
mh = manga_api.MangaHandler()
load_dotenv()
intents = discord.Intents.default()
client = discord.Client(intents=intents)
tree = app_commands.CommandTree(client)
man = manager.Manager(client)
@tree.command(
name="ping",
description="My first application Command",
guild=discord.Object(id=1042133536926347324)
)
async def first_command(interaction: discord.Interaction):
chanel = await interaction.user.create_dm()
await chanel.send("Hi")
@tree.command(
name="search",
description="Search for manga to follow",
guild=discord.Object(id=1042133536926347324)
)
@app_commands.describe(title='Title of the manga to search for')
async def search_command(
interaction: discord.Interaction,
title: str
):
await interaction.response.send_message("Check your DM's")
chanel = await interaction.user.create_dm()
manga_list = mh.search(title)
view = embed_util.ListManga(manga_list)
msg = await chanel.send(view=view, embed=embed_util.manga_embed(manga_list[0]))
await view.force_reload(msg)
await view.wait()
print("Done.. Checking Returns")
ret: list[dict] = view.ret
for action in ret:
if action["action"] == 1:
manga_id = action["manga"]
print(f"Userid {interaction.user.id} added mangaid {manga_id}")
man.add_user_to_manga(interaction.user, manga_api.Manga(manga_id))
if action["action"] == -1:
manga_id = action["manga"]
print(f"Userid {interaction.user.id} removed mangaid {manga_id}")
man.remove_user_from_manga(interaction.user, manga_api.Manga(manga_id))
await chanel.send("Done")
await man.update()
@client.event
async def on_ready():
await tree.sync(guild=discord.Object(id=1042133536926347324))
print("Ready!")
client.run(os.environ.get("BOT_TOKEN"))