Update imports for new file structure.

This commit is contained in:
2025-03-19 09:57:36 -04:00
parent 89534ed5b8
commit 12b700f340
25 changed files with 102 additions and 83 deletions
+3 -2
View File
@@ -6,6 +6,7 @@
"CLANLEADER",
"Dakiny",
"DISCORDMANAGER",
"highcouncil"
"highcouncil",
"nextcord"
]
}
}
+1
View File
@@ -0,0 +1 @@
"""Empty init file for dakiny_bot module."""
+14
View File
@@ -0,0 +1,14 @@
"""Starts the app for dakiny_bot."""
import logging
from .app import run
nextcord_logger = logging.getLogger("nextcord")
nextcord_logger.setLevel(logging.DEBUG)
nextcord_handler = logging.FileHandler(filename="nextcord.log", encoding="utf-8", mode="w")
nextcord_handler.setFormatter(logging.Formatter("%(asctime)s:%(levelname)s:%(name)s: %(message)s"))
nextcord_logger.addHandler(nextcord_handler)
if __name__ == "__main__":
run()
+8 -11
View File
@@ -6,12 +6,13 @@ import os
import nextcord
from nextcord.ext import commands
from classes.nominate_highcouncil_views import NominateHighCouncilView
from classes.nominate_views import NominateView
from classes.voting_highcouncil_views import VoteHighcouncilView
from classes.voting_views import VoteView
from DakinySettings import settings
from database_setup import create_database
from dakiny_bot.classes.nominate_highcouncil_views import NominateHighCouncilView
from dakiny_bot.classes.nominate_views import NominateView
from dakiny_bot.classes.voting_highcouncil_views import VoteHighcouncilView
from dakiny_bot.classes.voting_views import VoteView
from dakiny_bot.database import create_database
from .DakinySettings import settings
birthday_list: list[int] = []
@@ -22,7 +23,7 @@ handler.setFormatter(logging.Formatter("%(asctime)s:%(levelname)s:%(name)s: %(me
logger.addHandler(handler)
def main() -> None:
def run() -> None:
"""Builds and runs bot."""
# Allows privileged intents for monitoring members joining, roles editing, and role assignments
# These need to be enabled in the developer portal as well
@@ -53,7 +54,3 @@ def main() -> None:
# Run Discord bot
bot.run(settings.params.discord_token)
if __name__ == "__main__":
main()
+10 -9
View File
@@ -5,20 +5,21 @@ from datetime import UTC, datetime, timedelta
from pathlib import Path
import nextcord
from classes.nominate_highcouncil_views import NominateHighCouncilView
from classes.nominate_views import NominateView
from classes.voting_highcouncil_views import VoteHighcouncilView
from classes.voting_views import VoteView
from DakinySettings import settings
from database_setup.sql_data_classes import (
from sqlalchemy import select, true, update
from sqlalchemy.orm import Session
from dakiny_bot.classes.nominate_highcouncil_views import NominateHighCouncilView
from dakiny_bot.classes.nominate_views import NominateView
from dakiny_bot.classes.voting_highcouncil_views import VoteHighcouncilView
from dakiny_bot.classes.voting_views import VoteView
from dakiny_bot.DakinySettings import settings
from dakiny_bot.database.sql_data_classes import (
CouncilMembers,
ElectionInformation,
Votes,
engine,
)
from sqlalchemy import select, true, update
from sqlalchemy.orm import Session
from utils import (
from dakiny_bot.utils import (
TEMPLATES_DIR,
VoteType,
build_highcouncil_votes_str,
@@ -1,12 +1,13 @@
"""Contains various views to be used in the high council nomination process."""
import nextcord
from DakinySettings import settings
from database_setup.sql_data_classes import CouncilMembers, engine
from nextcord.interactions import Interaction
from sqlalchemy import select
from sqlalchemy.orm import Session
from utils import (
from dakiny_bot.DakinySettings import settings
from dakiny_bot.database.sql_data_classes import CouncilMembers, engine
from dakiny_bot.utils import (
NOMINEE_SPLITTER,
decorate_cl_nomination,
decorate_dm_nomination,
+4 -3
View File
@@ -1,12 +1,13 @@
"""Contains various views to be used in the nomination process."""
import nextcord
from DakinySettings import settings
from database_setup.sql_data_classes import CouncilMembers, engine
from nextcord.interactions import Interaction
from sqlalchemy import select
from sqlalchemy.orm import Session
from utils import NOMINEE_SPLITTER, decorate_nomination, get_election_name
from dakiny_bot.DakinySettings import settings
from dakiny_bot.database.sql_data_classes import CouncilMembers, engine
from dakiny_bot.utils import NOMINEE_SPLITTER, decorate_nomination, get_election_name
class NominateModal(nextcord.ui.Modal):
@@ -1,18 +1,19 @@
"""Contains various views to be used while voting for high council. Controls the logic when performing the vote."""
import nextcord
from DakinySettings import settings
from database_setup.sql_data_classes import (
from nextcord import SelectOption
from nextcord.interactions import Interaction
from sqlalchemy import exc, select, update
from sqlalchemy.orm import Session
from dakiny_bot.DakinySettings import settings
from dakiny_bot.database.sql_data_classes import (
CouncilMembers,
ElectionInformation,
Votes,
engine,
)
from nextcord import SelectOption
from nextcord.interactions import Interaction
from sqlalchemy import exc, select, update
from sqlalchemy.orm import Session
from utils import VoteType, build_highcouncil_votes_str, get_election_name
from dakiny_bot.utils import VoteType, build_highcouncil_votes_str, get_election_name
class VoteSelect(nextcord.ui.StringSelect):
+8 -7
View File
@@ -1,18 +1,19 @@
"""Contains various views to be used while voting. Controls the logic when performing the vote."""
import nextcord
from DakinySettings import settings
from database_setup.sql_data_classes import (
from nextcord import SelectOption
from nextcord.interactions import Interaction
from sqlalchemy import exc, select, update
from sqlalchemy.orm import Session
from dakiny_bot.DakinySettings import settings
from dakiny_bot.database.sql_data_classes import (
CouncilMembers,
ElectionInformation,
Votes,
engine,
)
from nextcord import SelectOption
from nextcord.interactions import Interaction
from sqlalchemy import exc, select, update
from sqlalchemy.orm import Session
from utils import VoteType, build_votes_str, get_election_name
from dakiny_bot.utils import VoteType, build_votes_str, get_election_name
class VoteSelect(nextcord.ui.StringSelect):
+3 -3
View File
@@ -8,9 +8,9 @@ from fastapi import FastAPI
from git import Repo
from nextcord.ext import commands
from classes.gitea_webhook import GiteaWebhook
from DakinySettings import settings
from utils import REPO_DIR, edit_clan_council_info, update_clan_messages
from dakiny_bot.classes.gitea_webhook import GiteaWebhook
from dakiny_bot.DakinySettings import settings
from dakiny_bot.utils import REPO_DIR, edit_clan_council_info, update_clan_messages
if TYPE_CHECKING:
import nextcord
+9 -9
View File
@@ -2,15 +2,15 @@
from nextcord.ext import commands
from cogs.commands.record import RecordCog
from cogs.commands.refresh import RefreshCog
from cogs.commands.remove import RemoveCog
from cogs.commands.request import RequestCog
from cogs.commands.set import SetCog
from cogs.commands.settings import SettingsCog
from cogs.commands.test import TestCog
from cogs.commands.time import TimeCog
from cogs.commands.view import ViewCog
from dakiny_bot.cogs.commands.record import RecordCog
from dakiny_bot.cogs.commands.refresh import RefreshCog
from dakiny_bot.cogs.commands.remove import RemoveCog
from dakiny_bot.cogs.commands.request import RequestCog
from dakiny_bot.cogs.commands.set import SetCog
from dakiny_bot.cogs.commands.settings import SettingsCog
from dakiny_bot.cogs.commands.test import TestCog
from dakiny_bot.cogs.commands.time import TimeCog
from dakiny_bot.cogs.commands.view import ViewCog
# This function will be called when this extension is loaded.
+2 -2
View File
@@ -4,8 +4,8 @@ import nextcord
from discord import TextInputStyle
from nextcord.ext import commands
from DakinySettings import settings
from utils import GUILDS, MAX_DISCORD_MESSAGE_LENGTH, PointType, record_points
from dakiny_bot.DakinySettings import settings
from dakiny_bot.utils import GUILDS, MAX_DISCORD_MESSAGE_LENGTH, PointType, record_points
class RecordCog(commands.Cog, name="Record Commands"):
+1 -1
View File
@@ -6,7 +6,7 @@ from pathlib import Path
import nextcord
from nextcord.ext import commands
from utils import MESSAGES_DIR, edit_clan_council_info, update_clan_messages
from dakiny_bot.utils import MESSAGES_DIR, edit_clan_council_info, update_clan_messages
class RefreshCog(commands.Cog, name="Refresh Commands"):
+3 -3
View File
@@ -5,7 +5,7 @@ from nextcord.ext import commands
from sqlalchemy import delete, select
from sqlalchemy.orm import Session
from database_setup.sql_data_classes import Presences, engine
from dakiny_bot.database.sql_data_classes import Presences, engine
class RemoveCog(commands.Cog, name="Remove Commands"):
@@ -54,14 +54,14 @@ class RemoveCog(commands.Cog, name="Remove Commands"):
"""
with Session(engine) as session:
stmt = select(Presences)
presences_dict: dict[str,str] = {pres.Presence: str(pres.Id) for pres in session.scalars(stmt)}
presences_dict: dict[str, str] = {pres.Presence: str(pres.Id) for pres in session.scalars(stmt)}
# if empty compare string
if not presence_str:
await interaction.response.send_autocomplete(dict(list(presences_dict.items())[:25]))
return
autofilled_presences: dict[str,str] = {
autofilled_presences: dict[str, str] = {
pres: pres_id for pres, pres_id in presences_dict.items() if presence_str.lower() in pres.lower()
}
await interaction.response.send_autocomplete(autofilled_presences[:25])
+2 -2
View File
@@ -4,8 +4,8 @@ import nextcord
from nextcord.ext import commands
from sqlalchemy.orm import Session
from DakinySettings import settings
from database_setup.sql_data_classes import Presences, engine
from dakiny_bot.DakinySettings import settings
from dakiny_bot.database.sql_data_classes import Presences, engine
class RequestCog(commands.Cog, name="Request Commands"):
+2 -2
View File
@@ -8,8 +8,8 @@ from sqlalchemy import delete, select
from sqlalchemy.exc import IntegrityError
from sqlalchemy.orm import Session
from database_setup.sql_data_classes import UserBirthday, engine
from main import birthday_list
from dakiny_bot.app import birthday_list
from dakiny_bot.database.sql_data_classes import UserBirthday, engine
class SetCog(commands.Cog, name="Set Commands"):
+2 -2
View File
@@ -3,8 +3,8 @@
import nextcord
from nextcord.ext import commands
from DakinySettings import settings
from utils import GUILDS
from dakiny_bot.DakinySettings import settings
from dakiny_bot.utils import GUILDS
class SettingsCog(commands.Cog, name="Settings Commands"):
+3 -3
View File
@@ -3,9 +3,9 @@
import nextcord
from nextcord.ext import application_checks, commands
from classes.election import Election
from DakinySettings import settings
from utils import GUILDS, get_active_election_cycle, get_quarter_name
from dakiny_bot.classes.election import Election
from dakiny_bot.DakinySettings import settings
from dakiny_bot.utils import GUILDS, get_active_election_cycle, get_quarter_name
ME = 206602713511886849
+1 -1
View File
@@ -5,7 +5,7 @@ from datetime import MAXYEAR, MINYEAR, UTC, datetime
import nextcord
from nextcord.ext import commands
from utils import GUILDS
from dakiny_bot.utils import GUILDS
class TimeCog(commands.Cog, name="Time Commands"):
+2 -2
View File
@@ -6,13 +6,13 @@ from nextcord.ext import commands
from sqlalchemy import select
from sqlalchemy.orm import Session
from database_setup.sql_data_classes import (
from dakiny_bot.database.sql_data_classes import (
Points,
Presences,
Votes,
engine,
)
from utils import GUILDS, MAX_DISCORD_MESSAGE_LENGTH, PointType, VoteType
from dakiny_bot.utils import GUILDS, MAX_DISCORD_MESSAGE_LENGTH, PointType, VoteType
class ViewCog(commands.Cog, name="View Commands"):
+2 -2
View File
@@ -2,8 +2,8 @@
from nextcord.ext import commands
from cogs.loops.bot_presence import BotPresence
from cogs.loops.daily_loop import DailyLoop
from dakiny_bot.cogs.loops.bot_presence import BotPresence
from dakiny_bot.cogs.loops.daily_loop import DailyLoop
def setup(bot: commands.Bot) -> None:
+1 -1
View File
@@ -5,7 +5,7 @@ from nextcord.ext import commands, tasks
from sqlalchemy import func, select
from sqlalchemy.orm import Session
from database_setup.sql_data_classes import Presences, engine
from dakiny_bot.database.sql_data_classes import Presences, engine
class BotPresence(commands.Cog, name="Bot Presence"):
+5 -5
View File
@@ -9,11 +9,11 @@ from pytz import timezone
from sqlalchemy import select
from sqlalchemy.orm import Session
from classes.election import Election
from DakinySettings import settings
from database_setup.sql_data_classes import UserBirthday, engine
from main import birthday_list
from utils import get_active_election_cycle
from dakiny_bot.app import birthday_list
from dakiny_bot.classes.election import Election
from dakiny_bot.DakinySettings import settings
from dakiny_bot.database.sql_data_classes import UserBirthday, engine
from dakiny_bot.utils import get_active_election_cycle
if TYPE_CHECKING:
import nextcord
+1 -1
View File
@@ -3,7 +3,7 @@
import nextcord
from nextcord.ext import commands
from main import birthday_list
from dakiny_bot.app import birthday_list
class SubmissionListener(commands.Cog, name="Message Listener"):
+3 -2
View File
@@ -12,8 +12,7 @@ import nextcord
from sqlalchemy import select, true, update
from sqlalchemy.orm import Session
from DakinySettings import settings
from database_setup.sql_data_classes import (
from dakiny_bot.database.sql_data_classes import (
CouncilMembers,
Messages,
Points,
@@ -22,6 +21,8 @@ from database_setup.sql_data_classes import (
engine,
)
from .DakinySettings import settings
NOMINEE_SPLITTER = "========================================\n\n"
REPO_DIR = "./dakiny-messages"
MESSAGES_DIR = f"{REPO_DIR}/messages"