2.5 KiB

Icecast IRC Bot Documentation v1.1.0

This document is automatically generated from the codebase.

Overview

An IRC bot that monitors an Icecast stream and announces track changes.

Configuration

See config.yaml.example for a full example configuration file.

No command documentation available (help template not found)

Methods

admin_required

Decorator to mark a command as requiring admin privileges.

Arguments:

  • f: The command handler function to wrap.
  • Returns:

announce_song

Announce a song in the IRC channel.

Arguments:

  • song: The song title to announce.
  • Only announces if:

fetch_json_metadata

Fetch metadata from the Icecast JSON status endpoint.

Returns:

str: The current song title, or an error message if fetching failed.

format_help_section

Format a help section according to the template.

Arguments:

  • section_config: Configuration dictionary for the section.
  • prefix: Command prefix to use.
  • Returns:
  • List[str]: List of formatted help lines for each command.

get_version

Get the current version from VERSION file.

help_command_fallback

Fallback help command implementation using hardcoded format.

Arguments:

  • message: The IRC message object that triggered this command.

is_admin

Check if a user has admin privileges.

Arguments:

  • user: Full IRC user string (nickname!username@hostname) or User object.
  • Returns:
  • bool: True if user has admin privileges, False otherwise.

load_config

Load and validate the bot configuration from a YAML file.

Arguments:

  • config_path: Path to the YAML configuration file. If None, uses default path.
  • Returns:
  • dict: The loaded and validated configuration dictionary with default values applied.

monitor_metadata

Monitor the Icecast stream for metadata changes.

restart_monitoring

Restart the metadata monitoring task and verify the reconnection.

Returns:

bool: True if reconnection was successful and verified, False otherwise.

setup_handlers

Set up all IRC event handlers and command patterns.

should_announce_song

Check if a song should be announced based on configured ignore patterns.

Arguments:

  • song: The song title to check.
  • Returns:
  • bool: True if the song should be announced, False if it matches any ignore patterns.

start

Start the IRC bot and begin processing events.

start_monitoring

Start the metadata monitoring task.

stop_monitoring

Stop the metadata monitoring task.