Compare commits
3 commits
663abf56bc
...
1dfa03bc17
| Author | SHA1 | Date | |
|---|---|---|---|
| 1dfa03bc17 | |||
| 80918f7a42 | |||
| 14be2289a9 |
2 changed files with 57 additions and 53 deletions
|
|
@ -128,7 +128,10 @@ class BaseModel(peewee.Model):
|
||||||
|
|
||||||
@classmethod
|
@classmethod
|
||||||
def bulk_update(
|
def bulk_update(
|
||||||
cls, model_list: Iterable[Self], fields: Iterable, batch_size: int | None = None
|
cls,
|
||||||
|
model_list: Iterable[Self],
|
||||||
|
fields: Iterable[peewee.Field | str],
|
||||||
|
batch_size: int | None = None,
|
||||||
):
|
):
|
||||||
def lazy(models: Iterable[Self]) -> Iterable[Self]:
|
def lazy(models: Iterable[Self]) -> Iterable[Self]:
|
||||||
now = datetime.now()
|
now = datetime.now()
|
||||||
|
|
|
||||||
|
|
@ -81,7 +81,8 @@ def setup_bot() -> commands.Bot:
|
||||||
]
|
]
|
||||||
|
|
||||||
description = "\n\n".join(
|
description = "\n\n".join(
|
||||||
" ".join(line.strip() for line in paragraph) for paragraph in desc_paragraphs
|
" ".join(line.strip() for line in paragraph.split("\n"))
|
||||||
|
for paragraph in desc_paragraphs
|
||||||
)
|
)
|
||||||
|
|
||||||
command_prefix = Environment.bot_prefix()
|
command_prefix = Environment.bot_prefix()
|
||||||
|
|
@ -110,60 +111,56 @@ def read_token_file() -> str:
|
||||||
raise e
|
raise e
|
||||||
|
|
||||||
|
|
||||||
bot = setup_bot()
|
# Note: pyright will complain about the async functions below not being accessed;
|
||||||
|
# this is a false positive, as the @bot.event decorators actually register and
|
||||||
|
# use the functions just fine. Unfortunately, it's not possible to silence the
|
||||||
@bot.event
|
# warning, so I'll have to deal with it.
|
||||||
async def on_error(event: str, *args, **kwargs):
|
#
|
||||||
|
# ruff doesn't complain, though.
|
||||||
|
def register_event_handlers(bot: commands.Bot):
|
||||||
|
@bot.event
|
||||||
|
async def on_error(event: str, *args, **kwargs):
|
||||||
_log.error(
|
_log.error(
|
||||||
f"Encountered unexpected exception while processing event {event} ({args = }; {kwargs = }):",
|
f"Encountered unexpected exception while processing event {event} ({args = }; {kwargs = }):",
|
||||||
exc_info=sys.exc_info(),
|
exc_info=sys.exc_info(),
|
||||||
)
|
)
|
||||||
|
|
||||||
|
@bot.event
|
||||||
@bot.event
|
async def on_ready():
|
||||||
async def on_ready():
|
|
||||||
_log.info("Ready: Connected to Discord")
|
_log.info("Ready: Connected to Discord")
|
||||||
|
|
||||||
|
@bot.event
|
||||||
@bot.event
|
async def on_resumed():
|
||||||
async def on_resumed():
|
|
||||||
_log.info("Resumed: Session with Discord resumed")
|
_log.info("Resumed: Session with Discord resumed")
|
||||||
|
|
||||||
|
@bot.event
|
||||||
@bot.event
|
async def on_shard_ready(shard_id: int):
|
||||||
async def on_shard_ready(shard_id: int):
|
|
||||||
_log.info(f"Ready: Shard ID {shard_id} connected to Discord")
|
_log.info(f"Ready: Shard ID {shard_id} connected to Discord")
|
||||||
|
|
||||||
|
@bot.event
|
||||||
@bot.event
|
async def on_shard_resumed(shard_id: int):
|
||||||
async def on_shard_resumed(shard_id: int):
|
|
||||||
_log.info(f"Resumed: Shard ID {shard_id} resumed session with Discord")
|
_log.info(f"Resumed: Shard ID {shard_id} resumed session with Discord")
|
||||||
|
|
||||||
|
@bot.event
|
||||||
@bot.event
|
async def on_message(message: discord.Message):
|
||||||
async def on_message(message: discord.Message):
|
|
||||||
_log.debug(f"Read message ({message.id = }): {message.content}")
|
_log.debug(f"Read message ({message.id = }): {message.content}")
|
||||||
|
|
||||||
|
@bot.event
|
||||||
@bot.event
|
async def on_command(ctx: commands.Context):
|
||||||
async def on_command(ctx: commands.Context):
|
|
||||||
_log.debug(
|
_log.debug(
|
||||||
f"Command invoked:"
|
f"Command invoked:"
|
||||||
f" {ctx.command = }; {ctx.message.author = }; {ctx.message.id = }"
|
f" {ctx.command = }; {ctx.message.author = }; {ctx.message.id = }"
|
||||||
)
|
)
|
||||||
|
|
||||||
|
@bot.event
|
||||||
@bot.event
|
async def on_command_completion(ctx: commands.Context):
|
||||||
async def on_command_completion(ctx: commands.Context):
|
|
||||||
_log.debug(
|
_log.debug(
|
||||||
f"Command completed:"
|
f"Command completed:"
|
||||||
f" {ctx.command = }; {ctx.message.author = }; {ctx.message.id = }"
|
f" {ctx.command = }; {ctx.message.author = }; {ctx.message.id = }"
|
||||||
)
|
)
|
||||||
|
|
||||||
|
@bot.event
|
||||||
@bot.event
|
async def on_command_error(ctx: commands.Context, error: commands.CommandError):
|
||||||
async def on_command_error(ctx: commands.Context, error: commands.CommandError):
|
|
||||||
_log.error(
|
_log.error(
|
||||||
f"Failed to run command:"
|
f"Failed to run command:"
|
||||||
f" {ctx.command = }; {ctx.message.author = }; {ctx.message.id = }",
|
f" {ctx.command = }; {ctx.message.author = }; {ctx.message.id = }",
|
||||||
|
|
@ -174,6 +171,10 @@ async def on_command_error(ctx: commands.Context, error: commands.CommandError):
|
||||||
async def main():
|
async def main():
|
||||||
_log.debug("Entered main()")
|
_log.debug("Entered main()")
|
||||||
|
|
||||||
|
bot = setup_bot()
|
||||||
|
|
||||||
|
register_event_handlers(bot)
|
||||||
|
|
||||||
token = read_token_file()
|
token = read_token_file()
|
||||||
|
|
||||||
async with bot:
|
async with bot:
|
||||||
|
|
|
||||||
Loading…
Add table
Reference in a new issue