feat: Update banned user handling to support prefix matching

- Modified configuration examples to clarify that banned users are now identified by sender names using prefix matching.
- Implemented a new method in CommandManager to check if a user is banned based on prefix matching, enhancing the bot's ability to ignore messages from banned senders.
- Updated message handling logic to utilize the new prefix matching functionality for improved user management.
This commit is contained in:
agessaman
2026-01-18 20:04:50 -08:00
parent 93c4004e2d
commit abe8e57ae3
5 changed files with 17 additions and 8 deletions
+9
View File
@@ -402,6 +402,15 @@ class CommandManager:
banned = self.bot.config.get('Banned_Users', 'banned_users', fallback='')
return [user.strip() for user in banned.split(',') if user.strip()]
def is_user_banned(self, sender_id: Optional[str]) -> bool:
"""Check if sender is banned using prefix (starts-with) matching.
A banned entry "Awful Username" matches "Awful Username" and "Awful Username 🍆".
"""
if not sender_id:
return False
return any(sender_id.startswith(entry) for entry in self.banned_users)
def load_monitor_channels(self) -> List[str]:
"""Load monitored channels from config"""
channels = self.bot.config.get('Channels', 'monitor_channels', fallback='')