Skip to content

Commit d7a3a83

Browse files
committed
updating admin command for guildmaster cli
1 parent cf4ec5f commit d7a3a83

File tree

5 files changed

+48
-11
lines changed

5 files changed

+48
-11
lines changed

.github/dependabot.yml

Lines changed: 9 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,9 @@
1+
# Set update schedule for GitHub Actions
2+
version: 2
3+
updates:
4+
5+
- package-ecosystem: "github-actions"
6+
directory: "/"
7+
schedule:
8+
# Check for updates to GitHub Actions every week
9+
interval: "weekly"

README.md

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,3 +1,3 @@
11
# GuildMaster CLI
22

3-
🚧 This repository is still in progress 🚧
3+
🚧 This repository is still in progress, and won't be complete until for a little while. 🚧

src/guildmaster/config/__init__.py

Whitespace-only changes.

src/guildmaster/config/logger.py

Lines changed: 25 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,25 @@
1+
import logging
2+
3+
class Logger:
4+
@staticmethod
5+
def setup_logger(name: str, level: int = logging.INFO) -> logging.Logger:
6+
"""
7+
Set up a logger with the specified name, log file, and logging level.
8+
9+
Args:
10+
name (str): The name of the logger.
11+
level (int): The logging level (default: logging.INFO).
12+
13+
Returns:
14+
logging.Logger: Configured logger instance.
15+
"""
16+
formatter = logging.Formatter('%(asctime)s - %(name)s - %(levelname)s - %(message)s')
17+
18+
console_handler = logging.StreamHandler()
19+
console_handler.setFormatter(formatter)
20+
21+
logger = logging.getLogger(name)
22+
logger.setLevel(level)
23+
logger.addHandler(console_handler)
24+
25+
return logger
Lines changed: 13 additions & 10 deletions
Original file line numberDiff line numberDiff line change
@@ -1,13 +1,16 @@
11
import asyncio
22
import discord
3+
from tqdm.asyncio import tqdm
4+
5+
from guildmaster.config.logger import Logger
36
from guildmaster.client.discord_client import DiscordClient
47

58
class DiscordRoleManager:
69
"""
710
A class for managing a role to every member in a Discord server.
811
"""
912
def __init__(self):
10-
pass
13+
self.logger = Logger.setup_logger(__name__)
1114

1215
def assign_to_all(self, guild: int, role: str, delay: float = 3.0):
1316
"""
@@ -23,36 +26,36 @@ def assign_to_all(self, guild: int, role: str, delay: float = 3.0):
2326

2427
@client.bot.event
2528
async def on_ready():
26-
print(f"Logged in as {client.bot.user}")
27-
print("Guilds:", client.bot.guilds)
29+
self.logger.info("Logged in as %s", client.bot.user)
2830

2931
# Fetch the guild using the provided guild ID
3032
guild_obj = client.bot.get_guild(guild)
3133
if not guild_obj:
32-
print("Guild not found. Please check your guild ID.")
34+
self.logger.error("Guild not found. Please check your guild ID.")
3335
await client.bot.close()
3436
return
3537

3638
# Retrieve the role by name
3739
role_obj = discord.utils.get(guild_obj.roles, name=role)
3840
if not role_obj:
39-
print("Role not found. Please check the role name.")
41+
self.logger.error("Role not found. Please check the role name.")
4042
await client.bot.close()
4143
return
4244

43-
print(f"Assigning role '{role_obj.name}' to all members of '{guild_obj.name}'...")
45+
self.logger.debug("Assigning role '%s' to all members of '%s'...", role, guild_obj.name)
4446

4547
# Iterate through each member and add the role if they don't have it
46-
for member in guild_obj.members:
48+
members = guild_obj.members
49+
async for member in tqdm(members, desc="Assigning roles", unit="member"):
4750
if role_obj not in member.roles:
4851
try:
4952
await member.add_roles(role_obj)
50-
print(f"Added role to {member.name}#{member.discriminator}")
53+
self.logger.debug("Added role to %s#%s", member.name, member.discriminator)
5154
await asyncio.sleep(delay)
5255
except Exception as e:
53-
print(f"Failed to add role to {member.name}#{member.discriminator}: {e}")
56+
self.logger.error("Failed to add role to %s#%s: %s", member.name, member.discriminator, e)
5457

55-
print("Finished processing all members.")
58+
self.logger.debug("Finished processing all members.")
5659
await client.bot.close()
5760

5861
client.run()

0 commit comments

Comments
 (0)