Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
1 change: 1 addition & 0 deletions config.default.yml
Original file line number Diff line number Diff line change
Expand Up @@ -6,6 +6,7 @@ bot_config:
disabled_extensions: ["kanye"]
default_prefix: "."
global_alerts_channel: ""
override_owner: ""
modmail_config:
enable_modmail: False
disable_thread_creation: False
Expand Down
16 changes: 14 additions & 2 deletions techsupport_bot/bot.py
Original file line number Diff line number Diff line change
Expand Up @@ -243,7 +243,14 @@ async def log_DM(self: Self, sent_from: str, source: str, content: str) -> None:
f"{source} recieved a PM", f"PM from: {sent_from}\n{content}"
)
embed.timestamp = datetime.datetime.utcnow()
await owner.send(embed=embed)
try:
await owner.send(embed=embed)
except discord.Forbidden as exception:
await self.logger.send_log(
message="Could not DM discord bot owner",
level=LogLevel.ERROR,
exception=exception,
)

async def on_message(self: Self, message: discord.Message) -> None:
"""Logs DMs and ensure that commands are processed
Expand Down Expand Up @@ -763,7 +770,6 @@ async def is_bot_admin(self: Self, member: discord.Member) -> bool:
context=LogContext(guild=member.guild),
console_only=True,
)

owner = await self.get_owner()
if getattr(owner, "id", None) == member.id:
return True
Expand All @@ -787,6 +793,12 @@ async def get_owner(self: Self) -> discord.User | None:
Returns:
discord.User | None: The User object of the owner of the application on discords side
"""
if self.file_config.bot_config.override_owner:
self.owner = await self.fetch_user(
int(self.file_config.bot_config.override_owner)
)
return self.owner

if not self.owner:
try:
# If this isn't console only, it is a forever recursion
Expand Down
Loading